2006-03-01 14:15:33 +02:00
|
|
|
source common.sh
|
|
|
|
|
2004-06-18 21:09:32 +03:00
|
|
|
echo "NIX_STORE_DIR=$NIX_STORE_DIR NIX_DB_DIR=$NIX_DB_DIR"
|
|
|
|
|
2004-05-04 15:15:30 +03:00
|
|
|
test -n "$TEST_ROOT"
|
|
|
|
if test -d "$TEST_ROOT"; then
|
|
|
|
chmod -R u+w "$TEST_ROOT"
|
|
|
|
rm -rf "$TEST_ROOT"
|
|
|
|
fi
|
|
|
|
mkdir "$TEST_ROOT"
|
|
|
|
|
|
|
|
mkdir "$NIX_STORE_DIR"
|
|
|
|
mkdir "$NIX_DATA_DIR"
|
2005-02-01 19:50:48 +02:00
|
|
|
mkdir "$NIX_LOCALSTATE_DIR"
|
2005-02-18 10:40:52 +02:00
|
|
|
mkdir -p "$NIX_LOG_DIR"/drvs
|
2004-05-04 15:15:30 +03:00
|
|
|
mkdir "$NIX_STATE_DIR"
|
|
|
|
mkdir "$NIX_DB_DIR"
|
2005-02-15 11:39:12 +02:00
|
|
|
mkdir "$NIX_CONF_DIR"
|
2004-05-04 15:15:30 +03:00
|
|
|
|
2005-01-25 19:08:52 +02:00
|
|
|
mkdir $NIX_BIN_DIR
|
2006-03-01 14:51:18 +02:00
|
|
|
ln -s $nixstore $NIX_BIN_DIR/
|
|
|
|
ln -s $nixinstantiate $NIX_BIN_DIR/
|
|
|
|
ln -s $nixhash $NIX_BIN_DIR/
|
2005-01-25 19:08:52 +02:00
|
|
|
ln -s $TOP/scripts/nix-prefetch-url $NIX_BIN_DIR/
|
2005-01-27 19:48:50 +02:00
|
|
|
ln -s $TOP/scripts/nix-collect-garbage $NIX_BIN_DIR/
|
2005-01-25 19:08:52 +02:00
|
|
|
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/
|
|
|
|
|
2005-02-01 19:50:48 +02:00
|
|
|
mkdir -p "$NIX_STATE_DIR"/manifests
|
|
|
|
mkdir -p "$NIX_STATE_DIR"/gcroots
|
|
|
|
mkdir -p "$NIX_STATE_DIR"/temproots
|
2006-02-08 16:32:06 +02:00
|
|
|
mkdir -p "$NIX_STATE_DIR"/profiles
|
|
|
|
ln -s "$NIX_STATE_DIR"/profiles "$NIX_STATE_DIR"/gcroots/
|
2005-01-25 19:08:52 +02:00
|
|
|
|
2005-02-15 11:39:12 +02:00
|
|
|
cat > "$NIX_CONF_DIR"/nix.conf <<EOF
|
|
|
|
gc-keep-outputs = false
|
|
|
|
gc-keep-derivations = false
|
|
|
|
env-keep-derivations = false
|
|
|
|
EOF
|
|
|
|
|
2005-01-25 19:08:52 +02:00
|
|
|
mkdir $NIX_DATA_DIR/nix
|
2005-03-21 18:28:58 +02:00
|
|
|
cp -pr $TOP/corepkgs $NIX_DATA_DIR/nix/
|
2005-01-28 13:05:56 +02:00
|
|
|
# Bah, script has the prefix hard-coded. This is really messy stuff
|
|
|
|
# (and likely to fail).
|
2005-01-27 21:15:12 +02:00
|
|
|
for i in \
|
|
|
|
$NIX_DATA_DIR/nix/corepkgs/nar/nar.sh \
|
2005-01-25 19:08:52 +02:00
|
|
|
$NIX_BIN_DIR/nix/download-using-manifests.pl \
|
|
|
|
$NIX_BIN_DIR/nix-prefetch-url \
|
2005-01-27 19:48:50 +02:00
|
|
|
$NIX_BIN_DIR/nix-collect-garbage \
|
2005-01-25 19:08:52 +02:00
|
|
|
; 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^" \
|
2005-01-28 13:05:56 +02:00
|
|
|
-e "s^$REAL_STORE_DIR\([^/]\)^$NIX_STORE_DIR\1^"
|
2005-01-25 19:08:52 +02:00
|
|
|
mv $i.tmp $i
|
|
|
|
chmod +x $i
|
|
|
|
done
|
|
|
|
|
2005-07-25 10:25:18 +03:00
|
|
|
# Another ugly hack.
|
|
|
|
sed "s|^$|PATH=$PATH|" < $NIX_DATA_DIR/nix/corepkgs/nar/nar.sh > tmp
|
|
|
|
chmod +x tmp
|
|
|
|
mv tmp $NIX_DATA_DIR/nix/corepkgs/nar/nar.sh
|
|
|
|
|
2004-05-04 15:15:30 +03:00
|
|
|
# Initialise the database.
|
2006-03-01 14:51:18 +02:00
|
|
|
$nixstore --init
|
2004-05-04 15:15:30 +03:00
|
|
|
|
|
|
|
# Did anything happen?
|
|
|
|
test -e "$NIX_DB_DIR"/validpaths
|