]> err.no Git - dak/commitdiff
debianqueued: use Digest::MD5 instead of external md5sum binary
authorAnsgar Burchardt <ansgar@debian.org>
Thu, 6 Dec 2012 10:47:10 +0000 (11:47 +0100)
committerAnsgar Burchardt <ansgar@debian.org>
Thu, 6 Dec 2012 10:48:02 +0000 (11:48 +0100)
tools/debianqueued-0.9/debianqueued

index 393f0a0f1322f9685bb4e8b4d960bf9da907c79a..776fffea3f79f09723476c390a0cfd9f2f5bcb18 100755 (executable)
@@ -23,6 +23,7 @@ use Socket qw( PF_INET AF_INET SOCK_STREAM );
 use Config;
 use Sys::Hostname;
 use File::Copy;
+use Digest::MD5;
 
 setlocale(&POSIX::LC_ALL, "C");
 
@@ -2212,14 +2213,12 @@ sub rm(@) {
 #
 sub md5sum($) {
   my $file = shift;
-  my $line;
-
-  chomp( $line = `$conf::md5sum $file` );
-  debug( "md5sum($file): ",
-           $? ? "exit status $?"
-         : $line =~ /^(\S+)/ ? $1
-         :                     "match failed" );
-  return $? ? "" : $line =~ /^(\S+)/ ? $1 : "";
+
+  open my $fh, "<", $file or return "";
+  my $md5 = $md5->addfile($fh);
+  close $fh;
+
+  return $md5->hexdigest;
 } ## end sub md5sum($)
 
 #