commit:     78bbfbe705e029c6bcf8ef7323baa07ff299a526
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  7 02:17:28 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 02:40:57 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=78bbfbe7

scripts/b-p.sh: calculate kernel version and select legacy profiles.

 scripts/bootstrap-prefix.sh | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 79ebc62..3eef582 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -218,6 +218,11 @@ configure_toolchain() {
 bootstrap_setup() {
        local profile=""
        einfo "setting up some guessed defaults"
+
+       # 2.6.32.1 -> 2*256^3 + 6*256^2 + 32 * 256 + 1 = 33955841
+       kver() { uname -r|cut -d\- -f1|awk -F. '{for (i=1; i<=NF; 
i++){s+=lshift($i,(4-i)*8)};print s}'; }
+       # >=glibc-2.20 requires >=linux-2.6.32.
+       profile-legacy() { [[ $(kver) -ge 33955840 ]] || echo /legacy; }
        
        if [[ ! -f ${ROOT}/etc/portage/make.conf ]] ; then
                {
@@ -267,6 +272,7 @@ bootstrap_setup() {
                        ln -sf {,"${ROOT}"}/etc/group
                [[ -f ${ROOT}/etc/resolv.conf ]] || ln -s 
{,"${ROOT}"}/etc/resolv.conf
                [[ -f ${ROOT}/etc/hosts ]] || cp {,"${ROOT}"}/etc/hosts
+               local legacy=$(profile-legacy)
        fi
 
        local linux=$(rapx linux-standalone linux)
@@ -296,22 +302,22 @@ bootstrap_setup() {
                        profile="prefix/darwin/macos/10.$((rev - 4))/x64"
                        ;;
                i*86-pc-linux-gnu)
-                       profile="prefix/${linux}/x86"
+                       profile="prefix/${linux}/x86${legacy}"
                        ;;
                x86_64-pc-linux-gnu)
-                       profile="prefix/${linux}/amd64"
+                       profile="prefix/${linux}/amd64${legacy}"
                        ;;
                ia64-pc-linux-gnu)
-                       profile="prefix/${linux}/ia64"
+                       profile="prefix/${linux}/ia64${legacy}"
                        ;;
                powerpc-unknown-linux-gnu)
-                       profile="prefix/${linux}/ppc"
+                       profile="prefix/${linux}/ppc${legacy}"
                        ;;
                powerpc64-unknown-linux-gnu)
-                       profile="prefix/${linux}/ppc64"
+                       profile="prefix/${linux}/ppc64${legacy}"
                        ;;
                armv7l-pc-linux-gnu)
-                       profile="prefix/${linux}/arm"
+                       profile="prefix/${linux}/arm${legacy}"
                        ;;
                sparc-sun-solaris2.9)
                        profile="prefix/sunos/solaris/5.9/sparc"

Reply via email to