diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-05-26T09·44+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-05-26T09·44+0000 |
commit | f8d91f20e6c88510282263715a1b87c99afad5a1 (patch) | |
tree | e76bee2541de9e7ccff08b403e938a8a04ff0bfb /scripts/nix-pull-prebuilts | |
parent | 13176d74cc522951e2c8ed6a878a04ddfce778ca (diff) |
* Nix can now fetch prebuilts (and other files) from the network, iff
a mapping from the hash to a url has been registered through `nix regurl'. * Bug fix in nix: don't pollute stdout when running tar, it made nix-switch barf. * Bug fix in nix-push-prebuilts: don't create a subdirectory on the target when rsync'ing.
Diffstat (limited to 'scripts/nix-pull-prebuilts')
-rwxr-xr-x | scripts/nix-pull-prebuilts | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/nix-pull-prebuilts b/scripts/nix-pull-prebuilts index 91bbf8082b35..9cc6683378df 100755 --- a/scripts/nix-pull-prebuilts +++ b/scripts/nix-pull-prebuilts @@ -9,13 +9,25 @@ my $conffile = "$etcdir/prebuilts.conf"; sub register { my $fn = shift; + my $url = shift; return unless $fn =~ /([^\/]*)-([0-9a-z]{32})-([0-9a-z]{32})\.tar\.bz2/; my $id = $1; my $pkghash = $2; my $prebuilthash = $3; + print "$pkghash => $prebuilthash ($id)\n"; + system "nix regprebuilt $pkghash $prebuilthash"; if ($?) { die "`nix regprebuilt' failed"; } + + if ($url =~ /^\//) { + system "nix regfile $url"; + if ($?) { die "`nix regfile' failed"; } + } else { + system "nix regurl $prebuilthash $url"; + if ($?) { die "`nix regurl' failed"; } + } + print KNOWNS "$pkghash\n"; } @@ -35,7 +47,7 @@ while (<CONFFILE>) { # It's a local path. foreach my $fn (glob "$url/*") { - register $fn; + register($fn, $fn); } } else { @@ -54,7 +66,7 @@ while (<CONFFILE>) { my $fn = $1; next if $fn =~ /\.\./; next if $fn =~ /\//; - register $fn; + register($fn, "$url/$fn"); } close INDEX; |