Package: dpkg-sig
Version: 0.13
Severity: wishlist
Tags: patch

Dear Marc!

I know I can do this with debsign, but dpkg-sig has many advantages:
- it can hash the passphrase
- it can work on many changes file at once

So I would ask to add an option to sign only .dsc and .changes files
(if it is asked for with --sign_changes).

I added a --nosignbin option which does this. Ok not perfect, it could
warn if --nosignbin is given and not --sign_changes etc, but it works,
see attached patch.

Best wishes

Norbert


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (10, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-rc6-mm1
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages dpkg-sig depends on:
ii  gnupg                         1.4.2.2-1  GNU privacy guard - a free PGP rep
ii  libconfigfile-perl            1.2.1      Parses simple configuration files
ii  perl [libdigest-md5-perl]     5.8.8-3    Larry Wall's Practical Extraction 

dpkg-sig recommends no packages.

-- no debconf information
--- dpkg-sig.orig       2006-03-14 12:24:12.000000000 +0100
+++ dpkg-sig    2006-03-14 12:22:48.000000000 +0100
@@ -52,7 +52,7 @@
     %part_cache, $check_v2_sig, $check_v3_sig, $batch, $gpgoptions, 
     $passphrase, $remote_dpkg_sig, %ssh_connections, $sign_changes, 
     $get_hashes, $sign_hashes, $write_signature, $help, $DEBUG, 
-       $verify_pattern, $remote_ssh_port);
+       $verify_pattern, $remote_ssh_port, $nosignbin);
 
 my @configfiles = qw(/etc/devscripts.conf ~/.devscripts);
 
@@ -133,8 +133,12 @@
                if ($file =~ /\.deb$/) { #Yay! That's easy!
                        print "Processing $file...\n";
                        if ($sign) {
-                               sign_deb($sign, $file);
-                               print "Signed deb $file\n" if ! $batch;
+                           if ($nosignbin) {
+                                       print "Skipping deb $file\n" if ! 
$batch;
+                               } else {
+                                       sign_deb($sign, $file);
+                                       print "Signed deb $file\n" if ! $batch;
+                               }
                        } elsif ($verify || $verify_role || $verify_exact) {
                                my @verify_output = verify_deb($file, 
$verify_pattern);
                                print @verify_output;
@@ -173,9 +177,13 @@
                                print "Processing $deb...\n";
                                
                                if ($sign) {
-                                       my $r = sign_deb($sign, $deb);
-                                       $new_debs{$r->[2]} = $r;
-                                       print "Signed deb $deb\n" if ! $batch;
+                                   if ($nosignbin) {
+                                           print "Skipping deb $deb\n" if ! 
$batch;
+                                       } else {
+                                           my $r = sign_deb($sign, $deb);
+                                           $new_debs{$r->[2]} = $r;
+                                           print "Signed deb $deb\n" if ! 
$batch;
+                                   }
                                } elsif ($verify || $verify_role || 
$verify_exact) {
                                        my @verify_output = verify_deb($deb, 
$verify_pattern);
                                        print @verify_output;
@@ -1832,6 +1840,7 @@
                                 "gpg-options|g=s" => \$gpgoptions,
                                 "remote-dpkg-sig|r=s" => \$remote_dpkg_sig,
                                                         "remote-ssh-port|o=i" 
=> \$remote_ssh_port,
+                                                        "nosignbin" => 
\$nosignbin,
                                );
        $check_v2_sig = ($check_v2_sig && $check_v2_sig eq "false"?0:"yes");
        $check_v3_sig = ($check_v3_sig && $check_v3_sig eq "false"?0:"yes");

Reply via email to