various improvements + stubs for later work, definitely not production ready
svn path=/nixu/trunk/; revision=3473
This commit is contained in:
parent
d623c357b5
commit
8f7215a779
38
fill-disk.sh
38
fill-disk.sh
@ -5,10 +5,10 @@ bootPath=@bootPath@
|
||||
|
||||
if ! test -n "$1"
|
||||
then
|
||||
echo "need URL for manifest!"
|
||||
echo "need harddisk device for installing!"
|
||||
exit
|
||||
else
|
||||
manifest=$1
|
||||
device=$1
|
||||
fi
|
||||
|
||||
make_dir() {
|
||||
@ -27,6 +27,17 @@ touch_file() {
|
||||
}
|
||||
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 /dev
|
||||
make_dir 00755 /proc
|
||||
@ -77,8 +88,8 @@ cp -fa ../pkgs $root/nixpkgs/trunk
|
||||
make_dir 0755 /tmp/scripts
|
||||
cp -fa ../scripts $root/tmp
|
||||
|
||||
echo adding manifest
|
||||
$NIX_CMD_PATH/nix-pull $manifest
|
||||
#echo adding manifest
|
||||
#$NIX_CMD_PATH/nix-pull $manifest
|
||||
|
||||
echo adding packages
|
||||
export NIX_ROOT=$root
|
||||
@ -87,8 +98,21 @@ unset NIX_LOG_DIR
|
||||
unset NIX_STATE_DIR
|
||||
unset NIX_CONF_DIR
|
||||
|
||||
storeExpr=$(echo '(import ./pkgs.nix).everything' | $NIX_CMD_PATH/nix-instantiate -v -v -)
|
||||
$NIX_CMD_PATH/nix-store -r $storeExpr
|
||||
#storeExpr=$(echo '(import /tmp/scripts/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-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...
|
||||
#(while read storepath; do
|
||||
@ -105,6 +129,8 @@ $NIX_CMD_PATH/nix-store -r $storeExpr
|
||||
# $NIX_CMD_PATH/nix-store --successor $line
|
||||
#done) < /tmp/mysuccessors
|
||||
|
||||
exit
|
||||
|
||||
echo setting init symlink...
|
||||
rm -f $root/init
|
||||
ln -s $sysvinitPath/sbin/init $root/init
|
||||
|
33
make-disk.sh
33
make-disk.sh
@ -1,9 +1,13 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
declare -a deps
|
||||
|
||||
archivesDir=/tmp/arch
|
||||
manifest=${archivesDir}/MANIFEST
|
||||
nixpkgs=/nixpkgs/trunk/pkgs
|
||||
fill_disk=$archivesDir/scripts/fill-disk.sh
|
||||
storePaths=$archivesDir/mystorepaths
|
||||
validatePaths=$archivesDir/validatepaths
|
||||
|
||||
touch ${archivesDir}/blah
|
||||
chmod -f -R +w ${archivesDir}/*
|
||||
@ -12,8 +16,7 @@ rm -rf ${archivesDir}/*
|
||||
NIX_CMD_PATH=/nix/bin
|
||||
|
||||
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 $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 -))
|
||||
|
||||
# Location of sysvinit?
|
||||
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 $(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 --parents ${nixDeps} ${archivesDir}
|
||||
#cp -fa --parents ${nixDeps} ${archivesDir}
|
||||
cp -fau --parents ${utilLinux} ${archivesDir}
|
||||
mkdir ${archivesDir}/scripts
|
||||
cp -fa * ${archivesDir}/scripts
|
||||
sed -e "s^@sysvinitPath\@^$sysvinitPath^g" \
|
||||
|
Loading…
x
Reference in New Issue
Block a user