bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

announce-gen: require perl-5.9.3


From: Jim Meyering
Subject: announce-gen: require perl-5.9.3
Date: Wed, 21 Mar 2012 09:39:10 +0100

Eric Wong wrote:
> How about using the generic Digest module instead?
>
> Something like this (totally untested) patch:
>
> diff --git a/build-aux/announce-gen b/build-aux/announce-gen
> index 3ca90a9..c453d44 100755
> --- a/build-aux/announce-gen
> +++ b/build-aux/announce-gen
> @@ -29,8 +29,7 @@ my $VERSION = '2012-01-06 07:46'; # UTC
>  use strict;
>
>  use Getopt::Long;
> -use Digest::MD5;
> -use Digest::SHA1;
> +use Digest;
>  use POSIX qw(strftime);
>
>  (my $ME = $0) =~ s|.*/||;
> @@ -151,17 +150,14 @@ sub print_checksums (@)
>    print "Here are the MD5 and SHA1 checksums:\n";
>    print "\n";
>
> -  foreach my $meth (qw (md5 sha1))
> +  foreach my $meth (qw (MD5 SHA-1))
>      {
>        foreach my $f (@file)
>          {
>            open IN, '<', $f
>              or die "$ME: $f: cannot open for reading: $!\n";
>            binmode IN;
> -          my $dig =
> -            ($meth eq 'md5'
> -             ? Digest::MD5->new->addfile(*IN)->hexdigest
> -             : Digest::SHA1->new->addfile(*IN)->hexdigest);
> +          my $dig = Digest->new($meth)->addfile(*IN)->hexdigest;

Thanks for the suggestion.
That would be better if we knew all checksum-printing
users are using new-enough Perl.  For that matter, I don't
know if any announce-gen user is even still printing MD5/SHA1
checksums.

I've just checked, and see more than a few checksum-printing announcements
in 2011, but then I confirmed that even Debian's lenny (old-stable) has
perl-5.10, which included a new-enough Digest module.  So it's probably ok.

Here's a proposed patch.
If anyone who makes announce-gen print digests is using a system
with too-old perl (predating 5.9.3), please reply here.


>From f96f5ef533bf4d719a67ff069fff8f2c1a6a5c04 Mon Sep 17 00:00:00 2001
From: Eric Wong <address@hidden>
Date: Wed, 21 Mar 2012 09:31:43 +0100
Subject: [PATCH] announce-gen: simplify checksum printing code

* build-aux/announce-gen: Simply use Digest module; drop Digest::MD5.
(print_checksums): Simplify.
Copyright-paperwork-exempt: Yes
---
 ChangeLog              |    6 ++++++
 build-aux/announce-gen |   13 ++++---------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0076e06..1800e98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-03-21  Eric Wong  <address@hidden>  (tiny change)
+
+       announce-gen: simplify checksum printing code
+       * build-aux/announce-gen: Simply use Digest module; drop Digest::MD5.
+       (print_checksums): Simplify.
+
 2012-03-20  Reuben Thomas  <address@hidden>

        announce-gen: use Digest::SHA when possible
diff --git a/build-aux/announce-gen b/build-aux/announce-gen
index b9c9360..bb416b1 100755
--- a/build-aux/announce-gen
+++ b/build-aux/announce-gen
@@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Generate a release announcement message.

-my $VERSION = '2012-03-20 23:17'; # UTC
+my $VERSION = '2012-03-21 08:22'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
@@ -29,9 +29,7 @@ my $VERSION = '2012-03-20 23:17'; # UTC
 use strict;

 use Getopt::Long;
-use Digest::MD5;
-eval { require Digest::SHA; }
-  or eval { use Digest::SHA1; };
+use Digest;
 use POSIX qw(strftime);

 (my $ME = $0) =~ s|.*/||;
@@ -152,17 +150,14 @@ sub print_checksums (@)
   print "Here are the MD5 and SHA1 checksums:\n";
   print "\n";

-  foreach my $meth (qw (md5 sha1))
+  foreach my $meth (qw (MD5 SHA-1))
     {
       foreach my $f (@file)
         {
           open IN, '<', $f
             or die "$ME: $f: cannot open for reading: $!\n";
           binmode IN;
-          my $dig =
-            ($meth eq 'md5'
-             ? Digest::MD5->new->addfile(*IN)->hexdigest
-             : Digest::SHA1->new->addfile(*IN)->hexdigest);
+          my $dig = Digest->new($meth)->addfile(*IN)->hexdigest;
           close IN;
           print "$dig  $f\n";
         }
--
1.7.10.rc1.23.g16a10



reply via email to

[Prev in Thread] Current Thread [Next in Thread]