bin/resign-expired
branchdist
changeset 0 98411ab74262
--- /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";
+
+}