public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Benda XU" <heroxbd@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:script-rap commit in: scripts/
Date: Fri, 27 May 2016 10:53:52 +0000 (UTC)	[thread overview]
Message-ID: <1464270941.499248ea415abdb6b171138a57e343bd779bafa2.heroxbd@gentoo> (raw)

commit:     499248ea415abdb6b171138a57e343bd779bafa2
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: Thu May 26 13:55:41 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=499248ea

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 63451ce..9990e41 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -225,7 +225,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"
@@ -1476,83 +1476,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	other threads:[~2016-05-27 10:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-27 10:53 Benda XU [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-05-27 10:53 [gentoo-commits] repo/proj/prefix:script-rap commit in: scripts/ Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU
2016-05-27 10:53 Benda XU

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1464270941.499248ea415abdb6b171138a57e343bd779bafa2.heroxbd@gentoo \
    --to=heroxbd@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox