about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--scripts/nix-push.in4
-rw-r--r--scripts/readmanifest.pm.in8
-rw-r--r--tests/init.sh3
-rw-r--r--tests/nix-pull.sh2
-rw-r--r--tests/nix-push.sh2
5 files changed, 17 insertions, 2 deletions
diff --git a/scripts/nix-push.in b/scripts/nix-push.in
index 992622fbb4ca..dd00841d7d04 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 1d44444700ee..b41e72dfba14 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 b5c62f408709..c45a617e9f75 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 5ef3e55cae51..d2309742d217 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 46f1edb4014b..a9a2f5f9c06a 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