various improvements + stubs for later work, definitely not production ready

svn path=/nixu/trunk/; revision=3473
This commit is contained in:
Armijn Hemel 2005-07-29 16:54:36 +00:00
parent d623c357b5
commit 8f7215a779
2 changed files with 60 additions and 11 deletions

View File

@ -5,10 +5,10 @@ bootPath=@bootPath@
if ! test -n "$1" if ! test -n "$1"
then then
echo "need URL for manifest!" echo "need harddisk device for installing!"
exit exit
else else
manifest=$1 device=$1
fi fi
make_dir() { make_dir() {
@ -27,6 +27,17 @@ touch_file() {
} }
root=/tmp/mnt root=/tmp/mnt
mkdir -p /tmp/mnt
mount $device /tmp/mnt
mkdir -p /nix
mkdir -p /nixpkgs/trunk/pkgs
# temporary hack
mount --bind /mnt/cdrom1/nix /nix
mount --bind /mnt/cdrom1/pkgs /nixpkgs/trunk/pkgs
make_dir 00755 /bin make_dir 00755 /bin
make_dir 00755 /dev make_dir 00755 /dev
make_dir 00755 /proc make_dir 00755 /proc
@ -77,8 +88,8 @@ cp -fa ../pkgs $root/nixpkgs/trunk
make_dir 0755 /tmp/scripts make_dir 0755 /tmp/scripts
cp -fa ../scripts $root/tmp cp -fa ../scripts $root/tmp
echo adding manifest #echo adding manifest
$NIX_CMD_PATH/nix-pull $manifest #$NIX_CMD_PATH/nix-pull $manifest
echo adding packages echo adding packages
export NIX_ROOT=$root export NIX_ROOT=$root
@ -87,8 +98,21 @@ unset NIX_LOG_DIR
unset NIX_STATE_DIR unset NIX_STATE_DIR
unset NIX_CONF_DIR unset NIX_CONF_DIR
storeExpr=$(echo '(import ./pkgs.nix).everything' | $NIX_CMD_PATH/nix-instantiate -v -v -) #storeExpr=$(echo '(import /tmp/scripts/pkgs.nix).everything' | $NIX_CMD_PATH/nix-instantiate -v -v -)
$NIX_CMD_PATH/nix-store -r $storeExpr #storeExpr=$(echo '(import ./pkgs.nix).everything' | $NIX_CMD_PATH/nix-instantiate -v -v -)
#$NIX_CMD_PATH/nix-store -r $storeExpr
#echo $storeExpr
#storeExpr2=$($NIX_CMD_PATH/nix-store -qR $($NIX_CMD_PATH/nix-store -r $storeExpr))
#echo storeExpr $storeExpr
#echo $($NIX_CMD_PATH/nix-store -qR --include-outputs $storeExpr)
echo copying store
(while read storepaths; do
cp -fa $storepaths $root/nix/store
done) < /mnt/cdrom1/mystorepaths
#cp -fa ../nix/store/* $root/nix/store
#echo registering valid paths... #echo registering valid paths...
#(while read storepath; do #(while read storepath; do
@ -105,6 +129,8 @@ $NIX_CMD_PATH/nix-store -r $storeExpr
# $NIX_CMD_PATH/nix-store --successor $line # $NIX_CMD_PATH/nix-store --successor $line
#done) < /tmp/mysuccessors #done) < /tmp/mysuccessors
exit
echo setting init symlink... echo setting init symlink...
rm -f $root/init rm -f $root/init
ln -s $sysvinitPath/sbin/init $root/init ln -s $sysvinitPath/sbin/init $root/init

View File

@ -1,9 +1,13 @@
#! /bin/sh -e #! /bin/sh -e
declare -a deps
archivesDir=/tmp/arch archivesDir=/tmp/arch
manifest=${archivesDir}/MANIFEST manifest=${archivesDir}/MANIFEST
nixpkgs=/nixpkgs/trunk/pkgs nixpkgs=/nixpkgs/trunk/pkgs
fill_disk=$archivesDir/scripts/fill-disk.sh fill_disk=$archivesDir/scripts/fill-disk.sh
storePaths=$archivesDir/mystorepaths
validatePaths=$archivesDir/validatepaths
touch ${archivesDir}/blah touch ${archivesDir}/blah
chmod -f -R +w ${archivesDir}/* chmod -f -R +w ${archivesDir}/*
@ -12,8 +16,7 @@ rm -rf ${archivesDir}/*
NIX_CMD_PATH=/nix/bin NIX_CMD_PATH=/nix/bin
storeExpr=$(echo '(import ./pkgs.nix).everything' | $NIX_CMD_PATH/nix-instantiate -v -v -) storeExpr=$(echo '(import ./pkgs.nix).everything' | $NIX_CMD_PATH/nix-instantiate -v -v -)
$NIX_CMD_PATH/nix-push --copy $archivesDir $manifest $(nix-store -r $storeExpr) $(nix-store -r $(echo '(import ./pkgs.nix).kernel' | $NIX_CMD_PATH/nix-instantiate -)) #$NIX_CMD_PATH/nix-push --copy $archivesDir $manifest $(nix-store -r $storeExpr) $(nix-store -r $(echo '(import ./pkgs.nix).kernel' | $NIX_CMD_PATH/nix-instantiate -))
#$NIX_CMD_PATH/nix-push --copy $archivesDir $manifest $storeExpr $(nix-store -r $(echo '(import ./pkgs.nix).kernel' | $NIX_CMD_PATH/nix-instantiate -))
# Location of sysvinit? # Location of sysvinit?
sysvinitPath=$($NIX_CMD_PATH/nix-store -q $(echo '(import ./pkgs.nix).sysvinit' | $NIX_CMD_PATH/nix-instantiate -)) sysvinitPath=$($NIX_CMD_PATH/nix-store -q $(echo '(import ./pkgs.nix).sysvinit' | $NIX_CMD_PATH/nix-instantiate -))
@ -25,12 +28,32 @@ nix=$($NIX_CMD_PATH/nix-store -q $(echo '(import ./pkgs.nix).nix' | $NIX_CMD_PAT
#nixDeps=$($NIX_CMD_PATH/nix-store -qR $(echo '(import ./pkgs.nix).nix' | $NIX_CMD_PATH/nix-instantiate -)) #nixDeps=$($NIX_CMD_PATH/nix-store -qR $(echo '(import ./pkgs.nix).nix' | $NIX_CMD_PATH/nix-instantiate -))
nixDeps=$($NIX_CMD_PATH/nix-store -qR $(nix-store -r $(echo '(import ./pkgs.nix).nix' | $NIX_CMD_PATH/nix-instantiate -))) #nixDeps=$($NIX_CMD_PATH/nix-store -qR $(nix-store -r $(echo '(import ./pkgs.nix).nix' | $NIX_CMD_PATH/nix-instantiate -)))
echo $($NIX_CMD_PATH/nix-store -qR $(nix-store -r $(echo '(import ./pkgs.nix).nix' | $NIX_CMD_PATH/nix-instantiate -))) >> $storePaths
echo $nixDeps #echo $nixDeps > $storePaths
utilLinux=$($NIX_CMD_PATH/nix-store -qR $(nix-store -r $(echo '(import ./pkgs.nix).utillinux' | $NIX_CMD_PATH/nix-instantiate -)))
(while read storepath; do
cp -fa --parents ${storepath} ${archivesDir}
done) < $storePaths
echo utillinux $utilLinux
for i in $utilLinux; do
echo i $i
deps=( $($NIX_CMD_PATH/nix-store -q --references $i) )
echo length ${#deps[@]}
if test "${#deps[@]}" = 0
then
echo zarro
fi
done
cp -fa ${nixpkgs} ${archivesDir} cp -fa ${nixpkgs} ${archivesDir}
cp -fa --parents ${nixDeps} ${archivesDir} #cp -fa --parents ${nixDeps} ${archivesDir}
cp -fau --parents ${utilLinux} ${archivesDir}
mkdir ${archivesDir}/scripts mkdir ${archivesDir}/scripts
cp -fa * ${archivesDir}/scripts cp -fa * ${archivesDir}/scripts
sed -e "s^@sysvinitPath\@^$sysvinitPath^g" \ sed -e "s^@sysvinitPath\@^$sysvinitPath^g" \