dr 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/bin/dr CHANGED
@@ -17,7 +17,7 @@ class ExtendedThor < Thor
17
17
  include Dr::Logger
18
18
 
19
19
  def get_repo_handle
20
- if @conf == nil
20
+ unless @conf
21
21
  @conf = Dr::Config.new ["/etc/dr.conf", "~/.dr.conf"]
22
22
  end
23
23
 
data/lib/dr/debpackage.rb CHANGED
@@ -23,6 +23,9 @@ module Dr
23
23
 
24
24
  log :info, "Adding a build to the #{src_name.fg "blue"} source package"
25
25
 
26
+ log :info, "Signing the deb file"
27
+ repo.sign_deb deb_file
28
+
26
29
  FileUtils.mkdir_p deb_dir
27
30
  FileUtils.cp "#{deb_file}", "#{deb_dir}/"
28
31
  end
data/lib/dr/gitpackage.rb CHANGED
@@ -163,6 +163,9 @@ EOS
163
163
  FileUtils.mkdir_p build_dir
164
164
  debs.each do |pkg|
165
165
  FileUtils.cp pkg, build_dir
166
+
167
+ log :info, "Signing the #{File.basename(pkg).fg("blue")} package"
168
+ @repo.sign_deb "#{build_dir}/#{File.basename(pkg)}"
166
169
  end
167
170
  end
168
171
  end
data/lib/dr/gnupg.rb CHANGED
@@ -59,7 +59,11 @@ END
59
59
  key
60
60
  end
61
61
 
62
- def get_id
62
+ def get_key_id(key)
63
+ cmd = "gpg --homedir #{@keyring} --with-colons --list-public-keys #{key}"
64
+ gpg = ShellCmd.new cmd, :tag => "gpg"
65
+
66
+ gpg.out.lines.grep(/^pub/)[0].split(":")[9]
63
67
  end
64
68
 
65
69
  def export_pub(key, location)
data/lib/dr/repo.rb CHANGED
@@ -289,7 +289,25 @@ module Dr
289
289
  Dir["#{@location}/packages/#{pkg.name}/builds/#{version}/*"]
290
290
  end
291
291
 
292
+ def sign_deb(deb)
293
+ keyring = "#{@location}/gnupg-keyring"
294
+ gpg = GnuPG.new keyring
295
+ key_id = gpg.get_key_id get_key
296
+
297
+ cmd = "dpkg-sig -k '#{key_id}' -s builder -g '--homedir #{keyring}' #{deb}"
298
+ ShellCmd.new cmd, :tag => "dpkg-sig", :show_out => true
299
+ end
300
+
292
301
  private
302
+ def get_key
303
+ File.open "#{@location}/archive/conf/distributions", "r" do |f|
304
+ f.each_line do |line|
305
+ m = line.match /^SignWith: (.+)/
306
+ return m.captures[0] if m
307
+ end
308
+ end
309
+ end
310
+
293
311
  def is_used?(pkg_name, version=nil)
294
312
  versions_by_suite = get_subpackage_versions pkg_name
295
313
  versions_by_suite.inject(false) do |rslt, hash_pair|
data/lib/dr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dr
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-04 00:00:00.000000000 Z
12
+ date: 2014-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor