summaryrefslogtreecommitdiffstats
path: root/febootstrap.sh
diff options
context:
space:
mode:
authorrjones <rjones>2009-03-20 15:59:12 +0000
committerrjones <rjones>2009-03-20 15:59:12 +0000
commit27c40551782151bd441552198faee69669b8b195 (patch)
tree0c4f5032e32252d5c165745c0c1bc93091a518df /febootstrap.sh
parentd89a55b4a3249e74602f9dc3cd26a8cca3370e7f (diff)
downloadfebootstrap-27c40551782151bd441552198faee69669b8b195.tar.gz
febootstrap-27c40551782151bd441552198faee69669b8b195.tar.xz
febootstrap-27c40551782151bd441552198faee69669b8b195.zip
Create /proc, /sys and /dev/mapper directories.
Use FAKECHROOT_EXCLUDE_PATH=/proc which is required so that useradd/ groupadd work correctly.
Diffstat (limited to 'febootstrap.sh')
-rwxr-xr-xfebootstrap.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/febootstrap.sh b/febootstrap.sh
index 41fc84c..c32bc7a 100755
--- a/febootstrap.sh
+++ b/febootstrap.sh
@@ -114,16 +114,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