This is an automated email from the git hooks/post-receive script.

agwa-guest pushed a commit to branch master
in repository strip-nondeterminism.

commit 4e0fac1434acc58869cd5441cc1a58caa7c3b9f9
Author: Andrew Ayer <a...@andrewayer.name>
Date:   Sat Sep 13 21:28:20 2014 -0700

    Use object-oriented File::Temp interface
---
 lib/StripNondeterminism/handlers/gzip.pm    | 18 ++++++++++--------
 lib/StripNondeterminism/handlers/javadoc.pm | 15 ++++++++-------
 2 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/lib/StripNondeterminism/handlers/gzip.pm 
b/lib/StripNondeterminism/handlers/gzip.pm
index aa905e4..ca09ad0 100644
--- a/lib/StripNondeterminism/handlers/gzip.pm
+++ b/lib/StripNondeterminism/handlers/gzip.pm
@@ -21,7 +21,7 @@ package StripNondeterminism::handlers::gzip;
 use strict;
 use warnings;
 
-use File::Temp qw/tempfile/;
+use File::Temp;
 use File::Basename;
 
 use constant {
@@ -36,7 +36,6 @@ sub normalize {
        my ($filename) = @_;
 
        open(my $fh, '<', $filename) or die "Unable to open $filename for 
reading: $!";
-       my ($out_fh, $out_filename) = tempfile(DIR => dirname($filename), 
UNLINK => 1);
 
        # See RFC 1952
 
@@ -58,8 +57,10 @@ sub normalize {
        $mtime = 0;             # Zero out mtime (this is what `gzip -n` does)
        # TODO: question: normalize some of the other fields, such as OS?
 
+       my $tempfile = File::Temp->new(DIR => dirname($filename));
+
        # Write a new header
-       print $out_fh pack('CCCCl<CC', $id1, $id2, $cm, $new_flg, $mtime, $xfl, 
$os);
+       print $tempfile pack('CCCCl<CC', $id1, $id2, $cm, $new_flg, $mtime, 
$xfl, $os);
 
        if ($flg & FEXTRA) {    # Copy through
                # 0   1   2
@@ -70,7 +71,7 @@ sub normalize {
                read($fh, $buf, 2) == 2 or die "$filename: Malformed gzip file";
                my ($xlen) = unpack('v', $buf);
                read($fh, $buf, $xlen) == $xlen or die "$filename: Malformed 
gzip file";
-               print $out_fh pack('vA*', $xlen, $buf);
+               print $tempfile pack('vA*', $xlen, $buf);
        }
        if ($flg & FNAME) {     # Read but do not copy through
                # 0
@@ -91,7 +92,7 @@ sub normalize {
                while (1) {
                        my $buf;
                        read($fh, $buf, 1) == 1 or die "$filename: Malformed 
gzip file";
-                       print $out_fh $buf;
+                       print $tempfile $buf;
                        last if ord($buf) == 0;
                }
        }
@@ -111,12 +112,13 @@ sub normalize {
                my $buf;
                my $bytes_read = read($fh, $buf, 4096);
                defined($bytes_read) or die "$filename: read failed: $!";
-               print $out_fh $buf;
+               print $tempfile $buf;
                last if $bytes_read == 0;
        }
 
-       chmod((stat($fh))[2] & 07777, $out_filename);
-       rename($out_filename, $filename) or die "$filename: unable to 
overwrite: rename: $!";
+       chmod((stat($fh))[2] & 07777, $tempfile->filename);
+       rename($tempfile->filename, $filename) or die "$filename: unable to 
overwrite: rename: $!";
+       $tempfile->unlink_on_destroy(0);
 
        return 1;
 }
diff --git a/lib/StripNondeterminism/handlers/javadoc.pm 
b/lib/StripNondeterminism/handlers/javadoc.pm
index 4805432..41b020d 100644
--- a/lib/StripNondeterminism/handlers/javadoc.pm
+++ b/lib/StripNondeterminism/handlers/javadoc.pm
@@ -21,7 +21,7 @@ package StripNondeterminism::handlers::javadoc;
 use strict;
 use warnings;
 
-use File::Temp qw/tempfile/;
+use File::Temp;
 use File::Basename;
 
 sub is_javadoc_file {
@@ -37,29 +37,30 @@ sub normalize {
        my ($filename) = @_;
 
        open(my $fh, '<', $filename) or die "Unable to open $filename for 
reading: $!";
-       my ($out_fh, $out_filename) = tempfile(DIR => dirname($filename), 
UNLINK => 1);
+       my $tempfile = File::Temp->new(DIR => dirname($filename));
 
        # Strip the javadoc comment, which contains a timestamp.
        # It should appear within first 10 lines.
        while (defined(my $line = <$fh>) && $. <= 10) {
                if ($line =~ /\<!-- Generated by javadoc .* --\>/) {
                        $line =~ s/\<!-- Generated by javadoc .* --\>//g;
-                       print $out_fh $line unless $line =~ /^\s*$/; # elide 
lines that are now whitespace-only
+                       print $tempfile $line unless $line =~ /^\s*$/; # elide 
lines that are now whitespace-only
 
                        # Copy through rest of file
                        my $bytes_read;
                        my $buf;
                        while ($bytes_read = read($fh, $buf, 4096)) {
-                               print $out_fh $buf;
+                               print $tempfile $buf;
                        }
                        defined($bytes_read) or die "$filename: read failed: 
$!";
 
                        # Rename temporary file over the file
-                       chmod((stat($fh))[2] & 07777, $out_filename);
-                       rename($out_filename, $filename) or die "$filename: 
unable to overwrite: rename: $!";
+                       chmod((stat($fh))[2] & 07777, $tempfile->filename);
+                       rename($tempfile->filename, $filename) or die 
"$filename: unable to overwrite: rename: $!";
+                       $tempfile->unlink_on_destroy(0);
                        return 1;
                }
-               print $out_fh $line;
+               print $tempfile $line;
        }
 
        return 0;

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/reproducible/strip-nondeterminism.git

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to