CVS dpkg md5sum fix
Hi,
Here is another fix. Some dpkg scripts fail because newer md5sum adds
trailing "-" to the output.
Index: scripts/dpkg-genchanges.pl
===================================================================
RCS file: /cvs/dpkg/dpkg/scripts/dpkg-genchanges.pl,v
retrieving revision 1.14
diff -u -r1.14 dpkg-genchanges.pl
--- scripts/dpkg-genchanges.pl 2001/06/20 16:30:15 1.14
+++ scripts/dpkg-genchanges.pl 2001/12/31 14:02:13
@@ -321,9 +321,10 @@
(@s=stat(STDIN)) || &syserr("cannot fstat upload file $uf");
$size= $s[7]; $size || &warn("upload file $uf is empty");
$md5sum=`md5sum`; $? && subprocerr("md5sum upload file $uf");
- $md5sum =~ m/^([0-9a-f]{32})\s*$/i ||
+ chomp($md5sum);
+ $md5sum =~ s/ *-$//; # Remove trailing spaces and -, to work with GNU md5sum
+ $md5sum =~ m/^[0-9a-f]{32}$/ ||
&failure("md5sum upload file $uf gave strange output \`$md5sum'");
- $md5sum= $1;
defined($md5sum{$f}) && $md5sum{$f} ne $md5sum &&
&error("md5sum of source file $uf ($md5sum) is different from md5sum in $dsc".
" ($md5sum{$f})");
Index: scripts/dpkg-scanpackages.pl
===================================================================
RCS file: /cvs/dpkg/dpkg/scripts/dpkg-scanpackages.pl,v
retrieving revision 1.10
diff -u -r1.10 dpkg-scanpackages.pl
--- scripts/dpkg-scanpackages.pl 2001/06/20 16:30:15 1.10
+++ scripts/dpkg-scanpackages.pl 2001/12/31 14:02:14
@@ -102,6 +102,7 @@
open(C,"md5sum <$fn |") || die "$fn $!";
chop($_=<C>); close(C); $? and die "\`md5sum < $fn' exited with $?\n";
+ s/ *-$//; # Remove trailing spaces and -, to work with GNU md5sum
/^[0-9a-f]{32}$/ or die "Strange text from \`md5sum < $fn': \`$_'\n";
$tv{'MD5sum'}= $_;
Index: scripts/dpkg-scansources.pl
===================================================================
RCS file: /cvs/dpkg/dpkg/scripts/dpkg-scansources.pl,v
retrieving revision 1.5
diff -u -r1.5 dpkg-scansources.pl
--- scripts/dpkg-scansources.pl 2000/11/24 16:01:12 1.5
+++ scripts/dpkg-scansources.pl 2001/12/31 14:02:14
@@ -285,6 +285,7 @@
exec 'md5sum' or xdie "can't exec md5sum:";
}
chomp($md5 = join '', <MD5>);
+ $md5 =~ s/ *-$//; # Remove trailing spaces and -, to work with GNU md5sum
unless (close MD5) {
xwarn_noerror close_msg 'md5sum';
return;
Index: scripts/dpkg-source.pl
===================================================================
RCS file: /cvs/dpkg/dpkg/scripts/dpkg-source.pl,v
retrieving revision 1.26
diff -u -r1.26 dpkg-source.pl
--- scripts/dpkg-source.pl 2001/07/17 15:03:55 1.26
+++ scripts/dpkg-source.pl 2001/12/31 14:02:15
@@ -1071,7 +1071,9 @@
$size= (stat _)[7];
my $md5sum= `md5sum <$filename`;
$? && &subprocerr("md5sum $filename");
- $md5sum =~ s/^([0-9a-f]{32})\n$/$1/ || &failure("md5sum gave bogus output \`$_'");
+ chomp($md5sum);
+ $md5sum =~ s/ *-$//; # Remove trailing spaces and -, to work with GNU md5sum
+ $md5sum =~ m/^[0-9a-f]{32}$/ || &failure("md5sum gave bogus output \`$_'");
$f{'Files'}.= "\n $md5sum $size $filename";
}
--
YAEGASHI Takeshi <t@keshi.org> <takeshi@yaegashi.jp> <yaegashi@dodes.org>
Reply to: