--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/resign-expired Fri Jul 03 15:23:10 2009 +0200
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use strict;
+use File::Find;
+use File::Temp;
+
+$ENV{LANG} = "POSIX";
+my $vc = qq(gpg --verify);
+my $dc = qq(gpg --batch --yes --decrypt);
+my $cc = qq(gpg --batch --yes --clearsign);
+#my $expired = "Hinweis: Dieser Schlüssel ist verfallen!";
+my $expired = "Note: This key has expired!";
+
+find(\&f, qw(/home/apt/incoming/));
+
+sub f {
+
+ /\.changes$/ or return;
+ my $f = $_;
+ my $r = qx/$vc $f 2>&1/;
+ return if $?;
+ $r =~ /$expired/ || return;
+ print "Attempting to resign [$f] .. ";
+ my $t = File::Temp->new()->filename();
+ my $cmd = "$dc -o $t $f &>/dev/null";
+ open PIPE, "$cmd |" or warn "Can't open [$cmd |]: [$?] [$!]\n";
+ $cmd = "$cc -o $f $t";
+ open PIPE, "$cmd |" or warn "Can't open [$cmd |]: [$?] [$!]\n";
+ print "finished\n";
+
+}