about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-04-11T08·21+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-04-11T08·21+0000
commit83252b4ca9cb9de45bf4a069b20d1c2d1412396e (patch)
treee4fefe1e9a4a5fe2147acb23f791226d180c39a7
parentb1882c3ef75afdaa7b0926cd146aa2857ba0d40a (diff)
* Subtle bug: if you import File::stat in one module, it affects other
  modules as well.  So use symbolic field names everywhere (which is
  nicer anyway).

-rwxr-xr-xscripts/GeneratePatches.pm.in9
-rw-r--r--scripts/nix-push.in3
2 files changed, 7 insertions, 5 deletions
diff --git a/scripts/GeneratePatches.pm.in b/scripts/GeneratePatches.pm.in
index 2d2653255e..9d404e3400 100755
--- a/scripts/GeneratePatches.pm.in
+++ b/scripts/GeneratePatches.pm.in
@@ -2,6 +2,7 @@
 
 use strict;
 use File::Temp qw(tempdir);
+use File::stat;
 
 
 # Some patch generations options.
@@ -205,7 +206,7 @@ sub generatePatches {
             system("@bunzip2@ < $srcNarBz2 > $tmpDir/A") == 0
                 or die "cannot unpack $srcNarBz2";
 
-            if ((stat "$tmpDir/A")[7] >= $maxNarSize) {
+            if (stat("$tmpDir/A")->size >= $maxNarSize) {
                 print "    skipping, source is too large\n";
                 next;
             }
@@ -213,7 +214,7 @@ sub generatePatches {
             system("@bunzip2@ < $dstNarBz2 > $tmpDir/B") == 0
                 or die "cannot unpack $dstNarBz2";
 
-            if ((stat "$tmpDir/B")[7] >= $maxNarSize) {
+            if (stat("$tmpDir/B")->size >= $maxNarSize) {
                 print "    skipping, destination is too large\n";
                 next;
             }
@@ -235,8 +236,8 @@ sub generatePatches {
             my $narDiffHash = `@bindir@/nix-hash --flat --type $hashAlgo --base32 $tmpDir/DIFF` or die;
             chomp $narDiffHash;
 
-            my $narDiffSize = (stat "$tmpDir/DIFF")[7];
-            my $dstNarBz2Size = (stat $dstNarBz2)[7];
+            my $narDiffSize = stat("$tmpDir/DIFF")->size;
+            my $dstNarBz2Size = stat($dstNarBz2)->size;
 
             print "    size $narDiffSize; full size $dstNarBz2Size; ", $time2 - $time1, " seconds\n";
         
diff --git a/scripts/nix-push.in b/scripts/nix-push.in
index 7b9d521617..2d43031a47 100644
--- a/scripts/nix-push.in
+++ b/scripts/nix-push.in
@@ -2,6 +2,7 @@
 
 use strict;
 use File::Temp qw(tempdir);
+use File::stat;
 use NixManifest;
 
 my $hashAlgo = "sha256";
@@ -178,7 +179,7 @@ for (my $n = 0; $n < scalar @storePaths; $n++) {
     (-f $narFile) or die "narfile for $storePath not found";
     push @narArchives, $narFile;
 
-    my $narbz2Size = (stat $narFile)[7];
+    my $narbz2Size = stat($narFile)->size;
 
     my $references = `$binDir/nix-store --query --references '$storePath'`;
     die "cannot query references for `$storePath'" if $? != 0;