about summary refs log tree commit diff
path: root/tests/init.sh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-01-25T17·08+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-01-25T17·08+0000
commit066da4ab852ebe4288536149824ea175dc36cad4 (patch)
treed9258a2d224a0574c0135cd799cb704fc8c25433 /tests/init.sh
parentc6290e42bc8890e2036013773a98e3551352c91a (diff)
* Really fix the substitute mechanism, i.e., ensure the closure
  invariant by registering references through the manifest.
* Added a test for nix-pull.

Diffstat (limited to 'tests/init.sh')
-rw-r--r--tests/init.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/init.sh b/tests/init.sh
index 627cdae1752c..504cb14f12dc 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -13,6 +13,36 @@ mkdir "$NIX_LOG_DIR"
 mkdir "$NIX_STATE_DIR"
 mkdir "$NIX_DB_DIR"
 
+mkdir $NIX_BIN_DIR
+ln -s $TOP/src/nix-store/nix-store $NIX_BIN_DIR/
+ln -s $TOP/src/nix-instantiate/nix-instantiate $NIX_BIN_DIR/
+ln -s $TOP/src/nix-hash/nix-hash $NIX_BIN_DIR/
+ln -s $TOP/scripts/nix-prefetch-url $NIX_BIN_DIR/
+mkdir $NIX_BIN_DIR/nix
+ln -s $TOP/scripts/download-using-manifests.pl $NIX_BIN_DIR/nix/
+ln -s $TOP/scripts/readmanifest.pm $NIX_BIN_DIR/nix/
+
+mkdir -p "$NIX_LOCALSTATE_DIR"/nix/manifests
+mkdir -p "$NIX_LOCALSTATE_DIR"/log/nix
+
+mkdir $NIX_DATA_DIR/nix
+cp -prd $TOP/corepkgs $NIX_DATA_DIR/nix/
+# Bah, script has the prefix hard-coded.
+for i in $NIX_DATA_DIR/nix/corepkgs/nar/nar.sh \
+    $NIX_BIN_DIR/nix/download-using-manifests.pl \
+    $NIX_BIN_DIR/nix-prefetch-url \
+    ; do
+    echo "$REAL_BIN_DIR"
+    sed < $i > $i.tmp \
+        -e "s^$REAL_BIN_DIR^$NIX_BIN_DIR^" \
+        -e "s^$REAL_LIBEXEC_DIR^$NIX_LIBEXEC_DIR^" \
+        -e "s^$REAL_LOCALSTATE_DIR^$NIX_LOCALSTATE_DIR^" \
+        -e "s^$REAL_DATA_DIR^$NIX_DATA_DIR^" \
+        -e "s^$REAL_STORE_DIR^$NIX_STORE_DIR^"
+    mv $i.tmp $i
+    chmod +x $i
+done
+
 # Initialise the database.
 $TOP/src/nix-store/nix-store --init