From 698e4aed71d282e20cf54086034acbbdb2ad61d5 Mon Sep 17 00:00:00 2001
From: Sam Thursfield <sam.thursfield@codethink.co.uk>
Date: Wed, 5 Jul 2017 16:39:37 +0000
Subject: gnu-toolchain: Add /lib64 -> /usr/lib64 symlink on 64-bit arches

This is required at least for armv8l64, otherwise the glibc.bst
element installs a symlink in /usr/lib/ld-linux-aarch64.so.2 that
points to a missing file (it expects /usr/lib64/ld-linux-aarch64.so.2
to exist, but if /lib64 is a directory rather than a symlink then
that file ends up only in the /lib64/ directory).

This also makes our filesystem hierarchy more consistent with other
GNU/Linux operating systems.
---
 elements/gnu-toolchain/stage2-glibc.bst | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

(limited to 'elements/gnu-toolchain/stage2-glibc.bst')

diff --git a/elements/gnu-toolchain/stage2-glibc.bst b/elements/gnu-toolchain/stage2-glibc.bst
index 809803fa..8c75e788 100644
--- a/elements/gnu-toolchain/stage2-glibc.bst
+++ b/elements/gnu-toolchain/stage2-glibc.bst
@@ -109,17 +109,20 @@ config:
   - |
     case "%{bst-target-arch}" in
     x86_64)
-      install -d "%{install-root}/lib64"
+      install -d "%{install-root}/usr/lib64"
+      ln -s "/usr/lib64" "%{install-root}/lib64"
       ln -s "%{prefix}/lib/ld-linux-x86-64.so.2" \
-            "%{install-root}/lib64/ld-linux-x86-64.so.2" ;;
+            "%{install-root}/usr/lib64/ld-linux-x86-64.so.2" ;;
     ppc64l)
-      install -d "%{install-root}/lib64"
+      install -d "%{install-root}/usr/lib64"
+      ln -s "/usr/lib64" "%{install-root}/lib64"
       ln -s "%{prefix}/lib/ld64.so.2" \
-            "%{install-root}/lib64/ld64.so.2" ;;
+            "%{install-root}/usr/lib64/ld64.so.2" ;;
     ppc64b)
-      install -d "%{install-root}/lib64"
+      install -d "%{install-root}/usr/lib64"
+      ln -s "/usr/lib64" "%{install-root}/lib64"
       ln -s "%{prefix}/lib/ld64.so.1" \
-            "%{install-root}/lib64/ld64.so.1" ;;
+            "%{install-root}/usr/lib64/ld64.so.1" ;;
     *)
       loader=$(basename $(ls "%{install-root}%{prefix}"/lib/ld-linux*))
       [ -z $loader ] && loader=$(basename $(ls "%{install-root}%{prefix}"/lib/ld.so*))
-- 
cgit v1.2.1

