prm 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/prm.rb +2 -0
  2. data/prm/repo.rb +14 -2
  3. metadata +3 -3
data/prm.rb CHANGED
@@ -12,6 +12,7 @@ opts = Trollop::options do
12
12
  opt :component, "Component name for repository (Multi component supported by comma)", :type => :string, :required => :true, :short => "-c"
13
13
  opt :release, "Release name for repository (Multi release supported by comma)", :type => :string, :required => true, :short => "-r"
14
14
  opt :arch, "Architecture for repository (Multi arch supported by comma)", :type => :string, :require => true, :short => "-a"
15
+ opt :gpg, "Sign release files with a GPG key (Expects GPG key to be available)", :default => false
15
16
  opt :generate, "Create new repository", :short => "-g"
16
17
  end
17
18
 
@@ -24,6 +25,7 @@ r.release = opts[:release]
24
25
  r.arch = opts[:arch]
25
26
  r.type = opts[:type]
26
27
  r.path = opts[:path]
28
+ r.gpg = opts[:gpg]
27
29
 
28
30
  if opts[:generate]
29
31
  r.create
data/prm/repo.rb CHANGED
@@ -6,7 +6,7 @@ require 'peach'
6
6
  require 'erb'
7
7
 
8
8
  module Debian
9
- def build_apt_repo(path, component, arch, release)
9
+ def build_apt_repo(path, component, arch, release, gpg)
10
10
  release.each { |r|
11
11
  component.each { |c|
12
12
  arch.each { |a|
@@ -23,6 +23,10 @@ module Debian
23
23
  }
24
24
  }
25
25
  generate_release(path,r,component,arch)
26
+
27
+ if gpg == true
28
+ generate_release_gpg(path,r)
29
+ end
26
30
  }
27
31
  end
28
32
 
@@ -111,6 +115,13 @@ module Debian
111
115
  release_file.puts erb
112
116
  release_file.close
113
117
  end
118
+
119
+ # We expect that GPG is installed and a key has already been made
120
+ def generate_release_gpg(path,release)
121
+ Dir.chdir("#{path}/dists/#{release}") do
122
+ system "gpg --yes --output Release.gpg -ba Release"
123
+ end
124
+ end
114
125
  end
115
126
 
116
127
  class PRM
@@ -122,12 +133,13 @@ class PRM
122
133
  attr_accessor :component
123
134
  attr_accessor :arch
124
135
  attr_accessor :release
136
+ attr_accessor :gpg
125
137
 
126
138
  def create
127
139
  parch,pcomponent,prelease = _parse_vars(arch,component,release)
128
140
 
129
141
  if "#{@type}" == "deb"
130
- build_apt_repo(path,pcomponent,parch,prelease)
142
+ build_apt_repo(path,pcomponent,parch,prelease,gpg)
131
143
  elsif "#{@type}" == "rpm"
132
144
  # add rpm stuff here
133
145
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brett Gailey