about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-04-16T17·52+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-04-16T17·52+0200
commit8cf1719e3e02998c0d22ed9e505a4a98e3335627 (patch)
tree1a6ad00d9b395aa2645b0c5fd090baaaac6be02c
parent1132dd27eaf6b32937f1e0508c84d08f5ae90470 (diff)
Hack to prevent accumulation of old manifests
-rwxr-xr-xscripts/nix-channel.in2
-rwxr-xr-xscripts/nix-pull.in2
2 files changed, 3 insertions, 1 deletions
diff --git a/scripts/nix-channel.in b/scripts/nix-channel.in
index 64e5aa01282b..2bf5e633e85b 100755
--- a/scripts/nix-channel.in
+++ b/scripts/nix-channel.in
@@ -88,6 +88,7 @@ sub update {
     my $exprs = "";
     foreach my $name (keys %channels) {
         my $url = $channels{$name};
+        my $origUrl = $url;
 
         # Check if $url is a redirect.  If so, follow it now to ensure
         # consistency if the redirection is changed between
@@ -98,6 +99,7 @@ sub update {
         $url = $1 if $headers =~ /^Location:\s*(.*)\s*$/m;
         
         # Pull the channel manifest.
+        $ENV{'NIX_ORIG_URL'} = $origUrl;
         system("$Nix::Config::binDir/nix-pull", "--skip-wrong-store", "$url/MANIFEST") == 0
             or die "cannot pull manifest from `$url'\n";
 
diff --git a/scripts/nix-pull.in b/scripts/nix-pull.in
index 084197c48a1c..8d5db2f57c68 100755
--- a/scripts/nix-pull.in
+++ b/scripts/nix-pull.in
@@ -72,7 +72,7 @@ sub processURL {
 
     my $urlFile = "$manifestDir/$baseName-$hash.url";
     open URL, ">$urlFile" or die "cannot create `$urlFile'";
-    print URL "$url";
+    print URL ($ENV{'NIX_ORIG_URL'} || $url);
     close URL;
     
     my $finalPath = "$manifestDir/$baseName-$hash.nixmanifest";