From 9441550acb34cf35f6cd3859d3672adca79551d9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 4 Sep 2007 15:38:09 +0000 Subject: [PATCH] * nix-push / generate-patches: bzip the manifest. --- scripts/nix-push.in | 4 ++++ scripts/readmanifest.pm.in | 8 ++++++++ tests/init.sh | 3 +++ tests/nix-pull.sh | 2 +- tests/nix-push.sh | 2 +- 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/scripts/nix-push.in b/scripts/nix-push.in index 992622fbb4..dd00841d7d 100644 --- a/scripts/nix-push.in +++ b/scripts/nix-push.in @@ -264,8 +264,12 @@ foreach my $narArchive (@narArchives) { print STDERR "uploading manifest...\n"; if ($localCopy) { copyFile $manifest, $localManifestFile; + copyFile "$manifest.bz2", "$localManifestFile.bz2"; } else { system("$curl --show-error --upload-file " . "'$manifest' '$manifestPutURL' > /dev/null") == 0 or die "curl failed on $manifest: $?"; + system("$curl --show-error --upload-file " . + "'$manifest'.bz2 '$manifestPutURL'.bz2 > /dev/null") == 0 or + die "curl failed on $manifest: $?"; } diff --git a/scripts/readmanifest.pm.in b/scripts/readmanifest.pm.in index 1d44444700..b41e72dfba 100644 --- a/scripts/readmanifest.pm.in +++ b/scripts/readmanifest.pm.in @@ -222,6 +222,14 @@ sub writeManifest rename("$manifest.tmp", $manifest) or die "cannot rename $manifest.tmp: $!"; + + + # Create a bzipped manifest. + system("@bzip2@ < $manifest > $manifest.bz2.tmp") == 0 + or die "cannot compress manifest"; + + rename("$manifest.bz2.tmp", "$manifest.bz2") + or die "cannot rename $manifest.bz2.tmp: $!"; } diff --git a/tests/init.sh b/tests/init.sh index b5c62f4087..c45a617e9f 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -27,6 +27,7 @@ ln -s $TOP/scripts/nix-prefetch-url $NIX_BIN_DIR/ ln -s $TOP/scripts/nix-collect-garbage $NIX_BIN_DIR/ ln -s $TOP/scripts/nix-build $NIX_BIN_DIR/ ln -s $TOP/scripts/nix-install-package $NIX_BIN_DIR/ +ln -s $TOP/scripts/nix-push $NIX_BIN_DIR/ ln -s $TOP/scripts/nix-pull $NIX_BIN_DIR/ ln -s $bzip2_bin_test/bzip2 $NIX_BIN_DIR/ ln -s $bzip2_bin_test/bunzip2 $NIX_BIN_DIR/ @@ -57,7 +58,9 @@ for i in \ $NIX_BIN_DIR/nix-collect-garbage \ $NIX_BIN_DIR/nix-build \ $NIX_BIN_DIR/nix-install-package \ + $NIX_BIN_DIR/nix-push \ $NIX_BIN_DIR/nix-pull \ + $NIX_BIN_DIR/nix/readmanifest.pm \ ; do sed < $i > $i.tmp \ -e "s^$REAL_BIN_DIR^$NIX_BIN_DIR^" \ diff --git a/tests/nix-pull.sh b/tests/nix-pull.sh index 5ef3e55cae..d2309742d2 100644 --- a/tests/nix-pull.sh +++ b/tests/nix-pull.sh @@ -2,7 +2,7 @@ source common.sh pullCache () { echo "pulling cache..." - $PERL -w -I$TOP/scripts $TOP/scripts/nix-pull file://$TEST_ROOT/manifest + $NIX_BIN_DIR/nix-pull file://$TEST_ROOT/manifest } clearStore diff --git a/tests/nix-push.sh b/tests/nix-push.sh index 46f1edb401..a9a2f5f9c0 100644 --- a/tests/nix-push.sh +++ b/tests/nix-push.sh @@ -7,5 +7,5 @@ echo "pushing $drvPath" mkdir $TEST_ROOT/cache -$PERL -w -I$TOP/scripts $TOP/scripts/nix-push \ +$NIX_BIN_DIR/nix-push \ --copy $TEST_ROOT/cache $TEST_ROOT/manifest $drvPath