X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=febootstrap.sh;h=590049990e3be9e35aceae7ff07f458e323a3ef9;hb=7195fe81a0b4781e53e6264eda4f495690795839;hp=41fc84c35ec29c1b840b332e9be4a13c44d79f21;hpb=1b640fb0bd84f88d378b6c4a74088ac22c8f7d75;p=febootstrap.git diff --git a/febootstrap.sh b/febootstrap.sh index 41fc84c..5900499 100755 --- a/febootstrap.sh +++ b/febootstrap.sh @@ -75,6 +75,9 @@ mirror="$3" # Architecture is currently always the same as the current arch. We # cannot do --foreign builds. See discussion in the manpage. arch=$(arch) +case $arch in + i?86) arch=i386 ;; +esac # Create a temporary directory, make sure it gets cleaned up at the end. tmpdir=$(mktemp -d) @@ -114,16 +117,26 @@ target=$(cd "$target"; pwd) # just create this file itself. mkdir -p "$target"/var/cache/yum/febootstrap/packages +# NB: REQUIRED for useradd/groupadd to run properly. +# +# However this causes 'filesystem' RPM install to give the +# following error. Not sure how serious the error is: +# error: unpacking of archive failed on file /proc: cpio: utime +export FAKECHROOT_EXCLUDE_PATH=/proc + # Make the device nodes inside the fake chroot. # (Copied from mock/backend.py) Why isn't there a base package which # creates these? make_device_nodes () { + mkdir "$target"/proc + mkdir "$target"/sys mkdir "$target"/dev ( cd "$target"/dev mkdir pts mkdir shm + mkdir mapper mknod null c 1 3; chmod 0666 null mknod full c 1 7; chmod 0666 full mknod zero c 1 5; chmod 0666 zero