[strip-nondeterminism] 03/03: Run perltidy -b **/*.pm bin/* Makefile.PL && rm **/*.bak

Chris Lamb chris at chris-lamb.co.uk
Fri Sep 23 20:24:32 UTC 2016


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

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

commit d1126e4a8a177b7067ba22c29eeef152ba5eaafe
Author: Chris Lamb <lamby at debian.org>
Date:   Fri Sep 23 22:24:08 2016 +0200

    Run perltidy -b **/*.pm bin/* Makefile.PL && rm **/*.bak
    
    Signed-off-by: Chris Lamb <lamby at debian.org>
---
 bin/dh_strip_nondeterminism                        |  7 ++-
 bin/strip-nondeterminism                           | 24 +++++---
 lib/File/StripNondeterminism.pm                    | 54 ++++++++++++------
 lib/File/StripNondeterminism/handlers/ar.pm        | 16 ++++--
 lib/File/StripNondeterminism/handlers/gettext.pm   | 21 ++++---
 lib/File/StripNondeterminism/handlers/gzip.pm      | 25 ++++++---
 lib/File/StripNondeterminism/handlers/jar.pm       | 64 +++++++++++++---------
 lib/File/StripNondeterminism/handlers/javadoc.pm   | 32 +++++++----
 .../StripNondeterminism/handlers/javaproperties.pm | 27 +++++----
 .../StripNondeterminism/handlers/pearregistry.pm   |  7 ++-
 lib/File/StripNondeterminism/handlers/png.pm       | 25 ++++++---
 lib/File/StripNondeterminism/handlers/zip.pm       | 58 +++++++++++++-------
 12 files changed, 232 insertions(+), 128 deletions(-)

diff --git a/bin/dh_strip_nondeterminism b/bin/dh_strip_nondeterminism
index 32ca085..1fa7830 100755
--- a/bin/dh_strip_nondeterminism
+++ b/bin/dh_strip_nondeterminism
@@ -45,6 +45,7 @@ things to exclude.
 init();
 
 my @nondeterministic_files;
+
 sub testfile {
 	return if -l $_ or -d $_; # Skip directories and symlinks always.
 
@@ -70,7 +71,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 	find(\&testfile,$tmp);
 	next unless @nondeterministic_files;
 
-	$File::StripNondeterminism::canonical_time = eval { get_source_date_epoch() };
+	$File::StripNondeterminism::canonical_time
+	  = eval { get_source_date_epoch() };
 	if (not defined $File::StripNondeterminism::canonical_time) {
 		# Hack for old versions of debhelper
 		isnative($package); # Sets $dh{DATE} as a side-effect
@@ -79,7 +81,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 
 	foreach (@nondeterministic_files) {
 		my ($path, $normalize) = @$_;
-		eval { $normalize->($path); 1 } or die "dh_strip_nondeterminism: $path: $@";
+		eval { $normalize->($path); 1 }
+		  or die "dh_strip_nondeterminism: $path: $@";
 	}
 }
 
diff --git a/bin/strip-nondeterminism b/bin/strip-nondeterminism
index 134c8ce..463fcb8 100755
--- a/bin/strip-nondeterminism
+++ b/bin/strip-nondeterminism
@@ -28,16 +28,19 @@ Getopt::Long::Configure(qw(no_ignore_case permute bundling));
 
 my $cmd = $0;
 $cmd =~ s/.*\///;
-my $usage = "Usage: $cmd [-t|--type FILETYPE] [-T|--timestamp SECONDS] [--clamp-timestamp] FILENAME\n";
+my $usage
+  = "Usage: $cmd [-t|--type FILETYPE] [-T|--timestamp SECONDS] [--clamp-timestamp] FILENAME\n";
 
 my ($filetype, $timestamp, $clamp_timestamp, $want_help, $want_version);
 my $getopt = Getopt::Long::Parser->new;
 $getopt->configure(qw(no_ignore_case permute bundling));
-$getopt->getoptions('type|t=s', \$filetype,
-		    'timestamp|T=i', \$timestamp,
-		    'clamp-timestamp!', \$clamp_timestamp,
-		    'help|h', \$want_help,
-		    'version|V', \$want_version) or die $usage;
+$getopt->getoptions(
+	'type|t=s', \$filetype,
+	'timestamp|T=i', \$timestamp,
+	'clamp-timestamp!', \$clamp_timestamp,
+	'help|h', \$want_help,
+	'version|V', \$want_version
+) or die $usage;
 
 if ($want_help) {
 	print $usage;
@@ -61,14 +64,17 @@ for my $filename (@ARGV) {
 
 	my $normalizer;
 	if (defined $filetype) {
-		$normalizer = File::StripNondeterminism::get_normalizer_by_name($filetype);
+		$normalizer
+		  = File::StripNondeterminism::get_normalizer_by_name($filetype);
 		die "$filetype: Unknown file type\n" unless $normalizer;
 	} else {
-		$normalizer = File::StripNondeterminism::get_normalizer_for_file($filename);
+		$normalizer
+		  = File::StripNondeterminism::get_normalizer_for_file($filename);
 		next unless $normalizer;
 	}
 
-	eval { $normalizer->($filename); 1 } or die "strip-nondeterminism: $filename: $@";
+	eval { $normalizer->($filename); 1 }
+	  or die "strip-nondeterminism: $filename: $@";
 }
 
 __END__
diff --git a/lib/File/StripNondeterminism.pm b/lib/File/StripNondeterminism.pm
index a5c218f..8648a3c 100644
--- a/lib/File/StripNondeterminism.pm
+++ b/lib/File/StripNondeterminism.pm
@@ -43,9 +43,9 @@ sub init {
 
 sub _get_file_type {
 	my $file=shift;
-	open (FILE, '-|') # handle all filenames safely
-		|| exec('file', $file)
-		|| die "can't exec file: $!";
+	open(FILE, '-|') # handle all filenames safely
+	  || exec('file', $file)
+	  || die "can't exec file: $!";
 	my $type=<FILE>;
 	close FILE;
 	return $type;
@@ -69,15 +69,21 @@ sub get_normalizer_for_file {
 		return \&File::StripNondeterminism::handlers::gzip::normalize;
 	}
 	# jar
-	if (m/\.(jar|war|hpi|apk)$/ && _get_file_type($_) =~ m/(Java|Zip) archive data/) {
+	if (m/\.(jar|war|hpi|apk)$/
+		&& _get_file_type($_) =~ m/(Java|Zip) archive data/) {
 		return \&File::StripNondeterminism::handlers::jar::normalize;
 	}
 	# javadoc
-	if (m/\.html$/ && File::StripNondeterminism::handlers::javadoc::is_javadoc_file($_)) {
+	if (m/\.html$/
+		&& File::StripNondeterminism::handlers::javadoc::is_javadoc_file($_)) {
 		return \&File::StripNondeterminism::handlers::javadoc::normalize;
 	}
 	# pear registry
-	if (m/\.reg$/ && File::StripNondeterminism::handlers::pearregistry::is_registry_file($_)) {
+	if (
+		m/\.reg$/
+		&& File::StripNondeterminism::handlers::pearregistry::is_registry_file(
+			$_)
+	  ) {
 		return \&File::StripNondeterminism::handlers::pearregistry::normalize;
 	}
 	# PNG
@@ -85,11 +91,17 @@ sub get_normalizer_for_file {
 		return \&File::StripNondeterminism::handlers::png::normalize;
 	}
 	# pom.properties, version.properties
-	if (m/\.properties$/ && File::StripNondeterminism::handlers::javaproperties::is_java_properties_file($_)) {
-		return \&File::StripNondeterminism::handlers::javaproperties::normalize;
+	if (
+		m/\.properties$/
+		&& File::StripNondeterminism::handlers::javaproperties::is_java_properties_file(
+			$_)
+	  ) {
+		return
+		  \&File::StripNondeterminism::handlers::javaproperties::normalize;
 	}
 	# zip
-	if (m/\.(zip|pk3|epub|whl|xpi|htb|zhfst)$/ && _get_file_type($_) =~ m/Zip archive data|EPUB document/) {
+	if (m/\.(zip|pk3|epub|whl|xpi|htb|zhfst)$/
+		&& _get_file_type($_) =~ m/Zip archive data|EPUB document/) {
 		return \&File::StripNondeterminism::handlers::zip::normalize;
 	}
 	return undef;
@@ -98,14 +110,22 @@ sub get_normalizer_for_file {
 sub get_normalizer_by_name {
 	$_ = shift;
 	return \&File::StripNondeterminism::handlers::ar::normalize if $_ eq 'ar';
-	return \&File::StripNondeterminism::handlers::gettext::normalize if $_ eq 'gettext';
-	return \&File::StripNondeterminism::handlers::gzip::normalize if $_ eq 'gzip';
-	return \&File::StripNondeterminism::handlers::jar::normalize if $_ eq 'jar';
-	return \&File::StripNondeterminism::handlers::javadoc::normalize if $_ eq 'javadoc';
-	return \&File::StripNondeterminism::handlers::pearregistry::normalize if $_ eq 'pearregistry';
-	return \&File::StripNondeterminism::handlers::png::normalize if $_ eq 'png';
-	return \&File::StripNondeterminism::handlers::javaproperties::normalize if $_ eq 'javaproperties';
-	return \&File::StripNondeterminism::handlers::zip::normalize if $_ eq 'zip';
+	return \&File::StripNondeterminism::handlers::gettext::normalize
+	  if $_ eq 'gettext';
+	return \&File::StripNondeterminism::handlers::gzip::normalize
+	  if $_ eq 'gzip';
+	return \&File::StripNondeterminism::handlers::jar::normalize
+	  if $_ eq 'jar';
+	return \&File::StripNondeterminism::handlers::javadoc::normalize
+	  if $_ eq 'javadoc';
+	return \&File::StripNondeterminism::handlers::pearregistry::normalize
+	  if $_ eq 'pearregistry';
+	return \&File::StripNondeterminism::handlers::png::normalize
+	  if $_ eq 'png';
+	return \&File::StripNondeterminism::handlers::javaproperties::normalize
+	  if $_ eq 'javaproperties';
+	return \&File::StripNondeterminism::handlers::zip::normalize
+	  if $_ eq 'zip';
 	return undef;
 }
 
diff --git a/lib/File/StripNondeterminism/handlers/ar.pm b/lib/File/StripNondeterminism/handlers/ar.pm
index f70245b..660fa8f 100644
--- a/lib/File/StripNondeterminism/handlers/ar.pm
+++ b/lib/File/StripNondeterminism/handlers/ar.pm
@@ -37,7 +37,7 @@ sub normalize {
 	my $buf;
 
 	open(my $fh, '+<', $file)
-		or die("failed to open $file for read+write: $!");
+	  or die("failed to open $file for read+write: $!");
 
 	read $fh, $buf, $GLOBAL_HEADER_LENGTH;
 	return 0 if $buf ne $GLOBAL_HEADER;
@@ -59,26 +59,30 @@ sub normalize {
 		#58     59     File magic                \140\012
 
 		die "Incorrect header length"
-		if length $buf != $FILE_HEADER_LENGTH;
+		  if length $buf != $FILE_HEADER_LENGTH;
 		die "Incorrect file magic"
-		if substr($buf, 58, length($FILE_MAGIC)) ne $FILE_MAGIC;
+		  if substr($buf, 58, length($FILE_MAGIC)) ne $FILE_MAGIC;
 
 		my $file_mode = oct(substr($buf, 40, 8));
 		my $file_size = substr($buf, 48, 10);
 		seek $fh, $file_header_start + 16, SEEK_SET;
 
 		# mtime
-		syswrite $fh, sprintf("%-12d", $File::StripNondeterminism::canonical_time // 0);
+		syswrite $fh,
+		  sprintf("%-12d", $File::StripNondeterminism::canonical_time // 0);
 		# owner
 		syswrite $fh, sprintf("%-6d", 0);
 		# group
 		syswrite $fh, sprintf("%-6d", 0);
 		# file mode
-		syswrite $fh, sprintf("%-8o", ($file_mode & oct(100)) ? oct(755) : oct(644));
+		syswrite $fh,
+		  sprintf("%-8o", ($file_mode & oct(100)) ? oct(755) : oct(644));
 
 		# move to next member
 		my $padding = $file_size % 2;
-		seek $fh, $file_header_start + $FILE_HEADER_LENGTH + $file_size + $padding, SEEK_SET;
+		seek $fh,
+		  $file_header_start + $FILE_HEADER_LENGTH + $file_size + $padding,
+		  SEEK_SET;
 
 	}
 
diff --git a/lib/File/StripNondeterminism/handlers/gettext.pm b/lib/File/StripNondeterminism/handlers/gettext.pm
index 49bf802..b1fab0a 100644
--- a/lib/File/StripNondeterminism/handlers/gettext.pm
+++ b/lib/File/StripNondeterminism/handlers/gettext.pm
@@ -28,7 +28,8 @@ sub read_file {
 	my $filename = shift;
 
 	local $/ = undef;
-	open(my $fh, '<', $filename) or die "Can't open file $filename for reading: $!";
+	open(my $fh, '<', $filename)
+	  or die "Can't open file $filename for reading: $!";
 	binmode($fh);
 	my $buf = <$fh>;
 	close($fh);
@@ -56,7 +57,8 @@ sub normalize {
 		return 0;
 	}
 
-	my ($revision, $nstrings, $orig_to, $trans_to) = unpack($fmt x 4, substr($buf, 1*4, 4*4));
+	my ($revision, $nstrings, $orig_to, $trans_to)
+	  = unpack($fmt x 4, substr($buf, 1*4, 4*4));
 	my $major = int($revision / 256);
 	my $minor = int($revision % 256);
 	return 0 if $major > 1;
@@ -74,22 +76,25 @@ sub normalize {
 
 		my $pot_date = $1;
 		my $time;
-		eval {
-			$time = Time::Piece->strptime($pot_date, "%Y-%m-%d %H:%M%z");
-		};
+		eval {$time = Time::Piece->strptime($pot_date, "%Y-%m-%d %H:%M%z");};
 		next if $@;
 		next if $time <= $norm_time;
 
 		my $new_time = strftime("%Y-%m-%d %H:%M%z", gmtime($norm_time));
-		$trans_msg =~ s/\QPOT-Creation-Date: $pot_date\E/POT-Creation-Date: $new_time/;
+		$trans_msg
+		  =~ s/\QPOT-Creation-Date: $pot_date\E/POT-Creation-Date: $new_time/;
 		next if length($trans_msg) != $trans_len;
 
-		$buf = substr($buf, 0, $trans_offset) . $trans_msg . substr($buf, $trans_offset + $trans_len);
+		$buf
+		  = substr($buf, 0, $trans_offset)
+		  . $trans_msg
+		  . substr($buf, $trans_offset + $trans_len);
 		$modified = 1;
 	}
 
 	if ($modified) {
-		open(my $fh, '>', $mo_filename) or die "Can't open file $mo_filename for writing: $!";
+		open(my $fh, '>', $mo_filename)
+		  or die "Can't open file $mo_filename for writing: $!";
 		binmode($fh);
 		print $fh $buf;
 		close($fh);
diff --git a/lib/File/StripNondeterminism/handlers/gzip.pm b/lib/File/StripNondeterminism/handlers/gzip.pm
index 98d54b0..3afa62f 100644
--- a/lib/File/StripNondeterminism/handlers/gzip.pm
+++ b/lib/File/StripNondeterminism/handlers/gzip.pm
@@ -36,7 +36,8 @@ use constant {
 sub normalize {
 	my ($filename) = @_;
 
-	open(my $fh, '<', $filename) or die "Unable to open $filename for reading: $!";
+	open(my $fh, '<', $filename)
+	  or die "Unable to open $filename for reading: $!";
 
 	# See RFC 1952
 
@@ -54,10 +55,13 @@ sub normalize {
 
 	my $new_flg = $flg;
 	$new_flg &= ~FNAME;	# Don't include filename
-	$new_flg &= ~FHCRC;	# Don't include header CRC (not all implementations support it)
-	unless ($mtime == 0) {	# Don't set a deterministic timestamp if there wasn't already a timestamp
+	$new_flg &= ~FHCRC
+	  ;	# Don't include header CRC (not all implementations support it)
+	unless ($mtime == 0)
+	{	# Don't set a deterministic timestamp if there wasn't already a timestamp
 		if (defined $File::StripNondeterminism::canonical_time) {
-			if (!$File::StripNondeterminism::clamp_time || $mtime > $File::StripNondeterminism::canonical_time) {
+			if (  !$File::StripNondeterminism::clamp_time
+				|| $mtime > $File::StripNondeterminism::canonical_time) {
 				$mtime = $File::StripNondeterminism::canonical_time;
 			}
 		} else {
@@ -69,7 +73,8 @@ sub normalize {
 	my $tempfile = File::Temp->new(DIR => dirname($filename));
 
 	# Write a new header
-	print $tempfile 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
@@ -79,7 +84,8 @@ sub normalize {
 		my $buf;
 		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";
+		read($fh, $buf, $xlen) == $xlen
+		  or die "$filename: Malformed gzip file";
 		print $tempfile pack('vA*', $xlen, $buf);
 	}
 	if ($flg & FNAME) {	# Read but do not copy through
@@ -115,8 +121,9 @@ sub normalize {
 	}
 
 	# Copy through the rest of the file.
-	# TODO: also normalize concatenated gzip files.  This will require reading and understanding
-	# each DEFLATE block (see RFC 1951), since gzip doesn't include lengths anywhere.
+	# TODO: also normalize concatenated gzip files.  This will require
+	# reading and understanding each DEFLATE block (see RFC 1951), since
+	# gzip doesn't include lengths anywhere.
 	while (1) {
 		my $buf;
 		my $bytes_read = read($fh, $buf, 4096);
@@ -127,7 +134,7 @@ sub normalize {
 
 	$tempfile->close;
 	copy_data($tempfile->filename, $filename)
-		or die "$filename: unable to overwrite: copy_data: $!";
+	  or die "$filename: unable to overwrite: copy_data: $!";
 
 	return 1;
 }
diff --git a/lib/File/StripNondeterminism/handlers/jar.pm b/lib/File/StripNondeterminism/handlers/jar.pm
index 03e3719..710693c 100644
--- a/lib/File/StripNondeterminism/handlers/jar.pm
+++ b/lib/File/StripNondeterminism/handlers/jar.pm
@@ -30,7 +30,8 @@ use File::StripNondeterminism::handlers::javaproperties;
 
 sub _jar_filename_cmp($$) {
 	my ($a, $b) = @_;
-	# META-INF/ and META-INF/MANIFEST.MF are expected to be the first entries in the Zip archive.
+	# META-INF/ and META-INF/MANIFEST.MF are expected to be the first
+	# entries in the Zip archive.
 	return 0 if $a eq $b;
 	for (qw{META-INF/ META-INF/MANIFEST.MF}) {
 		return -1 if $a eq $_;
@@ -42,7 +43,8 @@ sub _jar_filename_cmp($$) {
 sub _jar_normalize_manifest {
 	my ($filename) = @_;
 
-	open(my $fh, '<', $filename) or die "Unable to open $filename for reading: $!";
+	open(my $fh, '<', $filename)
+	  or die "Unable to open $filename for reading: $!";
 	my $tempfile = File::Temp->new(DIR => dirname($filename));
 
 	my $modified = 0;
@@ -60,7 +62,7 @@ sub _jar_normalize_manifest {
 	if ($modified) {
 		$tempfile->close;
 		copy_data($tempfile->filename, $filename)
-			or die "$filename: unable to overwrite: copy_data: $!";
+		  or die "$filename: unable to overwrite: copy_data: $!";
 	}
 	return $modified;
 }
@@ -69,22 +71,28 @@ sub _jar_normalize_member {
 	my ($member) = @_; # $member is a ref to an Archive::Zip::Member
 	return if $member->isDirectory();
 
-	if ($member->fileName() =~ /\.html$/ &&
-			File::StripNondeterminism::handlers::zip::peek_member($member, 1024) =~ /\<!-- Generated by javadoc/) {
+	if ($member->fileName() =~ /\.html$/
+		&&File::StripNondeterminism::handlers::zip::peek_member($member, 1024)
+		=~ /\<!-- Generated by javadoc/) {
 		# javadoc header should be within first 1kb of file
 		File::StripNondeterminism::handlers::zip::normalize_member($member,
-				\&File::StripNondeterminism::handlers::javadoc::normalize);
+			\&File::StripNondeterminism::handlers::javadoc::normalize);
 	} elsif ($member->fileName() eq 'META-INF/MANIFEST.MF') {
 		File::StripNondeterminism::handlers::zip::normalize_member($member,
-				\&_jar_normalize_manifest);
-	} elsif ($member->fileName() =~ /(pom|version)\.properties$/ &&
-		File::StripNondeterminism::handlers::javaproperties::is_java_properties_header(
-			File::StripNondeterminism::handlers::zip::peek_member($member, 1024))) {
-			# maven header should be within first 1kb of file
+			\&_jar_normalize_manifest);
+	} elsif (
+		$member->fileName() =~ /(pom|version)\.properties$/
+		&&File::StripNondeterminism::handlers::javaproperties::is_java_properties_header(
+			File::StripNondeterminism::handlers::zip::peek_member(
+				$member, 1024
+			))
+	  ) {
+		# maven header should be within first 1kb of file
 		File::StripNondeterminism::handlers::zip::normalize_member($member,
-				\&File::StripNondeterminism::handlers::javaproperties::normalize);
+			\&File::StripNondeterminism::handlers::javaproperties::normalize);
 	} elsif ($member->fileName() =~ /\.jar$/) {
-		File::StripNondeterminism::handlers::zip::normalize_member($member, \&normalize);
+		File::StripNondeterminism::handlers::zip::normalize_member($member,
+			\&normalize);
 	}
 
 	return 1;
@@ -93,16 +101,20 @@ sub _jar_normalize_member {
 sub _jar_archive_filter {
 	my ($zip) = @_;
 
-	# Don't normalize signed JARs, since our modifications will break the signature.
-	# Alternatively, we could strip the signature.  However, if a JAR file is signed,
-	# it is highly likely that the JAR file was part of the source and not produced
-	# as part of the build, and therefore contains no nondeterminism.  Thus, ignoring
-	# the file makes more sense.
+	# Don't normalize signed JARs, since our modifications will break the
+	# signature.  Alternatively, we could strip the signature.  However, if
+	# a JAR file is signed, it is highly likely that the JAR file was part
+	# of the source and not produced as part of the build, and therefore
+	# contains no nondeterminism.  Thus, ignoring the file makes more
+	# sense.
+	#
+	# According to the jarsigner(1) man page, a signed JAR has a .SF file
+	# in the META-INF directory.
 	#
-	# According to the jarsigner(1) man page, a signed JAR has a .SF file in the
-	# META-INF directory.
 	if (scalar($zip->membersMatching('^META-INF/.*\.SF$')) > 0) {
-		warn "strip-nondeterminism: " . $zip->fileName() . ": ignoring signed JAR file\n";
+		warn "strip-nondeterminism: "
+		  . $zip->fileName()
+		  . ": ignoring signed JAR file\n";
 		return 0;
 	}
 
@@ -111,10 +123,12 @@ sub _jar_archive_filter {
 
 sub normalize {
 	my ($jar_filename) = @_;
-	return File::StripNondeterminism::handlers::zip::normalize($jar_filename,
-							archive_filter => \&_jar_archive_filter,
-							filename_cmp => \&_jar_filename_cmp,
-							member_normalizer => \&_jar_normalize_member);
+	return File::StripNondeterminism::handlers::zip::normalize(
+		$jar_filename,
+		archive_filter => \&_jar_archive_filter,
+		filename_cmp => \&_jar_filename_cmp,
+		member_normalizer => \&_jar_normalize_member
+	);
 }
 
 1;
diff --git a/lib/File/StripNondeterminism/handlers/javadoc.pm b/lib/File/StripNondeterminism/handlers/javadoc.pm
index 5815b42..a42ad58 100644
--- a/lib/File/StripNondeterminism/handlers/javadoc.pm
+++ b/lib/File/StripNondeterminism/handlers/javadoc.pm
@@ -30,34 +30,46 @@ use POSIX qw(strftime);
 sub is_javadoc_file {
 	my ($filename) = @_;
 
-	# If this is a javadoc file, '<!-- Generated by javadoc' should appear in first 1kb
+	# If this is a javadoc file, '<!-- Generated by javadoc' should appear
+	# in first 1kb
 	my $fh;
 	my $str;
-	return open($fh, '<', $filename) && read($fh, $str, 1024) && $str =~ /\<!-- Generated by javadoc/;
+	return
+	     open($fh, '<', $filename)
+	  && read($fh, $str, 1024)
+	  && $str =~ /\<!-- Generated by javadoc/;
 }
 
 sub normalize {
 	my ($filename) = @_;
 
-	open(my $fh, '<', $filename) or die "Unable to open $filename for reading: $!";
+	open(my $fh, '<', $filename)
+	  or die "Unable to open $filename for reading: $!";
 	my $tempfile = File::Temp->new(DIR => dirname($filename));
 
-	# Strip the javadoc comment, which contains a timestamp.
-	# It should appear before a line containing </head>, which should be within first 15 lines.
+	# Strip the javadoc comment, which contains a timestamp. It should
+	# appear before a line containing </head>, which should be within first
+	# 15 lines.
 	my $modified = 0;
 	while (defined(my $line = <$fh>)) {
 		if ($line =~ /\<!-- Generated by javadoc .* --\>/) {
 			$line =~ s/\<!-- Generated by javadoc .* --\>//g;
-			print $tempfile $line unless $line =~ /^\s*$/; # elide lines that are now whitespace-only
+			print $tempfile $line
+			  unless $line
+			  =~ /^\s*$/; # elide lines that are now whitespace-only
 			$modified = 1;
 		} elsif ($line =~ /\<META NAME="date" CONTENT="[^"]*"\>/i) {
 			if (defined $File::StripNondeterminism::canonical_time) {
-				my $date = strftime('%Y-%m-%d', gmtime($File::StripNondeterminism::canonical_time));
-				$line =~ s/\<(META NAME="date" CONTENT)="[^"]*"\>/<$1="$date">/gi;
+				my $date = strftime('%Y-%m-%d',
+					gmtime($File::StripNondeterminism::canonical_time));
+				$line
+				  =~ s/\<(META NAME="date" CONTENT)="[^"]*"\>/<$1="$date">/gi;
 			} else {
 				$line =~ s/\<META NAME="date" CONTENT="[^"]*"\>//gi;
 			}
-			print $tempfile $line unless $line =~ /^\s*$/; # elide lines that are now whitespace-only
+			print $tempfile $line
+			  unless $line
+			  =~ /^\s*$/; # elide lines that are now whitespace-only
 			$modified = 1;
 		} elsif ($line =~ /<html lang="[^"]+">/) {
 			# Strip locale as it's inherited from environment.
@@ -83,7 +95,7 @@ sub normalize {
 
 	$tempfile->close;
 	copy_data($tempfile->filename, $filename)
-		or die "$filename: unable to overwrite: copy_data: $!";
+	  or die "$filename: unable to overwrite: copy_data: $!";
 
 	return 1;
 }
diff --git a/lib/File/StripNondeterminism/handlers/javaproperties.pm b/lib/File/StripNondeterminism/handlers/javaproperties.pm
index e24b31a..46702a0 100644
--- a/lib/File/StripNondeterminism/handlers/javaproperties.pm
+++ b/lib/File/StripNondeterminism/handlers/javaproperties.pm
@@ -28,31 +28,38 @@ use File::Basename;
 
 sub is_java_properties_header {
 	my ($contents) = @_;
-	return $contents =~ /#Generated by( Apache)? Maven|#Build Number for ANT|#Generated by org.apache.felix.bundleplugin|#POM properties|#.* runtime configuration/;
+	return $contents
+	  =~ /#Generated by( Apache)? Maven|#Build Number for ANT|#Generated by org.apache.felix.bundleplugin|#POM properties|#.* runtime configuration/;
 }
 
 sub is_java_properties_file {
 	my ($filename) = @_;
 
-	# If this is a java properties file, '#Generated by Maven', '#Build Number for ANT',
-	# or other similar build-tool comment headers should appear in first 1kb
+	# If this is a java properties file, '#Generated by Maven', '#Build
+	# Number for ANT', or other similar build-tool comment headers should
+	# appear in first 1kb
 	my $fh;
 	my $str;
-	return open($fh, '<', $filename) && read($fh, $str, 1024)
-		&& is_java_properties_header($str);
+	return
+	     open($fh, '<', $filename)
+	  && read($fh, $str, 1024)
+	  && is_java_properties_header($str);
 }
 
 sub normalize {
 	my ($filename) = @_;
 
-	open(my $fh, '<', $filename) or die "Unable to open $filename for reading: $!";
+	open(my $fh, '<', $filename)
+	  or die "Unable to open $filename for reading: $!";
 	my $tempfile = File::Temp->new(DIR => dirname($filename));
 
-	# Strip the generation date comment, which contains a timestamp.
-	# It should appear within first 10 lines.
+	# Strip the generation date comment, which contains a timestamp.  It
+	# should appear within first 10 lines.
 	while (defined(my $line = <$fh>) && $. <= 10) {
 		# Yes, there really is no comma here
-		if ($line =~ /^#\w{3} \w{3} \d{2} \d{2}:\d{2}:\d{2} \w{3,4}([+-]\d{2}:\d{2})? \d{4}\s*$/) {
+		if ($line
+			=~ /^#\w{3} \w{3} \d{2} \d{2}:\d{2}:\d{2} \w{3,4}([+-]\d{2}:\d{2})? \d{4}\s*$/
+		  ) {
 			$line = '';
 			print $tempfile $line;
 
@@ -66,7 +73,7 @@ sub normalize {
 
 			$tempfile->close;
 			copy_data($tempfile->filename, $filename)
-				or die "$filename: unable to overwrite: copy_data: $!";
+			  or die "$filename: unable to overwrite: copy_data: $!";
 			return 1;
 		}
 		print $tempfile $line;
diff --git a/lib/File/StripNondeterminism/handlers/pearregistry.pm b/lib/File/StripNondeterminism/handlers/pearregistry.pm
index 73136d2..4dfa721 100644
--- a/lib/File/StripNondeterminism/handlers/pearregistry.pm
+++ b/lib/File/StripNondeterminism/handlers/pearregistry.pm
@@ -38,7 +38,7 @@ sub normalize {
 	my ($filename) = @_;
 
 	open(my $fh, '<', $filename)
-		or die "Unable to open $filename for reading: $!";
+	  or die "Unable to open $filename for reading: $!";
 
 	my $modified = 0;
 	my $tempfile = File::Temp->new(DIR => dirname($filename));
@@ -46,7 +46,8 @@ sub normalize {
 
 	while (defined(my $line = <$fh>)) {
 		# Normalize _lastmodified
-		if ($line =~ s/(?<=s:13:"_lastmodified";i:)\d+(?=;)/$canonical_time/g) {
+		if ($line =~ s/(?<=s:13:"_lastmodified";i:)\d+(?=;)/$canonical_time/g)
+		{
 			$modified = 1;
 		}
 
@@ -56,7 +57,7 @@ sub normalize {
 	if ($modified) {
 		$tempfile->close;
 		copy_data($tempfile->filename, $filename)
-			or die "$filename: unable to overwrite: copy_data: $!";
+		  or die "$filename: unable to overwrite: copy_data: $!";
 	}
 
 	return $modified;
diff --git a/lib/File/StripNondeterminism/handlers/png.pm b/lib/File/StripNondeterminism/handlers/png.pm
index 5d585e0..4a273e7 100644
--- a/lib/File/StripNondeterminism/handlers/png.pm
+++ b/lib/File/StripNondeterminism/handlers/png.pm
@@ -40,7 +40,8 @@ sub chunk {
 sub time_chunk {
 	my ($seconds) = @_;
 	my ($sec, $min, $hour, $mday, $mon, $year) = gmtime($seconds);
-	return chunk('tIME', pack('nCCCCC', 1900+$year, $mon+1, $mday, $hour, $min, $sec));
+	return chunk('tIME',
+		pack('nCCCCC', 1900+$year, $mon+1, $mday, $hour, $min, $sec));
 }
 
 sub text_chunk {
@@ -58,7 +59,7 @@ sub normalize {
 	if (_normalize($filename, $fh, $tempfile)) {
 		$tempfile->close;
 		copy_data($tempfile->filename, $filename)
-			or die "$filename: unable to overwrite: copy_data: $!";
+		  or die "$filename: unable to overwrite: copy_data: $!";
 	}
 
 	close $fh;
@@ -75,8 +76,9 @@ sub _normalize {
 	my $modified = 0;
 	my $bytes_read;
 
-	read($fh, my $magic, 8); $magic eq "\x89PNG\r\n\x1a\n"
-		or die "$filename: does not appear to be a PNG";
+	read($fh, my $magic, 8);
+	$magic eq "\x89PNG\r\n\x1a\n"
+	  or die "$filename: does not appear to be a PNG";
 
 	print $tempfile $magic;
 
@@ -98,12 +100,17 @@ sub _normalize {
 			}
 
 			if ($type eq "tIME") {
-				print $tempfile time_chunk($canonical_time) if defined($canonical_time);
+				print $tempfile time_chunk($canonical_time)
+				  if defined($canonical_time);
 				$modified = 1;
 				next;
-			} elsif (($type =~ /[tiz]EXt/) && ($data =~ /^(date:[^\0]+|Creation Time)\0/)) {
-				print $tempfile text_chunk($1, strftime("%Y-%m-%dT%H:%M:%S-00:00",
-								gmtime($canonical_time))) if defined($canonical_time);
+			} elsif (($type =~ /[tiz]EXt/)
+				&& ($data =~ /^(date:[^\0]+|Creation Time)\0/)) {
+				print $tempfile text_chunk(
+					$1,
+					strftime(
+						"%Y-%m-%dT%H:%M:%S-00:00",gmtime($canonical_time))
+				) if defined($canonical_time);
 				$modified = 1;
 				next;
 			}
@@ -143,7 +150,7 @@ sub _normalize {
 	}
 	defined($bytes_read) or die "$filename: read failed: $!";
 	warn "$filename: $garbage bytes of garbage after IEND chunk"
-		if $garbage > 0;
+	  if $garbage > 0;
 
 	return $modified;
 }
diff --git a/lib/File/StripNondeterminism/handlers/zip.pm b/lib/File/StripNondeterminism/handlers/zip.pm
index bb03f67..56e92e2 100644
--- a/lib/File/StripNondeterminism/handlers/zip.pm
+++ b/lib/File/StripNondeterminism/handlers/zip.pm
@@ -34,13 +34,16 @@ use constant SAFE_EPOCH => 315576060;
 sub peek_member {
 	my ($member, $nbytes) = @_;
 	my $original_size = $member->compressedSize();
-	my $old_compression_method = $member->desiredCompressionMethod(COMPRESSION_STORED);
+	my $old_compression_method
+	  = $member->desiredCompressionMethod(COMPRESSION_STORED);
 	$member->rewindData() == AZ_OK or die "failed to rewind ZIP member";
 	my ($buffer, $status) = $member->readChunk($nbytes);
-	die "failed to read ZIP member" if $status != AZ_OK && $status != AZ_STREAM_END;
+	die "failed to read ZIP member"
+	  if $status != AZ_OK && $status != AZ_STREAM_END;
 	$member->endRead();
 	$member->desiredCompressionMethod($old_compression_method);
-	$member->{'compressedSize'} = $original_size; # Work around https://github.com/redhotpenguin/perl-Archive-Zip/issues/11
+	$member->{'compressedSize'} = $original_size
+	  ; # Work around https://github.com/redhotpenguin/perl-Archive-Zip/issues/11
 	return $$buffer;
 }
 
@@ -53,14 +56,17 @@ sub normalize_member {
 	my $filename = "$tempdir/member";
 	my $original_size = $member->compressedSize();
 	$member->extractToFileNamed($filename);
-	$member->{'compressedSize'} = $original_size; # Work around https://github.com/redhotpenguin/perl-Archive-Zip/issues/11
+	$member->{'compressedSize'} = $original_size
+	  ; # Work around https://github.com/redhotpenguin/perl-Archive-Zip/issues/11
 
 	# Normalize the temporary file.
 	if ($normalizer->($filename)) {
 		# Normalizer modified the temporary file.
 		# Replace the member's contents with the temporary file's contents.
 		open(my $fh, '<', $filename) or die "Unable to open $filename: $!";
-		$member->contents(do { local $/; <$fh> });
+		$member->contents(
+			do { local $/; <$fh> }
+		);
 	}
 
 	unlink($filename);
@@ -72,6 +78,7 @@ use constant {
 	CENTRAL_HEADER => 0,
 	LOCAL_HEADER => 1
 };
+
 sub normalize_extra_fields {
 	# See http://sources.debian.net/src/zip/3.0-6/proginfo/extrafld.txt for extra field documentation
 	# $header_type is CENTRAL_HEADER or LOCAL_HEADER.
@@ -91,20 +98,22 @@ sub normalize_extra_fields {
 			# len determines how many timestamps this field contains
 			# this works for both the central header and local header version
 			for (my $i = 1; $i < $len; $i += 4) {
-				$result .= pack("V", $File::StripNondeterminism::canonical_time // SAFE_EPOCH);
+				$result .= pack("V",
+					$File::StripNondeterminism::canonical_time // SAFE_EPOCH);
 			}
 		} elsif ($id == 0x7875) { # Info-ZIP New Unix Extra Field
 			$result .= substr($field, $pos, 4);
-			#  Version       1 byte      version of this extra field, currently 1
-			#  UIDSize       1 byte      Size of UID field
-			#  UID           Variable    UID for this entry
-			#  GIDSize       1 byte      Size of GID field
-			#  GID           Variable    GID for this entry
-			# (Same format for both central header and local header)
+		  #  Version       1 byte      version of this extra field, currently 1
+		  #  UIDSize       1 byte      Size of UID field
+		  #  UID           Variable    UID for this entry
+		  #  GIDSize       1 byte      Size of GID field
+		  #  GID           Variable    GID for this entry
+		  # (Same format for both central header and local header)
 			if (ord(substr($field, $pos + 4, 1)) == 1) {
 				my $uid_len = ord(substr($field, $pos + 5, 1));
 				my $gid_len = ord(substr($field, $pos + 6 + $uid_len, 1));
-				$result .= pack("CCx${uid_len}Cx${gid_len}", 1, $uid_len, $gid_len);
+				$result
+				  .= pack("CCx${uid_len}Cx${gid_len}", 1, $uid_len, $gid_len);
 			} else {
 				$result .= substr($field, $pos + 4, $len);
 			}
@@ -121,7 +130,8 @@ sub normalize_extra_fields {
 sub try {
 	my ($sub, $errors) = @_;
 	@$errors = ();
-	my $old_error_handler = Archive::Zip::setErrorHandler(sub { push @$errors, @_ });
+	my $old_error_handler
+	  = Archive::Zip::setErrorHandler(sub { push @$errors, @_ });
 	my $res = $sub->();
 	Archive::Zip::setErrorHandler($old_error_handler);
 	return $res;
@@ -146,20 +156,28 @@ sub normalize {
 			die "Reading ZIP archive failed: " . join("\n", @errors);
 		}
 	}
-	if (exists($options{archive_filter}) and not($options{archive_filter}->($zip))) {
+	if (exists($options{archive_filter})
+		and not($options{archive_filter}->($zip))) {
 		return 0;
 	}
 	my @filenames = sort $filename_cmp $zip->memberNames();
 	for my $filename (@filenames) {
 		my $member = $zip->removeMember($filename);
 		$zip->addMember($member);
-		$options{member_normalizer}->($member) if exists $options{member_normalizer};
-		$member->setLastModFileDateTimeFromUnix($File::StripNondeterminism::canonical_time // SAFE_EPOCH);
+		$options{member_normalizer}->($member)
+		  if exists $options{member_normalizer};
+		$member->setLastModFileDateTimeFromUnix(
+			$File::StripNondeterminism::canonical_time // SAFE_EPOCH);
 		if ($member->fileAttributeFormat() == FA_UNIX) {
-			$member->unixFileAttributes(($member->unixFileAttributes() & oct(100)) ? oct(755) : oct(644));
+			$member->unixFileAttributes(
+				($member->unixFileAttributes() & oct(100))
+				? oct(755)
+				: oct(644));
 		}
-		$member->cdExtraField(normalize_extra_fields($member->cdExtraField(), CENTRAL_HEADER));
-		$member->localExtraField(normalize_extra_fields($member->localExtraField(), LOCAL_HEADER));
+		$member->cdExtraField(
+			normalize_extra_fields($member->cdExtraField(), CENTRAL_HEADER));
+		$member->localExtraField(
+			normalize_extra_fields($member->localExtraField(), LOCAL_HEADER));
 	}
 	my $old_perms = (stat($zip_filename))[2] & oct(7777);
 	$zip->overwrite();

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



More information about the Reproducible-commits mailing list