From e3c07782d124cdd8d0aab2b498225cdca28cad66 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 8 May 2006 20:00:28 +0000 Subject: [PATCH] * Remove old manifests in `nix-channel --update'. --- scripts/nix-channel.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/nix-channel.in b/scripts/nix-channel.in index 772fb10cf..63a56616b 100644 --- a/scripts/nix-channel.in +++ b/scripts/nix-channel.in @@ -4,6 +4,9 @@ use strict; my $rootsDir = "@localstatedir@/nix/gcroots/channels"; +my $stateDir = $ENV{"NIX_STATE_DIR"}; +$stateDir = "@localstatedir@/nix" unless defined $stateDir; + # Figure out the name of the `.nix-channels' file to use. my $home = $ENV{"HOME"}; @@ -70,6 +73,11 @@ sub update { system "@bindir@/nix-store --clear-substitutes"; die "cannot clear substitutes" if ($? != 0); + # Remove all the old manifests. + for my $manifest (glob "$stateDir/manifests/*.nixmanifest") { + unlink $manifest or die "cannot remove `$manifest': $!"; + } + # Pull cache manifests. foreach my $url (@channels) { print "pulling cache manifest from `$url'\n";