mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-14 02:06:16 +02:00
* 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).
This commit is contained in:
parent
b1882c3ef7
commit
83252b4ca9
2 changed files with 7 additions and 5 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use File::Temp qw(tempdir);
|
use File::Temp qw(tempdir);
|
||||||
|
use File::stat;
|
||||||
|
|
||||||
|
|
||||||
# Some patch generations options.
|
# Some patch generations options.
|
||||||
|
@ -205,7 +206,7 @@ sub generatePatches {
|
||||||
system("@bunzip2@ < $srcNarBz2 > $tmpDir/A") == 0
|
system("@bunzip2@ < $srcNarBz2 > $tmpDir/A") == 0
|
||||||
or die "cannot unpack $srcNarBz2";
|
or die "cannot unpack $srcNarBz2";
|
||||||
|
|
||||||
if ((stat "$tmpDir/A")[7] >= $maxNarSize) {
|
if (stat("$tmpDir/A")->size >= $maxNarSize) {
|
||||||
print " skipping, source is too large\n";
|
print " skipping, source is too large\n";
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
@ -213,7 +214,7 @@ sub generatePatches {
|
||||||
system("@bunzip2@ < $dstNarBz2 > $tmpDir/B") == 0
|
system("@bunzip2@ < $dstNarBz2 > $tmpDir/B") == 0
|
||||||
or die "cannot unpack $dstNarBz2";
|
or die "cannot unpack $dstNarBz2";
|
||||||
|
|
||||||
if ((stat "$tmpDir/B")[7] >= $maxNarSize) {
|
if (stat("$tmpDir/B")->size >= $maxNarSize) {
|
||||||
print " skipping, destination is too large\n";
|
print " skipping, destination is too large\n";
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
@ -235,8 +236,8 @@ sub generatePatches {
|
||||||
my $narDiffHash = `@bindir@/nix-hash --flat --type $hashAlgo --base32 $tmpDir/DIFF` or die;
|
my $narDiffHash = `@bindir@/nix-hash --flat --type $hashAlgo --base32 $tmpDir/DIFF` or die;
|
||||||
chomp $narDiffHash;
|
chomp $narDiffHash;
|
||||||
|
|
||||||
my $narDiffSize = (stat "$tmpDir/DIFF")[7];
|
my $narDiffSize = stat("$tmpDir/DIFF")->size;
|
||||||
my $dstNarBz2Size = (stat $dstNarBz2)[7];
|
my $dstNarBz2Size = stat($dstNarBz2)->size;
|
||||||
|
|
||||||
print " size $narDiffSize; full size $dstNarBz2Size; ", $time2 - $time1, " seconds\n";
|
print " size $narDiffSize; full size $dstNarBz2Size; ", $time2 - $time1, " seconds\n";
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use File::Temp qw(tempdir);
|
use File::Temp qw(tempdir);
|
||||||
|
use File::stat;
|
||||||
use NixManifest;
|
use NixManifest;
|
||||||
|
|
||||||
my $hashAlgo = "sha256";
|
my $hashAlgo = "sha256";
|
||||||
|
@ -178,7 +179,7 @@ for (my $n = 0; $n < scalar @storePaths; $n++) {
|
||||||
(-f $narFile) or die "narfile for $storePath not found";
|
(-f $narFile) or die "narfile for $storePath not found";
|
||||||
push @narArchives, $narFile;
|
push @narArchives, $narFile;
|
||||||
|
|
||||||
my $narbz2Size = (stat $narFile)[7];
|
my $narbz2Size = stat($narFile)->size;
|
||||||
|
|
||||||
my $references = `$binDir/nix-store --query --references '$storePath'`;
|
my $references = `$binDir/nix-store --query --references '$storePath'`;
|
||||||
die "cannot query references for `$storePath'" if $? != 0;
|
die "cannot query references for `$storePath'" if $? != 0;
|
||||||
|
|
Loading…
Reference in a new issue