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");