summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-02-22 15:35:37 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-03-04 15:17:03 +0000
commit7d7068766fb1da7637f13e9cace65b12cb0ad4b6 (patch)
tree94c4b177fe366b2b0442545bffc1ea27154ba5eb
parent1492c0c084b90f86f5674844057850b9958b7ea7 (diff)
downloadfhs-dirs-7d7068766fb1da7637f13e9cace65b12cb0ad4b6.tar.gz
Try and fix build on every platform other than x86_64
We created a /lib symlink so that the loader would work, but stage 3 eglibc wants to install a real /lib directoy and that breaks things later on. Hopefully we can get by with just a /bin -> /tools/lib symlink and nothing for /lib. I don't see why that shouldn't work.
-rw-r--r--stage2-fhs-dirs.morph5
-rw-r--r--stage2-fhs-dirs.morph.yaml13
2 files changed, 11 insertions, 7 deletions
diff --git a/stage2-fhs-dirs.morph b/stage2-fhs-dirs.morph
index 0537ef0..2522400 100644
--- a/stage2-fhs-dirs.morph
+++ b/stage2-fhs-dirs.morph
@@ -4,10 +4,9 @@
"decription": "create the FHS 2.3 directory hierarchy and the usual files",
"install-commands": [
"sh ./create-fhs-dirs \"$DESTDIR\"",
- "rmdir \"$DESTDIR/bin\" \"$DESTDIR/lib\"",
+ "rmdir \"$DESTDIR/bin\"",
"ln -s \"$PREFIX/bin\" \"$DESTDIR/bin\"",
- "ln -s \"$PREFIX/lib\" \"$DESTDIR/lib\"",
- "cpu=$(echo $TARGET | cut -d '-' -f 1)\nif [ \"$cpu\" == \"x86_64\" ]; then\n mkdir -p \"$DESTDIR/lib64\"\n ln -s \"/lib/ld-linux-x86-64.so.2\" \"$DESTDIR/lib64/ld-linux-x86-64.so.2\"\nfi\n",
+ "cpu=$(echo $TARGET | cut -d '-' -f 1)\nif [ \"$cpu\" == \"x86_64\" ]; then\n mkdir -p \"$DESTDIR/lib64\"\n ln -s \"$PREFIX/lib/ld-linux-x86-64.so.2\" \"$DESTDIR/lib64/ld-linux-x86-64.so.2\"\nelse\n loader=$(ls /lib/ld-linux-*)\n ln -s \"$PREFIX$loader\" \"$DESTDIR$loader\"\nfi\n",
"sh ./create-dev-nodes \"$DESTDIR\"",
"install -m 644 passwd \"$DESTDIR/etc/passwd\"",
"install -m 600 shadow \"$DESTDIR/etc/shadow\"",
diff --git a/stage2-fhs-dirs.morph.yaml b/stage2-fhs-dirs.morph.yaml
index e58fff6..d7f7d15 100644
--- a/stage2-fhs-dirs.morph.yaml
+++ b/stage2-fhs-dirs.morph.yaml
@@ -4,11 +4,13 @@ decription: create the FHS 2.3 directory hierarchy and the usual files
install-commands:
# We tweak this a little for stage 2 because everything is installed into
- # the one sysroot (/tools). We use symlinked versions of /bin and /lib.
+ # the one sysroot (/tools). We can symlink /bin. We can't symlink /lib
+ # because eglibc install files there that we need to built other stage 3
+ # chunks, but we can get away with just symlinking the loader.
- sh ./create-fhs-dirs "$DESTDIR"
- - rmdir "$DESTDIR/bin" "$DESTDIR/lib"
+
+ - rmdir "$DESTDIR/bin"
- ln -s "$PREFIX/bin" "$DESTDIR/bin"
- - ln -s "$PREFIX/lib" "$DESTDIR/lib"
# This path is hardcoded into eglibc in the file
# sysdeps/unix/sysv/linux/configure; this ugly hack is a compromise.
@@ -16,7 +18,10 @@ install-commands:
cpu=$(echo $TARGET | cut -d '-' -f 1)
if [ "$cpu" == "x86_64" ]; then
mkdir -p "$DESTDIR/lib64"
- ln -s "/lib/ld-linux-x86-64.so.2" "$DESTDIR/lib64/ld-linux-x86-64.so.2"
+ ln -s "$PREFIX/lib/ld-linux-x86-64.so.2" "$DESTDIR/lib64/ld-linux-x86-64.so.2"
+ else
+ loader=$(ls /lib/ld-linux-*)
+ ln -s "$PREFIX$loader" "$DESTDIR$loader"
fi
- sh ./create-dev-nodes "$DESTDIR"