X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=maint%2Frelease.pm;h=33f64d7e6886365db4830e26d5bb4b21601a7947;hb=52097446c2dcac123f4ff040a15a07acdbe2b11f;hp=b0fa46ee1ec5676f8a46fd79bd476b98de930838;hpb=a2bf30a4fd407c55e8172e2f6fd158725ccb90b6;p=pciutils.git diff --git a/maint/release.pm b/maint/release.pm index b0fa46e..33f64d7 100644 --- a/maint/release.pm +++ b/maint/release.pm @@ -1,6 +1,6 @@ #!/usr/bin/perl # A simple system for making software releases -# (c) 2003--2006 Martin Mares +# (c) 2003--2011 Martin Mares package UCW::Release; use strict; @@ -16,6 +16,7 @@ sub new($$) { "rules" => [ # p=preprocess, s=subst, -=discard '(^|/)(CVS|\.arch-ids|{arch}|\.git|tmp)/' => '-', + '\.sw[a-z]$' => '-', '\.(lsm|spec)$' => 'ps', '(^|/)README$' => 's' ], @@ -27,14 +28,15 @@ sub new($$) { "LSMDATE" => `date '+%y%m%d' | tr -d '\n'`, "distfiles" => [ ], - "archivedir" => "/home/mj/tmp/archives/$basename", + "archivedir" => $ENV{HOME} . "/archives/sw/$basename", "uploads" => [ ], # Options "do_test" => 1, "do_patch" => 1, "diff_against" => "", - "do_upload" => 1 + "do_upload" => 1, + "do_sign" => 1, }; bless $s; return $s; @@ -198,6 +200,14 @@ sub GenPackage($) { `cd $dd && tar cz${tarvv}f $pkg.tar.gz $pkg >&2`; die if $?; push @{$s->{"distfiles"}}, "$dd/$pkg.tar.gz"; + if ($s->{'do_sign'}) { + print "Signing package\n"; + system "gpg", "--armor", "--detach-sig", "$dd/$pkg.tar.gz"; + die if $?; + rename "$dd/$pkg.tar.gz.asc", "$dd/$pkg.tar.gz.sign" or die "No signature produced!?\n"; + push @{$s->{"distfiles"}}, "$dd/$pkg.tar.gz.sign"; + } + my $adir = $s->{"archivedir"}; my $afile = "$adir/$pkg.tar.gz"; print "Archiving to $afile\n"; @@ -223,8 +233,9 @@ sub ParseOptions($) { "test!" => \$s->{"do_test"}, "patch!" => \$s->{"do_patch"}, "diff-against=s" => \$s->{"diff_against"}, - "upload!" => \$s->{"do_upload"} - ) || die "Syntax: release [--verbose] [--test] [--nopatch] [--diff-against=] [--noupload]"; + "upload!" => \$s->{"do_upload"}, + "sign!" => \$s->{"do_sign"}, + ) || die "Syntax: release [--verbose] [--test] [--nopatch] [--diff-against=] [--noupload] [--nosign]"; } sub Test($) {