mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-25 23:36:16 +02:00
* Separate the cache reading code.
This commit is contained in:
parent
928cce5922
commit
43fa1c20e7
2 changed files with 28 additions and 25 deletions
|
@ -1,29 +1,11 @@
|
||||||
#! /usr/bin/perl -w -I.
|
#! /usr/bin/perl -w -I. -I..
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use readmanifest;
|
use readmanifest;
|
||||||
|
use readcache;
|
||||||
|
|
||||||
|
|
||||||
# Read the archive directories.
|
print STDERR scalar (keys %readcache::archives), "\n";
|
||||||
my @archives = ();
|
|
||||||
my %archives;
|
|
||||||
|
|
||||||
sub readDir {
|
|
||||||
my $dir = shift;
|
|
||||||
opendir(DIR, "$dir") or die "cannot open `$dir': $!";
|
|
||||||
my @as = readdir DIR;
|
|
||||||
foreach my $archive (@as) {
|
|
||||||
push @archives, $archive;
|
|
||||||
$archives{$archive} = "$dir/$archive";
|
|
||||||
}
|
|
||||||
closedir DIR;
|
|
||||||
}
|
|
||||||
|
|
||||||
readDir "/data/webserver/dist/nix-cache";
|
|
||||||
readDir "/data/webserver/dist/test";
|
|
||||||
readDir "/data/webserver/dist/patches";
|
|
||||||
|
|
||||||
print STDERR scalar @archives, "\n";
|
|
||||||
|
|
||||||
|
|
||||||
# Read the manifests.
|
# Read the manifests.
|
||||||
|
@ -50,7 +32,7 @@ foreach my $narFile (keys %narFiles) {
|
||||||
# print $basename, "\n";
|
# print $basename, "\n";
|
||||||
$usedFiles{$basename} = 1;
|
$usedFiles{$basename} = 1;
|
||||||
print STDERR "missing archive `$basename'\n"
|
print STDERR "missing archive `$basename'\n"
|
||||||
unless defined $archives{$basename};
|
unless defined $readcache::archives{$basename};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,15 +44,15 @@ foreach my $patch (keys %patches) {
|
||||||
# print $basename, "\n";
|
# print $basename, "\n";
|
||||||
$usedFiles{$basename} = 1;
|
$usedFiles{$basename} = 1;
|
||||||
die "missing archive `$basename'"
|
die "missing archive `$basename'"
|
||||||
unless defined $archives{$basename};
|
unless defined $readcache::archives{$basename};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Print out the dead archives.
|
# Print out the dead archives.
|
||||||
foreach my $archive (@archives) {
|
foreach my $archive (keys %readcache::archives) {
|
||||||
next if $archive eq "." || $archive eq "..";
|
next if $archive eq "." || $archive eq "..";
|
||||||
if (!defined $usedFiles{$archive}) {
|
if (!defined $usedFiles{$archive}) {
|
||||||
print $archives{$archive}, "\n";
|
print $readcache::archives{$archive}, "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
21
scripts/maintenance/readcache.pm
Normal file
21
scripts/maintenance/readcache.pm
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
package readcache;
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
# Read the archive directories.
|
||||||
|
our %archives;
|
||||||
|
|
||||||
|
sub readDir {
|
||||||
|
my $dir = shift;
|
||||||
|
opendir(DIR, "$dir") or die "cannot open `$dir': $!";
|
||||||
|
my @as = readdir DIR;
|
||||||
|
foreach my $archive (@as) {
|
||||||
|
$archives{$archive} = "$dir/$archive";
|
||||||
|
}
|
||||||
|
closedir DIR;
|
||||||
|
}
|
||||||
|
|
||||||
|
readDir "/data/webserver/dist/nix-cache";
|
||||||
|
readDir "/data/webserver/dist/test";
|
||||||
|
readDir "/data/webserver/dist/patches";
|
||||||
|
|
||||||
|
print STDERR scalar (keys %archives), "\n";
|
Loading…
Reference in a new issue