commit:     21aeb54b33d10e6fab076beacf146dd6b4cf8fdd
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 07:06:09 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Fri Jun 10 01:47:29 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=21aeb54b

bootstrap-prefix.sh: no USR SPLIT for RAP.  Support Debian multiarch.

 scripts/bootstrap-prefix.sh | 82 +++------------------------------------------
 1 file changed, 5 insertions(+), 77 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 46cf012..4fba6df 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -224,7 +224,7 @@ bootstrap_setup() {
                        echo "CONFIG_SHELL=\"${ROOT}/bin/bash\""
                        rapx "# sandbox does not work well on Prefix, bug 
490246"
                        rapx 'FEATURES="-usersandbox -sandbox"'
-                       if [[ -n ${PREFIX_DISABLE_USR_SPLIT} ]] ; then
+                       if [[ !is-rap && -n ${PREFIX_DISABLE_USR_SPLIT} ]] ; 
then
                                echo
                                echo "# This disables /usr-split, removing this 
will break"
                                echo "PREFIX_DISABLE_GEN_USR_LDSCRIPT=yes"
@@ -1469,83 +1469,11 @@ bootstrap_interactive() {
        # eventually ends up in make.conf, see the end of stage3.  We don't
        # do this in bootstrap_setup() because in that case we'd also have
        # to cater for getting this right with manual bootstraps.
-       export PREFIX_DISABLE_USR_SPLIT=yes 
+       is-rap || export PREFIX_DISABLE_USR_SPLIT=yes
 
-       # immediately die on platforms that we know are impossible due to
-       # brain-deadness (Debian/Ubuntu) or extremely hard dependency chains
-       # (TODO NetBSD/OpenBSD)
-       case ${CHOST} in
-               *-linux-gnu)
-                       local toolchain_impossible=
-                       # Figure out if this is Ubuntu...
-                       if [[ $(lsb_release -is 2>/dev/null) == "Ubuntu" ]] ; 
then
-                               case "$(lsb_release -sr)" in
-                                       [456789].*|10.*)
-                                               : # good versions
-                                               ;;
-                                       *)
-                                               # Debian/Ubuntu have seriously 
fscked up their
-                                               # toolchain to support their 
multi-arch crap
-                                               # since Natty (11.04) that 
noone really wants,
-                                               # and certainly not upstream.  
Some details:
-                                               # 
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/738098
-                                               toolchain_impossible="Ubuntu >= 
11.04 (Natty)"
-                                               ;;
-                               esac
-                       fi
-                       # Figure out if this is Debian
-                       if [[ -e /etc/debian_release ]] ; then
-                               case "$(< /etc/debian_release)" in
-                                       
hamm/*|slink/*|potato/*|woody/*|sarge/*|etch/*|lenny/*|squeeze/*)
-                                               : # good versions
-                                               ;;
-                                       *)
-                                               # Debian introduced their big 
crap since Wheezy
-                                               # (7.0), like for Ubuntu, see 
above
-                                               toolchain_impossible="Debian >= 
7.0 (Wheezy)"
-                                               ;;
-                               esac
-                       fi
-                       if [[ -n ${toolchain_impossible} ]] ; then
-                               # In short, it's impossible for us to compile a
-                               # compiler, since 1) gcc picks up our ld, which 
doesn't
-                               # support sysroot (can work around with a 
wrapper
-                               # script), 2) headers and libs aren't found 
(symlink
-                               # them to Prefix), 3) stuff like crtX.i isn't 
found
-                               # during bootstrap, since the bootstrap 
compiler doesn't
-                               # get any of our flags and doesn't know where 
to find
-                               # them (even if we copied them).  So we cannot 
do this,
-                               # unless we use the Ubuntu patches in our 
ebuilds, which
-                               # is a NO-GO area.
-                               cat << EOF
-Oh My!  ${toolchain_impossible}!  AAAAAAAAAAAAAAAAAAAAARGH!  HELL comes over 
me!
-
-EOF
-                               echo -n "..."
-                               sleep 1
-                               echo -n "."
-                               sleep 1
-                               echo -n "."
-                               sleep 1
-                               echo -n "."
-                               sleep 1
-                               echo
-                               echo
-                               cat << EOF
-and over you.  You're on the worst Linux distribution from a developer's
-(and so Gentoo Prefix) perspective since http://wiki.debian.org/Multiarch/.
-Due to this multi-arch idea, it is IMPOSSIBLE for Gentoo Prefix to
-bootstrap a compiler without using Debuntu patches, which is an absolute
-NO-GO area!  GCC and binutils upstreams didn't just reject those patches
-for fun.
-
-I really can't help you, and won't waste any of your time either.  The
-story simply ends here.  Sorry.
-EOF
-                               exit 1
-                       fi
-                       ;;
-       esac
+       # TODO should immediately die on platforms that we know are
+       # impossible due extremely hard dependency chains
+       # (NetBSD/OpenBSD)
 
        cat <<"EOF"
 

Reply via email to