public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-04  7:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-04  7:29 UTC (permalink / raw
  To: gentoo-commits

commit:     b4939312598049d67c1b4fd33b6f3e86f0244101
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  4 07:25:15 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sat Jun  4 07:25:15 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=b4939312

s/bootstrap-prefix.sh: remove EPREFIX/tmp after "emerge -e system".

  partially reverts 3a945696443b.

  1. A rerun of bootstrap script after "emerge -e system" failure
     should not go through stage1 again.
  2. For RAP binutils in stage3 is linked against zlib of stage2.

 scripts/bootstrap-prefix.sh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 8dc2915..8d295ed 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1512,12 +1512,6 @@ EOF
 	# Switch to the proper portage.
 	hash -r
 
-	# Get rid of the temporary tools.
-	if [[ -d ${ROOT}/tmp/var/tmp ]] ; then
-		rm -rf "${ROOT}"/tmp
-		mkdir "${ROOT}"/tmp
-	fi
-
 	# Update the portage tree.
 	treedate=$(date -f "${ROOT}"/usr/portage/metadata/timestamp +%s)
 	nowdate=$(date +%s)
@@ -2165,7 +2159,13 @@ EOF
 
 	hash -r  # tmp/* stuff is removed in stage3
 
-	if ! emerge -e system ; then
+	if emerge -e system ; then
+		# Now, after 'emerge -e system', we can get rid of the temporary tools.
+		if [[ -d ${EPREFIX}/tmp/var/tmp ]] ; then
+			rm -Rf "${EPREFIX}"/tmp || return 1
+			mkdir -p "${EPREFIX}"/tmp || return 1
+		fi
+	else
 		# emerge -e system fail
 		cat << EOF
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08  1:10 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-08  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     42cc3c6a762fd3d5dcb15cab5f194b1ccdc0d709
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  6 14:35:11 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Mon Jun  6 14:35:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=42cc3c6a

scripts/bootstrap-prefix.sh: EPREFIX/bin/sh link to bash

  Otherwise EPREFIX/tmp/bin/sh somehow stops working
  sh: error while loading shared libraries: libncurses.so.6

  https://bugs.gentoo.org/show_bug.cgi?id=575480#c12

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 8d295ed..47138a8 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -543,7 +543,7 @@ bootstrap_portage() {
 	[[ -x ${ROOT}/tmp/bin/bash ]] || ln -s "${BASH}" "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/sh ]] || ln -s bash "${ROOT}"/tmp/bin/sh || return 1
 	[[ -x ${ROOT}/bin/bash ]] || ln -s ../tmp/bin/bash "${ROOT}"/bin/bash || return 1
-	[[ -x ${ROOT}/bin/sh ]] || ln -s ../tmp/bin/sh "${ROOT}"/bin/sh || return 1
+	[[ -x ${ROOT}/bin/sh ]] || ln -s bash "${ROOT}"/bin/sh || return 1
 	export PORTAGE_BASH="${ROOT}"/tmp/bin/bash
 
 	einfo "Compiling ${A%-*}"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08  1:10 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-08  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     57a412802f36258306535f58d4f8449acb83d569
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 01:09:48 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun  8 01:09:48 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=57a41280

s/bootstrap-prefix.sh: stage tools should be used first in stage3.

 scripts/bootstrap-prefix.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index f9b0d9a..1031262 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1361,6 +1361,8 @@ bootstrap_stage3() {
 	fi
 
 	emerge_pkgs() {
+		# stage3 tools should be used first.
+		DEFAULT_PATH=$(echo "${ROOT}"/{,tmp/}{,usr/}{s,}bin | tr ' ' ':')
 		EPREFIX="${ROOT}" \
 		do_emerge_pkgs "$@"
 	}


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08  1:10 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-08  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     568a3e77aec87ff0381479daa75867fab241d527
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 01:26:42 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 01:26:42 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=568a3e77

s/bootstrap-prefix.sh: let SNAPSHOT_HOST use GENTOO_MIRRORS by default.

 scripts/bootstrap-prefix.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 47138a8..12f4077 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -2460,10 +2460,10 @@ export PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
 export DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
 PORTAGE_TMPDIR=${PORTAGE_TMPDIR:-${ROOT}/tmp/var/tmp}
 DISTFILES_URL=${DISTFILES_URL:-"http://dev.gentoo.org/~grobian/distfiles"}
-SNAPSHOT_HOST=$(rapx distfiles.gentoo.org rsync.prefix.bitzolder.nl)
-SNAPSHOT_URL=${SNAPSHOT_URL:-"http://${SNAPSHOT_HOST}/snapshots"}
 GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
 GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
+SNAPSHOT_HOST=$(rapx ${GENTOO_MIRRORS} http://rsync.prefix.bitzolder.nl)
+SNAPSHOT_URL=${SNAPSHOT_URL:-"${SNAPSHOT_HOST}/snapshots"}
 GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
 
 export MAKE CONFIG_SHELL


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08  1:10 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-08  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     450576c73e50e48a6d5aa7795606c1a65a3d460b
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 05:18:13 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 05:18:13 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=450576c7

scripts/bootstrap-prefix.sh: use the newest wget in stage1.

  wget-1.13.4 fails on CentOS 7.

  ./stdio.h:1012:1: error: 'gets' undeclared here (not in a function)
  _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 12f4077..6581c22 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -950,7 +950,7 @@ bootstrap_findutils() {
 }
 
 bootstrap_wget() {
-	bootstrap_gnu wget 1.13.4
+	bootstrap_gnu wget 1.17.1 || bootstrap_gnu wget 1.13.4
 }
 
 bootstrap_grep() {


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08  1:10 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-08  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     57a2dec52e8c8a20e0fd7f93882fa1a4615947b2
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 05:30:30 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 05:30:30 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=57a2dec5

should not use https, it need openssl on the host.

 scripts/bootstrap-prefix.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 6581c22..f9b0d9a 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -46,7 +46,7 @@ efetch() {
 			# Try to find a download manager, we only deal with wget,
 			# curl, FreeBSD's fetch and ftp.
 			if [[ x$(type -t wget) == "xfile" ]] ; then
-				FETCH_COMMAND="wget --no-check-certificate"
+				FETCH_COMMAND="wget"
 			elif [[ x$(type -t ftp) == "xfile" ]] ; then
 				FETCH_COMMAND="ftp"
 			elif [[ x$(type -t curl) == "xfile" ]] ; then
@@ -451,7 +451,7 @@ bootstrap_tree() {
 	fi
 	if is-rap; then
 		PORTDIR="${ROOT}/usr/portage-stage" \
-		       do_tree https://gitweb.gentoo.org/proj/android.git/snapshot android-master.tar.bz2
+		       do_tree http://dev.gentoo.org/~heroxbd android-master.tar.bz2
 	fi
 }
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     565458ece8f16dabdd04f0b6e4f4b2afddd98209
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 05:18:13 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Fri Jun 10 01:46:50 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=565458ec

scripts/bootstrap-prefix.sh: use the newest wget in stage1.

  wget-1.13.4 fails on CentOS 7.

  ./stdio.h:1012:1: error: 'gets' undeclared here (not in a function)
  _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index e5ad6b6..5a2e277 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -897,7 +897,7 @@ bootstrap_findutils() {
 }
 
 bootstrap_wget() {
-	bootstrap_gnu wget 1.13.4
+	bootstrap_gnu wget 1.17.1 || bootstrap_gnu wget 1.13.4
 }
 
 bootstrap_grep() {


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     a53075b6c0799cd4261922d00c01cffbec0b10ac
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 10:14:33 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=a53075b6

scripts/bootstrap-prefix.sh: setup android overlay as staged RAP repo.

  setup name databases.

 scripts/bootstrap-prefix.sh | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index a327803..3a4e4b3 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -234,6 +234,34 @@ bootstrap_setup() {
 		} > "${ROOT}"/etc/portage/make.conf
 	fi
 
+	if is-rap && [[ ! -f ${ROOT}/etc/portage/repos.conf ]] ; then
+		cat <<EOF >"${ROOT}"/etc/portage/repos.conf
+[DEFAULT]
+main-repo = gentoo
+eclass-overrides = rap
+
+[gentoo]
+location = ${ROOT}/usr/portage
+sync-type = rsync
+sync-uri = rsync://rsync.gentoo.org/gentoo-portage
+
+[rap]
+location = ${ROOT}/usr/portage-stage
+sync-type = git
+sync-uri = https://anongit.gentoo.org/git/proj/android.git
+auto-sync = no
+EOF
+	fi
+
+	if is-rap ; then
+		[[ -f ${ROOT}/etc/passwd ]] || getent passwd > "${ROOT}"/etc/passwd || \
+			ln -sf {,"${ROOT}"}/etc/passwd
+		[[ -f ${ROOT}/etc/group ]] || getent group > "${ROOT}"/etc/group || \
+			ln -sf {,"${ROOT}"}/etc/group
+		[[ -f ${ROOT}/etc/resolv.conf ]] || ln -s {,"${ROOT}"}/etc/resolv.conf
+		[[ -f ${ROOT}/etc/hosts ]] || ln -s {,"${ROOT}"}/etc/hosts
+	fi
+
 	local linux=$(rapx linux-standalone linux)
 	
 	case ${CHOST} in
@@ -415,6 +443,10 @@ bootstrap_tree() {
 	else
 		do_tree http://dev.gentoo.org/~grobian/distfiles prefix-overlay-${PV}.tar.bz2
 	fi
+	if is-rap; then
+		PORTDIR="${ROOT}/usr/portage-stage" \
+		       do_tree http://dev.gentoo.org/~heroxbd android-master.tar.bz2
+	fi
 }
 
 bootstrap_startscript() {
@@ -524,7 +556,9 @@ bootstrap_portage() {
 
 	[[ -e "${ROOT}"/tmp/usr/portage ]] || ln -s "${PORTDIR}" "${ROOT}"/tmp/usr/portage
 
-	if [[ -s ${PORTDIR}/profiles/repo_name ]]; then
+	if is-rap; then
+		cp -f "${ROOT}"/etc/portage/repos.conf "${ROOT}"/tmp/usr/share/portage/config/repos.conf
+	elif [[ -s ${PORTDIR}/profiles/repo_name ]]; then
 		# sync portage's repos.conf with the tree being used
 		sed -i -e "s,gentoo_prefix,$(<"${PORTDIR}"/profiles/repo_name)," "${ROOT}"/tmp/usr/share/portage/config/repos.conf || return 1
 	fi


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     7ae69c5013465b534ae960a153cb48e7ee3b837f
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:49:05 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=7ae69c50

scripts/bootstrap-prefix.sh: emacs local setup for the code standard.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 591cadf..a327803 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -2442,3 +2442,8 @@ fi
 einfo "ready to bootstrap ${TODO}"
 # bootstrap_interactive proceeds with guessed defaults when TODO=noninteractive
 bootstrap_${TODO#non} || exit 1
+
+# Local Variables:
+# sh-indentation: 8
+# sh-basic-offset: 8
+# End:


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     f06eace46dcf09beac1a383ba6b38645b48c7824
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 07:03:25 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=f06eace4

scripts/b-p.sh: no need to copy libgcc on RAP.

  ld.so of glibc does that.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 72f7195..b1f8f8a 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1318,9 +1318,11 @@ bootstrap_stage2() {
 		# do it ourselves here to make the bootstrap continue
 		( cd "${ROOT}"/tmp/usr/bin && ln -s clang ${CHOST}-clang && ln -s clang++ ${CHOST}-clang++ )
 	else
-		# make sure the EPREFIX gcc shared libraries are there
-		mkdir -p "${ROOT}"/usr/${CHOST}/lib/gcc
-		cp "${ROOT}"/tmp/usr/${CHOST}/lib/gcc/* "${ROOT}"/usr/${CHOST}/lib/gcc
+		if ! is-rap ; then
+			# make sure the EPREFIX gcc shared libraries are there
+			mkdir -p "${ROOT}"/usr/${CHOST}/lib/gcc
+			cp "${ROOT}"/tmp/usr/${CHOST}/lib/gcc/* "${ROOT}"/usr/${CHOST}/lib/gcc
+		fi
 	fi
 
 	einfo "stage2 successfully finished"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     fbe97b8ff249b261bd09b0e90d209bb9cb23b106
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 17:23:55 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=fbe97b8f

scripts/bootstrap-prefix.sh: support sys-libs/glibc.

  - do not need a linker in stage2 on RAP.
  - binutils-config and ldconfig should be called explicitly
  - lto of gcc should be disabled. ld points to the host dynamic
    loader and gcc points to the RAP one, ld cannot load the gcc
    lto plugin.

 scripts/bootstrap-prefix.sh | 32 +++++++++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 239aec0..0d209b2 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1271,7 +1271,7 @@ bootstrap_stage2() {
 		sys-devel/flex
 		sys-devel/bison
 		sys-devel/patch
-		sys-devel/binutils-config
+		$(rapx "" sys-devel/binutils-config)
 		$([[ ${CHOST} == *-aix* ]] && echo sys-apps/diffutils ) # gcc can't deal with aix diffutils, gcc PR14251
 	)
 
@@ -1282,6 +1282,7 @@ bootstrap_stage2() {
 	
 	# Build a linker and compiler that live in ${ROOT}/tmp, but
 	# produce binaries in ${ROOT}.
+	is-rap || \
 	USE="${USE} -cxx" \
 	TPREFIX="${ROOT}" \
 	emerge_pkgs --nodeps ${linker} || return 1
@@ -1291,6 +1292,7 @@ bootstrap_stage2() {
 	# package.use to disable in the temporary prefix.  
 	echo "dev-libs/gmp -cxx" >> "${ROOT}"/tmp/etc/portage/package.use
 
+	BOOTSTRAP_RAP_STAGE2=yes \
 	EXTRA_ECONF="--disable-bootstrap" \
 	GCC_MAKE_TARGET=all \
 	TPREFIX="${ROOT}" \
@@ -1385,6 +1387,24 @@ bootstrap_stage3() {
 	)
 	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
 
+	if is-rap ; then
+		binutils-config 1 || return 1
+		# We need ${ROOT}/usr/bin/perl to merge glibc.
+		if [[ ! -x "${ROOT}"/usr/bin/perl ]]; then
+			# trick "perl -V:apiversion" check of glibc-2.19.
+			echo -e "#!${ROOT}/bin/sh\necho 'apiversion=9999'" > "${ROOT}"/usr/bin/perl
+			chmod +x "${ROOT}"/usr/bin/perl
+		fi
+		# Tell dynamic loader the path of libgcc_s.so of stage2
+		if [[ ! -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf ]]; then
+			mkdir -p "${ROOT}"/etc/ld.so.conf.d
+			dirname $(gcc -print-libgcc-file-name) > "${ROOT}"/etc/ld.so.conf.d/stage2.conf
+		fi
+		BOOTSTRAP_RAP=yes \
+		emerge_pkgs --nodeps sys-kernel/linux-headers sys-libs/glibc \
+			&& "${ROOT}"/usr/sbin/ldconfig || return 1
+	fi
+
 	# On some hosts, gcc gets confused now when it uses the new linker,
 	# see for instance bug #575480.  While we would like to hide that
 	# linker, we can't since we want the compiler to pick it up.
@@ -1398,11 +1418,17 @@ bootstrap_stage3() {
 	( cd "${ROOT}"/usr/bin && test ! -e python && ln -s "${ROOT}"/tmp/usr/bin/python2.7 )
 	# in addition, avoid collisions
 	rm -Rf "${ROOT}"/tmp/usr/lib/python2.7/site-packages/clang
+
+	RAP_DLINKER=$(echo "${ROOT}"/$(get_libdir)/ld*.so.[0-9])
 	# try to get ourself out of the mudd, bug #575324
-	EXTRA_ECONF="--disable-compiler-version-checks" \
+	EXTRA_ECONF="--disable-compiler-version-checks $(rapx --disable-lto)" \
+	LDFLAGS="${LDFLAGS} $(rapx -Wl,--dynamic-linker=${RAP_DLINKER})" \
 	emerge_pkgs --nodeps ${compiler} || return 1
-	( cd "${ROOT}"/usr/bin && test ! -e python && rm -f python2.7 )
+	# undo libgcc_s.so path of stage2
+	rm -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf
+	"${ROOT}"/usr/sbin/ldconfig || return 1
 
+	( cd "${ROOT}"/usr/bin && test ! -e python && rm -f python2.7 )
 	# Use $ROOT tools where possible from now on.
 	rm -f "${ROOT}"/bin/sh
 	ln -s bash "${ROOT}"/bin/sh


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     d98f1f04ba8dfd7aa56f32644da64efd79fec36f
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 02:46:25 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=d98f1f04

scripts/bootstrap-prefix.sh: disable sandbox.

 scripts/bootstrap-prefix.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index e073e6d..46cf012 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -222,6 +222,8 @@ bootstrap_setup() {
 			echo 'CXXFLAGS="${CFLAGS}"'
 			echo "MAKEOPTS=\"${MAKEOPTS}\""
 			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
 				echo
 				echo "# This disables /usr-split, removing this will break"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     03f945855a7ee0664b79b276b0e74cea27865b51
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 06:59:33 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=03f94585

scripts/b-p.sh: link /usr/{lib -> lib64} in stage1

  on systems get_libdir != lib,
  python (looks into /usr/lib by default) need to find libffi
  (installs into /usr/lib64 by default).

  ugly enumerating all possible libdirs.

 scripts/bootstrap-prefix.sh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index cb649dc..72f7195 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1098,6 +1098,23 @@ bootstrap_stage1() { (
 			chmod 755 "${ROOT}"/tmp/usr/bin/java{,c}
 			;;
 	esac
+	# Host compiler can output a variety of libdirs.  At stage1,
+	# they should be the same as lib.  Otherwise libffi may not be
+	# found by python.
+	if is-rap ; then
+		[[ -d ${ROOT}/tmp/usr/lib ]] || mkdir -p "${ROOT}"/tmp/usr/lib
+		local libdir
+		for libdir in lib64 lib32 libx32; do
+			if [[ ! -L ${ROOT}/tmp/usr/${libdir} ]] ; then
+				if [[ -e "${ROOT}"/tmp/usr/${libdir} ]] ; then
+					echo "${ROOT}"/tmp/usr/${libdir} should be a symlink to lib
+					return 1
+				fi
+				ln -s lib "${ROOT}"/tmp/usr/${libdir}
+			fi
+		done
+	fi
+
 	# important to have our own (non-flawed one) since Python (from
 	# Portage) and binutils use it
 	for zlib in ${ROOT}/tmp/usr/lib/libz.* ; do


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     91158a5c7baec371c594eabb3b3792a7bf0cf53b
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:48:19 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=91158a5c

scripts/bootstrap-prefix.sh: rap helpers for profiles and portage tree.

 scripts/bootstrap-prefix.sh | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 5a2e277..591cadf 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -7,6 +7,8 @@ trap 'exit 1' TERM KILL INT QUIT ABRT
 # some basic output functions
 eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
+is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
+rapx() { is-rap && echo $1 || echo $2; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -231,6 +233,8 @@ bootstrap_setup() {
 				echo 'FETCHCOMMAND="bash -c \"echo I need \${FILE} from \${URI} in \${DISTDIR}; read\""'
 		} > "${ROOT}"/etc/portage/make.conf
 	fi
+
+	local linux=$(rapx linux-standalone linux)
 	
 	case ${CHOST} in
 		powerpc-apple-darwin7)
@@ -257,22 +261,22 @@ bootstrap_setup() {
 			profile="prefix/darwin/macos/10.$((rev - 4))/x64"
 			;;
 		i*86-pc-linux-gnu)
-			profile="prefix/linux/x86"
+			profile="prefix/${linux}/x86"
 			;;
 		x86_64-pc-linux-gnu)
-			profile="prefix/linux/amd64"
+			profile="prefix/${linux}/amd64"
 			;;
 		ia64-pc-linux-gnu)
-			profile="prefix/linux/ia64"
+			profile="prefix/${linux}/ia64"
 			;;
 		powerpc-unknown-linux-gnu)
-			profile="prefix/linux/ppc"
+			profile="prefix/${linux}/ppc"
 			;;
 		powerpc64-unknown-linux-gnu)
-			profile="prefix/linux/ppc64"
+			profile="prefix/${linux}/ppc64"
 			;;
 		armv7l-pc-linux-gnu)
-			profile="prefix/linux/arm"
+			profile="prefix/${linux}/arm"
 			;;
 		sparc-sun-solaris2.9)
 			profile="prefix/sunos/solaris/5.9/sparc"
@@ -404,6 +408,7 @@ do_tree() {
 }
 
 bootstrap_tree() {
+	is-rap && LATEST_TREE_YES=1
 	local PV="20160420"
 	if [[ -n ${LATEST_TREE_YES} ]]; then
 		do_tree "${SNAPSHOT_URL}" portage-latest.tar.bz2
@@ -2400,9 +2405,10 @@ export PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
 export DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
 PORTAGE_TMPDIR=${PORTAGE_TMPDIR:-${ROOT}/tmp/var/tmp}
 DISTFILES_URL=${DISTFILES_URL:-"http://dev.gentoo.org/~grobian/distfiles"}
-SNAPSHOT_URL=${SNAPSHOT_URL:-"http://rsync.prefix.bitzolder.nl/snapshots"}
 GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
 GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
+SNAPSHOT_HOST=$(rapx ${GENTOO_MIRRORS} http://rsync.prefix.bitzolder.nl)
+SNAPSHOT_URL=${SNAPSHOT_URL:-"${SNAPSHOT_HOST}/snapshots"}
 GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
 
 export MAKE CONFIG_SHELL


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     10f6517e6c32eb8777a51ae08492692fcd540dfc
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:41:35 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=10f6517e

bootstrap-prefix.sh: get_libdir for multilib support on RAP.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 4fba6df..cb649dc 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -9,6 +9,7 @@ eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
 is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
+get_libdir() { portageq envvar LIBDIR_$(portageq envvar ABI) || echo lib; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -407,7 +408,7 @@ EOF
 
 do_tree() {
 	local x
-	for x in etc{,/portage} usr/{{,s}bin,lib} var/tmp var/lib/portage var/log/portage var/db;
+	for x in etc{,/portage} usr/{{,s}bin,$(rapx "" lib)} var/tmp var/lib/portage var/log/portage var/db;
 	do
 		[[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
 	done
@@ -423,7 +424,7 @@ do_tree() {
 			[[ -e ${ROOT}/${x} ]] || ( cd "${ROOT}" && ln -s usr/${x} )
 		done
 	else
-		for x in lib sbin ; do
+		for x in $(rapx "" lib) sbin ; do
 			[[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
 		done
 	fi
@@ -531,7 +532,8 @@ bootstrap_portage() {
 	[[ -x ${ROOT}/tmp/bin/bash ]] || [[ ! -x ${ROOT}/tmp/usr/bin/bash ]] || ln -s ../usr/bin/bash "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/bash ]] || ln -s "${BASH}" "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/sh ]] || ln -s bash "${ROOT}"/tmp/bin/sh || return 1
-	[[ -x ${ROOT}/bin/sh ]] || ln -s ../tmp/bin/sh "${ROOT}"/bin/sh || return 1
+	[[ -x ${ROOT}/bin/bash ]] || ln -s ../tmp/bin/bash "${ROOT}"/bin/bash || return 1
+	[[ -x ${ROOT}/bin/sh ]] || ln -s bash "${ROOT}"/bin/sh || return 1
 	export PORTAGE_BASH="${ROOT}"/tmp/bin/bash
 
 	einfo "Compiling ${A%-*}"
@@ -1333,7 +1335,7 @@ bootstrap_stage3() {
 	configure_toolchain || return 1
 	export CONFIG_SHELL="${ROOT}"/tmp/bin/bash
 	export CPPFLAGS="-I${ROOT}/usr/include"
-	export LDFLAGS="-L${ROOT}/usr/lib"
+	export LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
 	unset CC CXX
 
 	emerge_pkgs() {


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     754d22bf69802625cca2798af7460c26b012284f
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 01:14:21 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=754d22bf

scripts/bootstrap-prefix.sh: remove libgcc hack on RAP.

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 108723c..3f891e8 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1443,7 +1443,7 @@ EOF
 	# linker, we can't since we want the compiler to pick it up.
 	# Therefore, inject some kludgy workaround, for deps like gmp that
 	# use c++
-	[[ ${CHOST} != *-darwin* ]] && export CXX="${CHOST}-g++ -lgcc_s"
+	[[ ${CHOST} != *-darwin* ]] && ! is-rap && export CXX="${CHOST}-g++ -lgcc_s"
 
 	# Clang unconditionally requires python, the eclasses are really not
 	# setup for a scenario where python doesn't live in the target


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

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"
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     84f34557e19b9cce392e412b6957628083c0f241
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 10:12:07 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=84f34557

scripts/bootstrap-prefix.sh: stage3 ld should link to stage2 zlib.

  zlib should not get rpath encoded

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 0d209b2..108723c 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1353,38 +1353,71 @@ bootstrap_stage3() {
 		fi
 	fi
 
-	configure_toolchain || return 1
-	export CONFIG_SHELL="${ROOT}"/tmp/bin/bash
-	export CPPFLAGS="-I${ROOT}/usr/include"
-	export LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
-	unset CC CXX
-
 	emerge_pkgs() {
 		EPREFIX="${ROOT}" \
 		do_emerge_pkgs "$@"
 	}
 
-	# GCC sometimes decides that it needs to run makeinfo to update some
-	# info pages from .texi files.  Obviously we don't care at this
-	# stage and rather have it continue instead of abort the build
-	export MAKEINFO="echo makeinfo GNU texinfo 4.13"
-	
-	# Build a native compiler.
+	configure_toolchain || return 1
+	export CONFIG_SHELL="${ROOT}"/tmp/bin/bash
+
+	# binutils cannot link against zlib in EPREFIX because
+	# later ld's host DL cannot load refreshed zlib with
+	# new glibc symbols.  It cannot link against host zlib
+	# either because it might be too old.  Therefore it
+	# can only be linked against stage2 zlib.
+	configure_cflags
 	pkgs=(
-		$([[ ${CHOST} == *-aix* ]] && echo dev-libs/libiconv ) # bash dependency
-		sys-libs/ncurses
-		sys-libs/readline
-		app-shells/bash
-		sys-apps/sed
-		app-arch/xz-utils
+		sys-apps/baselayout
 		sys-apps/gentoo-functions
-		sys-apps/baselayout-prefix
-		sys-devel/m4
-		sys-devel/flex
 		sys-devel/binutils-config
-		sys-libs/zlib
 		${linker}
 	)
+	is-rap && emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+
+	export CPPFLAGS="-I${ROOT}/usr/include"
+	export LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
+	unset CC CXX
+
+	# GCC sometimes decides that it needs to run makeinfo to update some
+	# info pages from .texi files.  Obviously we don't care at this
+	# stage and rather have it continue instead of abort the build
+	[[ -x "${ROOT}"/usr/bin/makeinfo ]] || cat > "${ROOT}"/usr/bin/makeinfo <<EOF
+#!${ROOT}/bin/bash
+echo "makeinfo GNU texinfo 4.13"
+for a in \$@; do
+case \$a in
+--*) f=\$(echo "\$a" | sed -r 's,--.*=(.*),\1,') ;;
+-*) ;;
+*) f=\$a ;;
+esac
+[[ -e \$f ]] || touch \$f
+done
+EOF
+	chmod +x "${ROOT}"/usr/bin/makeinfo
+	export INSTALL_INFO="${ROOT}"/usr/bin/makeinfo
+
+	if is-rap ; then
+		# zlib is needed by cc1 of gcc and has to be installed
+		# before glibc
+		pkgs=( sys-libs/zlib )
+	else
+		pkgs=(
+			$([[ ${CHOST} == *-aix* ]] && echo dev-libs/libiconv ) # bash dependency
+			sys-libs/ncurses
+			sys-libs/readline
+			app-shells/bash
+			sys-apps/sed
+			app-arch/xz-utils
+			sys-apps/gentoo-functions
+			sys-apps/baselayout-prefix
+			sys-devel/m4
+			sys-devel/flex
+			sys-devel/binutils-config
+			sys-libs/zlib
+			${linker}
+		)
+	fi
 	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
 
 	if is-rap ; then


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     eab0fda4c25215bdd85ce57d8f3dbc6e19868bda
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 10:29:05 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=eab0fda4

scripts/bootstrap-prefix.sh: install texinfo for glibc.

 scripts/bootstrap-prefix.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index b1f8f8a..239aec0 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1473,6 +1473,9 @@ bootstrap_stage3() {
 	CPPFLAGS="-DGNUSTEP_BASE_VERSION" \
 	CFLAGS= CXXFLAGS= USE="-git" emerge -u system || return 1
 
+	# TODO, glibc should depend on texinfo
+	is-rap && { emerge sys-apps/texinfo || return 1; }
+
 	# remove anything that we don't need (compilers most likely)
 	emerge --depclean
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     bb01d4d958e69fec3bd54045c054f9ab22d66a88
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 10:46:14 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=bb01d4d9

scripts/bootstrap-prefix.sh: USE=-acl for linux-standalone.

  Its profile does not mask acl.

 scripts/bootstrap-prefix.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 3a4e4b3..e073e6d 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1163,6 +1163,7 @@ do_emerge_pkgs() {
 		[[ -n ${pvdb} ]] && continue
 
 		local myuse=(
+			-acl
 			-berkdb
 			-fortran
 			-gdbm


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     94f2fde6329e5f9695d8fc91428a8514d4ce29a3
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 06:00:16 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=94f2fde6

s/bootstrap-prefix.sh: set CXX to convey LDFLAGS.

  gmp does not respect LDFLAGS in its configure, should set CXX instead.
  https://gmplib.org/manual/Known-Build-Problems.html#Known-Build-Problems

 scripts/bootstrap-prefix.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 1e5393b..a8ec06e 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1466,8 +1466,11 @@ EOF
 
 	RAP_DLINKER=$(echo "${ROOT}"/$(get_libdir)/ld*.so.[0-9])
 	# try to get ourself out of the mudd, bug #575324
+	# gmp does not respect LDFLAGS in its configure, should set CXX instead.
+	# https://gmplib.org/manual/Known-Build-Problems.html#Known-Build-Problems
 	EXTRA_ECONF="--disable-compiler-version-checks $(rapx --disable-lto)" \
 	LDFLAGS="${LDFLAGS} $(rapx -Wl,--dynamic-linker=${RAP_DLINKER})" \
+	CXX="${CHOST}-g++ ${LDFLAGS}" \
 	emerge_pkgs --nodeps ${compiler} || return 1
 	# undo libgcc_s.so path of stage2
 	rm -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     4cef85e0a1a666c09c2c3dbb210374a392715f1e
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 08:06:45 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=4cef85e0

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

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 3f891e8..c5ad77f 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -10,6 +10,8 @@ einfo() { echo "* $*"; }
 is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
 get_libdir() { portageq envvar LIBDIR_$(portageq envvar ABI) || echo lib; }
+kver() { uname -r|cut -d\- -f1|awk -F. '{for (i=1; i<=NF; i++){s+=lshift($i,(4-i)*8)};print s}'; }
+profile-legacy() { [[ $(kver) -ge 33955840 ]] || echo /legacy; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -263,6 +265,7 @@ EOF
 			ln -sf {,"${ROOT}"}/etc/group
 		[[ -f ${ROOT}/etc/resolv.conf ]] || ln -s {,"${ROOT}"}/etc/resolv.conf
 		[[ -f ${ROOT}/etc/hosts ]] || ln -s {,"${ROOT}"}/etc/hosts
+		local legacy=$(profile-legacy)
 	fi
 
 	local linux=$(rapx linux-standalone linux)
@@ -292,22 +295,22 @@ EOF
 			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"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     703616ef063672db9c9c868bbfcf091516ac6089
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  4 07:25:15 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=703616ef

s/bootstrap-prefix.sh: remove EPREFIX/tmp after "emerge -e system".

  partially reverts 3a945696443b.

  1. A rerun of bootstrap script after "emerge -e system" failure
     should not go through stage1 again.
  2. For RAP binutils in stage3 is linked against zlib of stage2.

 scripts/bootstrap-prefix.sh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index b2dc5ec..0b9601b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1515,12 +1515,6 @@ EOF
 	# Switch to the proper portage.
 	hash -r
 
-	# Get rid of the temporary tools.
-	if [[ -d ${ROOT}/tmp/var/tmp ]] ; then
-		rm -rf "${ROOT}"/tmp
-		mkdir "${ROOT}"/tmp
-	fi
-
 	# Update the portage tree.
 	treedate=$(date -f "${ROOT}"/usr/portage/metadata/timestamp +%s)
 	nowdate=$(date +%s)
@@ -2168,7 +2162,13 @@ EOF
 
 	hash -r  # tmp/* stuff is removed in stage3
 
-	if ! emerge -e system ; then
+	if emerge -e system ; then
+		# Now, after 'emerge -e system', we can get rid of the temporary tools.
+		if [[ -d ${EPREFIX}/tmp/var/tmp ]] ; then
+			rm -Rf "${EPREFIX}"/tmp || return 1
+			mkdir -p "${EPREFIX}"/tmp || return 1
+		fi
+	else
 		# emerge -e system fail
 		cat << EOF
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     99fb2b0902cd1315df2aa40940068d565779224a
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  9 01:50:33 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=99fb2b09

bootstrap-prefix.sh: copy hosts instead of linking it.

  Portage has modifications to hosts.

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 13fc48a..6fd749c 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -268,7 +268,7 @@ EOF
 		[[ -f ${ROOT}/etc/group ]] || getent group > "${ROOT}"/etc/group || \
 			ln -sf {,"${ROOT}"}/etc/group
 		[[ -f ${ROOT}/etc/resolv.conf ]] || ln -s {,"${ROOT}"}/etc/resolv.conf
-		[[ -f ${ROOT}/etc/hosts ]] || ln -s {,"${ROOT}"}/etc/hosts
+		[[ -f ${ROOT}/etc/hosts ]] || cp {,"${ROOT}"}/etc/hosts
 		local legacy=$(profile-legacy)
 	fi
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     0b2de32db9fa57a6f74849ce8abb839df63f74d6
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 08:18:37 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=0b2de32d

scripts/bootstrap-prefix.sh: startprefix for RAP.

 scripts/bootstrap-prefix.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index c5ad77f..b2dc5ec 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -476,6 +476,13 @@ bootstrap_startscript() {
 	# currently I think right into the prefix is the best location, as
 	# putting it in /bin or /usr/bin just hides it some more for the
 	# user
+	if is-rap ; then
+		mkdir -p "${ROOT}"/usr/portage/scripts
+		wget --no-check-certificate \
+		     https://gitweb.gentoo.org/repo/proj/prefix.git/plain/scripts/startprefix.in \
+		     -O "${ROOT}"/usr/portage/scripts/startprefix.in
+	fi
+
 	sed \
 		-e "s|@GENTOO_PORTAGE_EPREFIX@|${ROOT}|g" \
 		"${ROOT}"/usr/portage/scripts/startprefix.in \


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     f98dcf305b463f16e3e37a78a973802fc72f50fc
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 06:01:04 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=f98dcf30

s/bootstrap-prefix.sh: figure out ABI flags of x86.

 scripts/bootstrap-prefix.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index a8ec06e..13fc48a 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -143,7 +143,11 @@ configure_cflags() {
 			export CXX="${CXX-g++} -m32"
 			export HOSTCC="${CC}"
 			;;
-		*)
+		i*86-pc-linux-gnu)
+			if [[ $(${CC} -dumpspecs | grep -A1 multilib_default) != *m32 ]]; then
+				export CC="${CC-gcc} -m32"
+				export CXX="${CXX-g++} -m32"
+			fi
 			;;
 	esac
 }


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10  3:29 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-10  3:29 UTC (permalink / raw
  To: gentoo-commits

commit:     3a4fd1ab5c253a297900f5342b45b534bca7c375
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 01:09:48 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=3a4fd1ab

s/bootstrap-prefix.sh: stage tools should be used first in stage3.

 scripts/bootstrap-prefix.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 0b9601b..1e5393b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1364,6 +1364,8 @@ bootstrap_stage3() {
 	fi
 
 	emerge_pkgs() {
+		# stage3 tools should be used first.
+		DEFAULT_PATH=$(echo "${ROOT}"/{,tmp/}{,usr/}{s,}bin | tr ' ' ':') \
 		EPREFIX="${ROOT}" \
 		do_emerge_pkgs "$@"
 	}


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  0:35 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  0:35 UTC (permalink / raw
  To: gentoo-commits

commit:     6f8399cca7ce9cfd6f5b5ebc4307c12405d190e0
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 13 14:15:04 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Mon Jun 13 14:15:04 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=6f8399cc

bootstrap-prefix.sh: add move up curl

  add -f option to test against download failures.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 6fd749c..e164f6b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -47,13 +47,13 @@ efetch() {
 			# curl, FreeBSD's fetch and ftp.
 			if [[ x$(type -t wget) == "xfile" ]] ; then
 				FETCH_COMMAND="wget"
-			elif [[ x$(type -t ftp) == "xfile" ]] ; then
-				FETCH_COMMAND="ftp"
 			elif [[ x$(type -t curl) == "xfile" ]] ; then
 				einfo "WARNING: curl doesn't fail when downloading fails, please check its output carefully!"
-				FETCH_COMMAND="curl -L -O"
+				FETCH_COMMAND="curl -f -L -O"
 			elif [[ x$(type -t fetch) == "xfile" ]] ; then
 				FETCH_COMMAND="fetch"
+			elif [[ x$(type -t ftp) == "xfile" ]] ; then
+				FETCH_COMMAND="ftp"
 			else
 				eerror "no suitable download manager found (need wget, curl, fetch or ftp)"
 				eerror "could not download ${1##*/}"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  0:35 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  0:35 UTC (permalink / raw
  To: gentoo-commits

commit:     cb624b4b07da1b13ceec5cf01cee3daffa9fc932
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 13 14:37:13 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Mon Jun 13 14:37:13 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=cb624b4b

bootstrap-prefix.sh: add sys-apps/diffutils in stage2.

  It is needed by bison-3 build system.

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index e164f6b..b242491 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1283,10 +1283,10 @@ bootstrap_stage2() {
 		dev-libs/libffi
 		sys-devel/m4
 		sys-devel/flex
+		sys-apps/diffutils # needed by bison-3 build system
 		sys-devel/bison
 		sys-devel/patch
 		$(rapx "" sys-devel/binutils-config)
-		$([[ ${CHOST} == *-aix* ]] && echo sys-apps/diffutils ) # gcc can't deal with aix diffutils, gcc PR14251
 	)
 
 	# Most binary Linux distributions seem to fancy toolchains that


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     4183c9ff022a46dd0cc4e7ddfdd553bc4db7aca4
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 07:30:48 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 07:31:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4183c9ff

bootstrap-prefix.sh: add sys-apps/diffutils in stage2.

  It is needed by bison-3 build system.

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 83ec9e0..cde771d 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1208,10 +1208,10 @@ bootstrap_stage2() {
 		dev-libs/libffi
 		sys-devel/m4
 		sys-devel/flex
+		sys-apps/diffutils # needed by bison-3 build system
 		sys-devel/bison
 		sys-devel/patch
 		sys-devel/binutils-config
-		$([[ ${CHOST} == *-aix* ]] && echo sys-apps/diffutils ) # gcc can't deal with aix diffutils, gcc PR14251
 	)
 
 	# Most binary Linux distributions seem to fancy toolchains that


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     ccd402ab61f08764a770041e40aa8f66e9fff024
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 14 07:06:54 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Tue Jun 14 07:06:54 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=ccd402ab

scripts/bootstrap-prefix: provide working hint for OpenIndiana

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 5a2e277..83ec9e0 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1711,7 +1711,7 @@ from here, eh?  I just think you didn't install one.  I know it can be
 tricky on OpenIndiana, for instance, so won't blame you.  In case you're
 on OpenIndiana, I'll help you a bit.  Perform the following as
 super-user:
-  pkg install developer/gnu system/library/math/header-math
+  pkg install developer/gnu system/header
 In the meanwhile, I'll wait here until you run me again, with a compiler.
 EOF
 				fi


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     b0b1b89242da65cabd4cbc034ef3fdbe01c5773d
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 07:43:27 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 07:43:27 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=b0b1b892

scripts/bootstrap-prefix.sh: bump snapshot for Solaris fixes, bug #585918

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index cde771d..feeb58b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -404,7 +404,7 @@ do_tree() {
 }
 
 bootstrap_tree() {
-	local PV="20160420"
+	local PV="20160614"
 	if [[ -n ${LATEST_TREE_YES} ]]; then
 		do_tree "${SNAPSHOT_URL}" portage-latest.tar.bz2
 	else


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     d9f3ca959f9e89ff89e1bdfb9fb642eb31eedc50
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 06:01:04 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 07:58:22 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d9f3ca95

s/bootstrap-prefix.sh: figure out ABI flags of x86.

 scripts/bootstrap-prefix.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index feeb58b..9cda6b8 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -138,7 +138,11 @@ configure_cflags() {
 			export CXX="${CXX-g++} -m32"
 			export HOSTCC="${CC}"
 			;;
-		*)
+		i*86-pc-linux-gnu)
+			if [[ $(${CC} -dumpspecs | grep -A1 multilib_default) != *m32 ]]; then
+				export CC="${CC-gcc} -m32"
+				export CXX="${CXX-g++} -m32"
+			fi
 			;;
 	esac
 }


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
  2016-06-15  7:58 [gentoo-commits] repo/proj/prefix:master " Benda XU
@ 2016-06-15  8:04 ` Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     5fd4217cded80abf580361e5d232b99f0fcb0902
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 13 14:15:04 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 07:58:22 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=5fd4217c

bootstrap-prefix.sh: move up curl

  add -f option to test against download failures.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 9cda6b8..3c57b92 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -42,13 +42,13 @@ efetch() {
 			# curl, FreeBSD's fetch and ftp.
 			if [[ x$(type -t wget) == "xfile" ]] ; then
 				FETCH_COMMAND="wget"
-			elif [[ x$(type -t ftp) == "xfile" ]] ; then
-				FETCH_COMMAND="ftp"
 			elif [[ x$(type -t curl) == "xfile" ]] ; then
 				einfo "WARNING: curl doesn't fail when downloading fails, please check its output carefully!"
-				FETCH_COMMAND="curl -L -O"
+				FETCH_COMMAND="curl -f -L -O"
 			elif [[ x$(type -t fetch) == "xfile" ]] ; then
 				FETCH_COMMAND="fetch"
+			elif [[ x$(type -t ftp) == "xfile" ]] ; then
+				FETCH_COMMAND="ftp"
 			else
 				eerror "no suitable download manager found (need wget, curl, fetch or ftp)"
 				eerror "could not download ${1##*/}"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     76ec3f3ff3f8f203b9c2883f67378e0f28ac37c2
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 06:59:33 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:33 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=76ec3f3f

scripts/b-p.sh: link /usr/{lib -> lib64} in stage1

  on systems get_libdir != lib,
  python (looks into /usr/lib by default) need to find libffi
  (installs into /usr/lib64 by default).

  ugly enumerating all possible libdirs.

 scripts/bootstrap-prefix.sh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index aadd4d6..999e3b7 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1102,6 +1102,23 @@ bootstrap_stage1() { (
 			chmod 755 "${ROOT}"/tmp/usr/bin/java{,c}
 			;;
 	esac
+	# Host compiler can output a variety of libdirs.  At stage1,
+	# they should be the same as lib.  Otherwise libffi may not be
+	# found by python.
+	if is-rap ; then
+		[[ -d ${ROOT}/tmp/usr/lib ]] || mkdir -p "${ROOT}"/tmp/usr/lib
+		local libdir
+		for libdir in lib64 lib32 libx32; do
+			if [[ ! -L ${ROOT}/tmp/usr/${libdir} ]] ; then
+				if [[ -e "${ROOT}"/tmp/usr/${libdir} ]] ; then
+					echo "${ROOT}"/tmp/usr/${libdir} should be a symlink to lib
+					return 1
+				fi
+				ln -s lib "${ROOT}"/tmp/usr/${libdir}
+			fi
+		done
+	fi
+
 	# important to have our own (non-flawed one) since Python (from
 	# Portage) and binutils use it
 	for zlib in ${ROOT}/tmp/usr/lib/libz.* ; do


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     a1591cd8a82306081a2ea6005367b8dbede5f674
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 01:14:21 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=a1591cd8

scripts/bootstrap-prefix.sh: remove libgcc hack on RAP.

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index e524b7a..2c76097 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1437,7 +1437,7 @@ EOF
 	# linker, we can't since we want the compiler to pick it up.
 	# Therefore, inject some kludgy workaround, for deps like gmp that
 	# use c++
-	[[ ${CHOST} != *-darwin* ]] && export CXX="${CHOST}-g++ -lgcc_s"
+	[[ ${CHOST} != *-darwin* ]] && ! is-rap && export CXX="${CHOST}-g++ -lgcc_s"
 
 	# Clang unconditionally requires python, the eclasses are really not
 	# setup for a scenario where python doesn't live in the target


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     88aacdca2f26fca0ad143b62a0a4749f0ab6e997
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: Wed Jun 15 08:02:33 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=88aacdca

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 2439d56..cb2667f 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -228,7 +228,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"
@@ -1473,83 +1473,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"
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     94b33c1bc3251401014b010c9b983ff7365058bb
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 08:02:16 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=94b33c1b

scripts/bootstrap-prefix.sh: setup android overlay as staged RAP repo.

      setup name databases.

 scripts/bootstrap-prefix.sh | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 7096801..828043f 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -238,6 +238,34 @@ bootstrap_setup() {
 		} > "${ROOT}"/etc/portage/make.conf
 	fi
 
+	if is-rap && [[ ! -f ${ROOT}/etc/portage/repos.conf ]] ; then
+		cat <<EOF >"${ROOT}"/etc/portage/repos.conf
+[DEFAULT]
+main-repo = gentoo
+eclass-overrides = rap
+
+[gentoo]
+location = ${ROOT}/usr/portage
+sync-type = rsync
+sync-uri = rsync://rsync.gentoo.org/gentoo-portage
+
+[rap]
+location = ${ROOT}/usr/portage-stage
+sync-type = git
+sync-uri = https://anongit.gentoo.org/git/proj/android.git
+auto-sync = no
+EOF
+	fi
+
+	if is-rap ; then
+		[[ -f ${ROOT}/etc/passwd ]] || getent passwd > "${ROOT}"/etc/passwd || \
+			ln -sf {,"${ROOT}"}/etc/passwd
+		[[ -f ${ROOT}/etc/group ]] || getent group > "${ROOT}"/etc/group || \
+			ln -sf {,"${ROOT}"}/etc/group
+		[[ -f ${ROOT}/etc/resolv.conf ]] || ln -s {,"${ROOT}"}/etc/resolv.conf
+		[[ -f ${ROOT}/etc/hosts ]] || cp {,"${ROOT}"}/etc/hosts
+	fi
+
 	local linux=$(rapx linux-standalone linux)
 	
 	case ${CHOST} in
@@ -419,6 +447,10 @@ bootstrap_tree() {
 	else
 		do_tree http://dev.gentoo.org/~grobian/distfiles prefix-overlay-${PV}.tar.bz2
 	fi
+	if is-rap; then
+		PORTDIR="${ROOT}/usr/portage-stage" \
+		       do_tree http://dev.gentoo.org/~heroxbd android-master.tar.bz2
+	fi
 }
 
 bootstrap_startscript() {
@@ -528,7 +560,9 @@ bootstrap_portage() {
 
 	[[ -e "${ROOT}"/tmp/usr/portage ]] || ln -s "${PORTDIR}" "${ROOT}"/tmp/usr/portage
 
-	if [[ -s ${PORTDIR}/profiles/repo_name ]]; then
+	if is-rap; then
+		cp -f "${ROOT}"/etc/portage/repos.conf "${ROOT}"/tmp/usr/share/portage/config/repos.conf
+	elif [[ -s ${PORTDIR}/profiles/repo_name ]]; then
 		# sync portage's repos.conf with the tree being used
 		sed -i -e "s,gentoo_prefix,$(<"${PORTDIR}"/profiles/repo_name)," "${ROOT}"/tmp/usr/share/portage/config/repos.conf || return 1
 	fi


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     4ea386842995f3b715efcb1f6e994351a11f4dad
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 08:18:37 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4ea38684

scripts/bootstrap-prefix.sh: startprefix for RAP.

 scripts/bootstrap-prefix.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index b954c0e..a023ed3 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -480,6 +480,13 @@ bootstrap_startscript() {
 	# currently I think right into the prefix is the best location, as
 	# putting it in /bin or /usr/bin just hides it some more for the
 	# user
+	if is-rap ; then
+		mkdir -p "${ROOT}"/usr/portage/scripts
+		wget --no-check-certificate \
+		     https://gitweb.gentoo.org/repo/proj/prefix.git/plain/scripts/startprefix.in \
+		     -O "${ROOT}"/usr/portage/scripts/startprefix.in
+	fi
+
 	sed \
 		-e "s|@GENTOO_PORTAGE_EPREFIX@|${ROOT}|g" \
 		"${ROOT}"/usr/portage/scripts/startprefix.in \


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     1d71b219e234a15889f99063e8dcdff1ca44054c
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  4 07:25:15 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=1d71b219

s/bootstrap-prefix.sh: remove EPREFIX/tmp after "emerge -e system".

  partially reverts 3a945696443b.

  1. A rerun of bootstrap script after "emerge -e system" failure
     should not go through stage1 again.
  2. For RAP binutils in stage3 is linked against zlib of stage2.

 scripts/bootstrap-prefix.sh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index a023ed3..5cb89b7 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1508,12 +1508,6 @@ EOF
 	# Switch to the proper portage.
 	hash -r
 
-	# Get rid of the temporary tools.
-	if [[ -d ${ROOT}/tmp/var/tmp ]] ; then
-		rm -rf "${ROOT}"/tmp
-		mkdir "${ROOT}"/tmp
-	fi
-
 	# Update the portage tree.
 	treedate=$(date -f "${ROOT}"/usr/portage/metadata/timestamp +%s)
 	nowdate=$(date +%s)
@@ -2161,7 +2155,13 @@ EOF
 
 	hash -r  # tmp/* stuff is removed in stage3
 
-	if ! emerge -e system ; then
+	if emerge -e system ; then
+		# Now, after 'emerge -e system', we can get rid of the temporary tools.
+		if [[ -d ${EPREFIX}/tmp/var/tmp ]] ; then
+			rm -Rf "${EPREFIX}"/tmp || return 1
+			mkdir -p "${EPREFIX}"/tmp || return 1
+		fi
+	else
 		# emerge -e system fail
 		cat << EOF
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     d4625ed24127110822a59246fae71513a5b2b1de
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 07:03:25 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:33 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d4625ed2

scripts/bootstrap-prefix.sh: support sys-libs/glibc.

  - lto of gcc should be disabled. ld points to the host dynamic
    loader and gcc points to the RAP one, ld cannot load the gcc
    lto plugin.

  - stage tools should be used first in stage3.

  - makeinfo, perl are faked.

  - no need to copy libgcc on RAP.
    ld.so of glibc does that.

  - install texinfo for glibc.

 scripts/bootstrap-prefix.sh | 99 ++++++++++++++++++++++++++++++++++-----------
 1 file changed, 76 insertions(+), 23 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 999e3b7..e524b7a 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1285,9 +1285,11 @@ bootstrap_stage2() {
 	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
 	
 	# Build a linker and compiler that live in ${ROOT}/tmp, but
-	# produce binaries in ${ROOT}.
+	# produce binaries in ${ROOT}. Debian multiarch needs ld to
+	# support sysroot
 	USE="${USE} -cxx" \
 	TPREFIX="${ROOT}" \
+	EXTRA_ECONF="--with-sysroot=/" \
 	emerge_pkgs --nodeps ${linker} || return 1
 
 	# gmp has cxx flag enabled by default. When dealing with a host
@@ -1295,6 +1297,7 @@ bootstrap_stage2() {
 	# package.use to disable in the temporary prefix.  
 	echo "dev-libs/gmp -cxx" >> "${ROOT}"/tmp/etc/portage/package.use
 
+	BOOTSTRAP_RAP_STAGE2=yes \
 	EXTRA_ECONF="--disable-bootstrap" \
 	GCC_MAKE_TARGET=all \
 	TPREFIX="${ROOT}" \
@@ -1321,7 +1324,7 @@ bootstrap_stage2() {
 		# multilib.eclass -- can't blame it at this point really)
 		# do it ourselves here to make the bootstrap continue
 		( cd "${ROOT}"/tmp/usr/bin && ln -s clang ${CHOST}-clang && ln -s clang++ ${CHOST}-clang++ )
-	else
+	elif ! is-rap ; then
 		# make sure the EPREFIX gcc shared libraries are there
 		mkdir -p "${ROOT}"/usr/${CHOST}/lib/gcc
 		cp "${ROOT}"/tmp/usr/${CHOST}/lib/gcc/* "${ROOT}"/usr/${CHOST}/lib/gcc
@@ -1360,6 +1363,8 @@ bootstrap_stage3() {
 	unset CC CXX
 
 	emerge_pkgs() {
+		# stage3 tools should be used first.
+		DEFAULT_PATH=$(echo "${ROOT}"/{,tmp/}{,usr/}{s,}bin | tr ' ' ':') \
 		EPREFIX="${ROOT}" \
 		do_emerge_pkgs "$@"
 	}
@@ -1367,25 +1372,65 @@ bootstrap_stage3() {
 	# GCC sometimes decides that it needs to run makeinfo to update some
 	# info pages from .texi files.  Obviously we don't care at this
 	# stage and rather have it continue instead of abort the build
-	export MAKEINFO="echo makeinfo GNU texinfo 4.13"
-	
-	# Build a native compiler.
-	pkgs=(
-		$([[ ${CHOST} == *-aix* ]] && echo dev-libs/libiconv ) # bash dependency
-		sys-libs/ncurses
-		sys-libs/readline
-		app-shells/bash
-		sys-apps/sed
-		app-arch/xz-utils
-		sys-apps/gentoo-functions
-		sys-apps/baselayout-prefix
-		sys-devel/m4
-		sys-devel/flex
-		sys-devel/binutils-config
-		sys-libs/zlib
-		${linker}
-	)
-	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+	[[ -x "${ROOT}"/usr/bin/makeinfo ]] || cat > "${ROOT}"/usr/bin/makeinfo <<EOF
+#!${ROOT}/bin/bash
+echo "makeinfo GNU texinfo 4.13"
+for a in \$@; do
+case \$a in
+--*) f=\$(echo "\$a" | sed -r 's,--.*=(.*),\1,') ;;
+-*) ;;
+*) f=\$a ;;
+esac
+[[ -e \$f ]] || touch \$f
+done
+EOF
+	chmod +x "${ROOT}"/usr/bin/makeinfo
+	export INSTALL_INFO="${ROOT}"/usr/bin/makeinfo
+
+	if is-rap ; then
+		# We need ${ROOT}/usr/bin/perl to merge glibc.
+		if [[ ! -x "${ROOT}"/usr/bin/perl ]]; then
+			# trick "perl -V:apiversion" check of glibc-2.19.
+			echo -e "#!${ROOT}/bin/sh\necho 'apiversion=9999'" > "${ROOT}"/usr/bin/perl
+			chmod +x "${ROOT}"/usr/bin/perl
+		fi
+		# Tell dynamic loader the path of libgcc_s.so of stage2
+		if [[ ! -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf ]]; then
+			mkdir -p "${ROOT}"/etc/ld.so.conf.d
+			dirname $(gcc -print-libgcc-file-name) > "${ROOT}"/etc/ld.so.conf.d/stage2.conf
+		fi
+
+		pkgs=(
+			sys-apps/baselayout
+			sys-apps/gentoo-functions
+			sys-devel/binutils-config
+			${linker}
+			sys-kernel/linux-headers
+			sys-libs/glibc
+			sys-libs/zlib
+		)
+
+		BOOTSTRAP_RAP=yes \
+		emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+	else
+		pkgs=(
+			$([[ ${CHOST} == *-aix* ]] && echo dev-libs/libiconv ) # bash dependency
+			sys-libs/ncurses
+			sys-libs/readline
+			app-shells/bash
+			sys-apps/sed
+			app-arch/xz-utils
+			sys-apps/gentoo-functions
+			sys-apps/baselayout-prefix
+			sys-devel/m4
+			sys-devel/flex
+			sys-devel/binutils-config
+			sys-libs/zlib
+			${linker}
+		)
+
+		emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+	fi
 
 	# On some hosts, gcc gets confused now when it uses the new linker,
 	# see for instance bug #575480.  While we would like to hide that
@@ -1400,11 +1445,16 @@ bootstrap_stage3() {
 	( cd "${ROOT}"/usr/bin && test ! -e python && ln -s "${ROOT}"/tmp/usr/bin/python2.7 )
 	# in addition, avoid collisions
 	rm -Rf "${ROOT}"/tmp/usr/lib/python2.7/site-packages/clang
+
+	RAP_DLINKER=$(echo "${ROOT}"/$(get_libdir)/ld*.so.[0-9])
 	# try to get ourself out of the mudd, bug #575324
-	EXTRA_ECONF="--disable-compiler-version-checks" \
+	EXTRA_ECONF="--disable-compiler-version-checks $(rapx --disable-lto)" \
+	LDFLAGS="${LDFLAGS} $(rapx -Wl,--dynamic-linker=${RAP_DLINKER})" \
 	emerge_pkgs --nodeps ${compiler} || return 1
-	( cd "${ROOT}"/usr/bin && test ! -e python && rm -f python2.7 )
+	# undo libgcc_s.so path of stage2
+	rm -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf
 
+	( cd "${ROOT}"/usr/bin && test ! -e python && rm -f python2.7 )
 	# Use $ROOT tools where possible from now on.
 	rm -f "${ROOT}"/bin/sh
 	ln -s bash "${ROOT}"/bin/sh
@@ -1475,6 +1525,9 @@ bootstrap_stage3() {
 	CPPFLAGS="-DGNUSTEP_BASE_VERSION" \
 	CFLAGS= CXXFLAGS= USE="-git" emerge -u system || return 1
 
+	# TODO, glibc should depend on texinfo
+	is-rap && { emerge sys-apps/texinfo || return 1; }
+
 	# remove anything that we don't need (compilers most likely)
 	emerge --depclean
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     89abde97ac9d23774979a5a82c4c9da0f4a06904
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 02:46:25 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:33 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=89abde97

scripts/bootstrap-prefix.sh: disable sandbox.

 scripts/bootstrap-prefix.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 7c1747b..2439d56 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -226,6 +226,8 @@ bootstrap_setup() {
 			echo 'CXXFLAGS="${CFLAGS}"'
 			echo "MAKEOPTS=\"${MAKEOPTS}\""
 			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
 				echo
 				echo "# This disables /usr-split, removing this will break"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     5c43f619d033224faeed673af880bce5510daef2
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 08:06:45 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=5c43f619

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

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 2c76097..b954c0e 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -10,6 +10,8 @@ einfo() { echo "* $*"; }
 is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
 get_libdir() { portageq envvar LIBDIR_$(portageq envvar ABI) || echo lib; }
+kver() { uname -r|cut -d\- -f1|awk -F. '{for (i=1; i<=NF; i++){s+=lshift($i,(4-i)*8)};print s}'; }
+profile-legacy() { [[ $(kver) -ge 33955840 ]] || echo /legacy; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -267,6 +269,7 @@ EOF
 			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 +299,22 @@ EOF
 			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"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     e8058d1338e7166144537b83ac7d669e9c57b99e
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:41:35 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:33 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=e8058d13

bootstrap-prefix.sh: get_libdir for multilib support on RAP.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index cb2667f..aadd4d6 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -9,6 +9,7 @@ eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
 is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
+get_libdir() { portageq envvar LIBDIR_$(portageq envvar ABI) || echo lib; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -411,7 +412,7 @@ EOF
 
 do_tree() {
 	local x
-	for x in etc{,/portage} usr/{{,s}bin,lib} var/tmp var/lib/portage var/log/portage var/db;
+	for x in etc{,/portage} usr/{{,s}bin,$(rapx "" lib)} var/tmp var/lib/portage var/log/portage var/db;
 	do
 		[[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
 	done
@@ -427,7 +428,7 @@ do_tree() {
 			[[ -e ${ROOT}/${x} ]] || ( cd "${ROOT}" && ln -s usr/${x} )
 		done
 	else
-		for x in lib sbin ; do
+		for x in $(rapx "" lib) sbin ; do
 			[[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
 		done
 	fi
@@ -535,7 +536,8 @@ bootstrap_portage() {
 	[[ -x ${ROOT}/tmp/bin/bash ]] || [[ ! -x ${ROOT}/tmp/usr/bin/bash ]] || ln -s ../usr/bin/bash "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/bash ]] || ln -s "${BASH}" "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/sh ]] || ln -s bash "${ROOT}"/tmp/bin/sh || return 1
-	[[ -x ${ROOT}/bin/sh ]] || ln -s ../tmp/bin/sh "${ROOT}"/bin/sh || return 1
+	[[ -x ${ROOT}/bin/bash ]] || ln -s ../tmp/bin/bash "${ROOT}"/bin/bash || return 1
+	[[ -x ${ROOT}/bin/sh ]] || ln -s bash "${ROOT}"/bin/sh || return 1
 	export PORTAGE_BASH="${ROOT}"/tmp/bin/bash
 
 	einfo "Compiling ${A%-*}"
@@ -1337,7 +1339,7 @@ bootstrap_stage3() {
 	configure_toolchain || return 1
 	export CONFIG_SHELL="${ROOT}"/tmp/bin/bash
 	export CPPFLAGS="-I${ROOT}/usr/include"
-	export LDFLAGS="-L${ROOT}/usr/lib"
+	export LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
 	unset CC CXX
 
 	emerge_pkgs() {


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     19d921bfc563897c6ee35e75f34095eae13a2d02
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:48:19 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 07:59:44 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=19d921bf

scripts/bootstrap-prefix.sh: rap helpers for profiles and portage tree.

 scripts/bootstrap-prefix.sh | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 3c57b92..2c8e5f1 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -7,6 +7,8 @@ trap 'exit 1' TERM KILL INT QUIT ABRT
 # some basic output functions
 eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
+is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
+rapx() { is-rap && echo $1 || echo $2; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -235,6 +237,8 @@ bootstrap_setup() {
 				echo 'FETCHCOMMAND="bash -c \"echo I need \${FILE} from \${URI} in \${DISTDIR}; read\""'
 		} > "${ROOT}"/etc/portage/make.conf
 	fi
+
+	local linux=$(rapx linux-standalone linux)
 	
 	case ${CHOST} in
 		powerpc-apple-darwin7)
@@ -261,22 +265,22 @@ bootstrap_setup() {
 			profile="prefix/darwin/macos/10.$((rev - 4))/x64"
 			;;
 		i*86-pc-linux-gnu)
-			profile="prefix/linux/x86"
+			profile="prefix/${linux}/x86"
 			;;
 		x86_64-pc-linux-gnu)
-			profile="prefix/linux/amd64"
+			profile="prefix/${linux}/amd64"
 			;;
 		ia64-pc-linux-gnu)
-			profile="prefix/linux/ia64"
+			profile="prefix/${linux}/ia64"
 			;;
 		powerpc-unknown-linux-gnu)
-			profile="prefix/linux/ppc"
+			profile="prefix/${linux}/ppc"
 			;;
 		powerpc64-unknown-linux-gnu)
-			profile="prefix/linux/ppc64"
+			profile="prefix/${linux}/ppc64"
 			;;
 		armv7l-pc-linux-gnu)
-			profile="prefix/linux/arm"
+			profile="prefix/${linux}/arm"
 			;;
 		sparc-sun-solaris2.9)
 			profile="prefix/sunos/solaris/5.9/sparc"
@@ -408,6 +412,7 @@ do_tree() {
 }
 
 bootstrap_tree() {
+	is-rap && LATEST_TREE_YES=1
 	local PV="20160614"
 	if [[ -n ${LATEST_TREE_YES} ]]; then
 		do_tree "${SNAPSHOT_URL}" portage-latest.tar.bz2
@@ -2404,9 +2409,10 @@ export PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
 export DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
 PORTAGE_TMPDIR=${PORTAGE_TMPDIR:-${ROOT}/tmp/var/tmp}
 DISTFILES_URL=${DISTFILES_URL:-"http://dev.gentoo.org/~grobian/distfiles"}
-SNAPSHOT_URL=${SNAPSHOT_URL:-"http://rsync.prefix.bitzolder.nl/snapshots"}
 GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
 GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
+SNAPSHOT_HOST=$(rapx ${GENTOO_MIRRORS} http://rsync.prefix.bitzolder.nl)
+SNAPSHOT_URL=${SNAPSHOT_URL:-"${SNAPSHOT_HOST}/snapshots"}
 GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
 
 export MAKE CONFIG_SHELL


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     4d7daa49f985f8a14bf5a3de67cf8ff79c3ebd54
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:49:05 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 07:59:44 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4d7daa49

scripts/bootstrap-prefix.sh: emacs local setup for the code standard.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 2c8e5f1..7096801 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -2446,3 +2446,8 @@ fi
 einfo "ready to bootstrap ${TODO}"
 # bootstrap_interactive proceeds with guessed defaults when TODO=noninteractive
 bootstrap_${TODO#non} || exit 1
+
+# Local Variables:
+# sh-indentation: 8
+# sh-basic-offset: 8
+# End:


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15  8:04 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     4812b687b54eef9398e8d39c75deab7d3e0a6fe6
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 10:46:14 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 08:02:33 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4812b687

scripts/bootstrap-prefix.sh: USE=-acl for linux-standalone.

  Its profile does not mask acl.

 scripts/bootstrap-prefix.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 828043f..7c1747b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1167,6 +1167,7 @@ do_emerge_pkgs() {
 		[[ -n ${pvdb} ]] && continue
 
 		local myuse=(
+			-acl
 			-berkdb
 			-fortran
 			-gdbm


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     e79437a1898424155d07358250a05c774e9e4548
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:48:19 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=e79437a1

scripts/bootstrap-prefix.sh: rap helpers for profiles and portage tree.

 scripts/bootstrap-prefix.sh | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index a171e97..d9bf104 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -7,6 +7,8 @@ trap 'exit 1' TERM KILL INT QUIT ABRT
 # some basic output functions
 eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
+is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
+rapx() { is-rap && echo $1 || echo $2; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -235,6 +237,8 @@ bootstrap_setup() {
 				echo 'FETCHCOMMAND="bash -c \"echo I need \${FILE} from \${URI} in \${DISTDIR}; read\""'
 		} > "${ROOT}"/etc/portage/make.conf
 	fi
+
+	local linux=$(rapx linux-standalone linux)
 	
 	case ${CHOST} in
 		powerpc-apple-darwin7)
@@ -261,22 +265,22 @@ bootstrap_setup() {
 			profile="prefix/darwin/macos/10.$((rev - 4))/x64"
 			;;
 		i*86-pc-linux-gnu)
-			profile="prefix/linux/x86"
+			profile="prefix/${linux}/x86"
 			;;
 		x86_64-pc-linux-gnu)
-			profile="prefix/linux/amd64"
+			profile="prefix/${linux}/amd64"
 			;;
 		ia64-pc-linux-gnu)
-			profile="prefix/linux/ia64"
+			profile="prefix/${linux}/ia64"
 			;;
 		powerpc-unknown-linux-gnu)
-			profile="prefix/linux/ppc"
+			profile="prefix/${linux}/ppc"
 			;;
 		powerpc64-unknown-linux-gnu)
-			profile="prefix/linux/ppc64"
+			profile="prefix/${linux}/ppc64"
 			;;
 		armv7l-pc-linux-gnu)
-			profile="prefix/linux/arm"
+			profile="prefix/${linux}/arm"
 			;;
 		sparc-sun-solaris2.9)
 			profile="prefix/sunos/solaris/5.9/sparc"
@@ -408,6 +412,7 @@ do_tree() {
 }
 
 bootstrap_tree() {
+	is-rap && LATEST_TREE_YES=1
 	local PV="20160614"
 	if [[ -n ${LATEST_TREE_YES} ]]; then
 		do_tree "${SNAPSHOT_URL}" portage-latest.tar.bz2
@@ -2405,9 +2410,10 @@ export PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
 export DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
 PORTAGE_TMPDIR=${PORTAGE_TMPDIR:-${ROOT}/tmp/var/tmp}
 DISTFILES_URL=${DISTFILES_URL:-"http://dev.gentoo.org/~grobian/distfiles"}
-SNAPSHOT_URL=${SNAPSHOT_URL:-"http://rsync.prefix.bitzolder.nl/snapshots"}
 GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
 GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
+SNAPSHOT_HOST=$(rapx ${GENTOO_MIRRORS} http://rsync.prefix.bitzolder.nl)
+SNAPSHOT_URL=${SNAPSHOT_URL:-"${SNAPSHOT_HOST}/snapshots"}
 GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
 
 export MAKE CONFIG_SHELL


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
  2016-06-15 10:12 [gentoo-commits] repo/proj/prefix:master " Benda XU
@ 2016-06-15 11:32 ` Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     4557631dcc108d099859ffcd7b7901ce5a4b8c9e
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 10:10:17 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 10:11:53 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4557631d

bootstrap-prefix.sh: gzip is a valid portage dependency.

 scripts/bootstrap-prefix.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 3c57b92..a171e97 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1356,6 +1356,7 @@ bootstrap_stage3() {
 	pkgs=(
 		sys-apps/coreutils
 		sys-apps/findutils
+		app-arch/gzip
 		app-arch/tar
 		sys-apps/grep
 		sys-apps/gawk


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     5dede2df8b212cd9c06162597561c6149b74958e
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 08:18:37 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=5dede2df

scripts/bootstrap-prefix.sh: startprefix for RAP.

 scripts/bootstrap-prefix.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 90a7f03..a5db862 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -480,6 +480,13 @@ bootstrap_startscript() {
 	# currently I think right into the prefix is the best location, as
 	# putting it in /bin or /usr/bin just hides it some more for the
 	# user
+	if is-rap ; then
+		mkdir -p "${ROOT}"/usr/portage/scripts
+		wget --no-check-certificate \
+		     https://gitweb.gentoo.org/repo/proj/prefix.git/plain/scripts/startprefix.in \
+		     -O "${ROOT}"/usr/portage/scripts/startprefix.in
+	fi
+
 	sed \
 		-e "s|@GENTOO_PORTAGE_EPREFIX@|${ROOT}|g" \
 		"${ROOT}"/usr/portage/scripts/startprefix.in \


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     77daf004a7e34c8e90b485a2680eb9dee9ca748e
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:41:35 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=77daf004

bootstrap-prefix.sh: get_libdir for multilib support on RAP.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 84c2bfe..ea6a71a 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -9,6 +9,7 @@ eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
 is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
+get_libdir() { portageq envvar LIBDIR_$(portageq envvar ABI) || echo lib; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -411,7 +412,7 @@ EOF
 
 do_tree() {
 	local x
-	for x in etc{,/portage} usr/{{,s}bin,lib} var/tmp var/lib/portage var/log/portage var/db;
+	for x in etc{,/portage} usr/{{,s}bin,$(rapx "" lib)} var/tmp var/lib/portage var/log/portage var/db;
 	do
 		[[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
 	done
@@ -427,7 +428,7 @@ do_tree() {
 			[[ -e ${ROOT}/${x} ]] || ( cd "${ROOT}" && ln -s usr/${x} )
 		done
 	else
-		for x in lib sbin ; do
+		for x in $(rapx "" lib) sbin ; do
 			[[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
 		done
 	fi
@@ -535,7 +536,8 @@ bootstrap_portage() {
 	[[ -x ${ROOT}/tmp/bin/bash ]] || [[ ! -x ${ROOT}/tmp/usr/bin/bash ]] || ln -s ../usr/bin/bash "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/bash ]] || ln -s "${BASH}" "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/sh ]] || ln -s bash "${ROOT}"/tmp/bin/sh || return 1
-	[[ -x ${ROOT}/bin/sh ]] || ln -s ../tmp/bin/sh "${ROOT}"/bin/sh || return 1
+	[[ -x ${ROOT}/bin/bash ]] || ln -s ../tmp/bin/bash "${ROOT}"/bin/bash || return 1
+	[[ -x ${ROOT}/bin/sh ]] || ln -s bash "${ROOT}"/bin/sh || return 1
 	export PORTAGE_BASH="${ROOT}"/tmp/bin/bash
 
 	einfo "Compiling ${A%-*}"
@@ -1337,7 +1339,7 @@ bootstrap_stage3() {
 	configure_toolchain || return 1
 	export CONFIG_SHELL="${ROOT}"/tmp/bin/bash
 	export CPPFLAGS="-I${ROOT}/usr/include"
-	export LDFLAGS="-L${ROOT}/usr/lib"
+	export LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
 	unset CC CXX
 
 	emerge_pkgs() {


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     223cb3f0f4555a092212ef244547a59bc20fbbde
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 08:06:45 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=223cb3f0

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

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 6a1f3cd..90a7f03 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -10,6 +10,8 @@ einfo() { echo "* $*"; }
 is-rap() { [[ ${BASH_SOURCE} = *rap.sh ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
 get_libdir() { portageq envvar LIBDIR_$(portageq envvar ABI) || echo lib; }
+kver() { uname -r|cut -d\- -f1|awk -F. '{for (i=1; i<=NF; i++){s+=lshift($i,(4-i)*8)};print s}'; }
+profile-legacy() { [[ $(kver) -ge 33955840 ]] || echo /legacy; }
 
 # prefer gtar over tar
 [[ x$(type -t gtar) == "xfile" ]] \
@@ -267,6 +269,7 @@ EOF
 			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 +299,22 @@ EOF
 			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"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     fa9d48f13cda205ccfceaa2495d09f256ff8ceec
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 09:49:05 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=fa9d48f1

scripts/bootstrap-prefix.sh: emacs local setup for the code standard.

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

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index d9bf104..832fa7c 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -2447,3 +2447,8 @@ fi
 einfo "ready to bootstrap ${TODO}"
 # bootstrap_interactive proceeds with guessed defaults when TODO=noninteractive
 bootstrap_${TODO#non} || exit 1
+
+# Local Variables:
+# sh-indentation: 8
+# sh-basic-offset: 8
+# End:


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     60a639bb8ca70dc3ad8b798ecab39d1834d11298
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: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=60a639bb

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 3f42276..84c2bfe 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -228,7 +228,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"
@@ -1474,83 +1474,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"
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     26a37bba985a20cabf0f21d9d571dfed6ba3f2ce
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 01:14:21 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=26a37bba

scripts/bootstrap-prefix.sh: remove libgcc hack on RAP.

 scripts/bootstrap-prefix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index d6e5d6b..6a1f3cd 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1435,7 +1435,7 @@ EOF
 	# linker, we can't since we want the compiler to pick it up.
 	# Therefore, inject some kludgy workaround, for deps like gmp that
 	# use c++
-	[[ ${CHOST} != *-darwin* ]] && export CXX="${CHOST}-g++ -lgcc_s"
+	[[ ${CHOST} != *-darwin* ]] && ! is-rap && export CXX="${CHOST}-g++ -lgcc_s"
 
 	# Clang unconditionally requires python, the eclasses are really not
 	# setup for a scenario where python doesn't live in the target


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     4590ce47edba1f3c4d681bcf1a114629c4871da2
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu May 26 02:46:25 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4590ce47

scripts/bootstrap-prefix.sh: disable sandbox.

 scripts/bootstrap-prefix.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 4b66e0f..3f42276 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -226,6 +226,8 @@ bootstrap_setup() {
 			echo 'CXXFLAGS="${CFLAGS}"'
 			echo "MAKEOPTS=\"${MAKEOPTS}\""
 			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
 				echo
 				echo "# This disables /usr-split, removing this will break"


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     161adbdc1301c4bc05ac230be97640ca13cbdd9b
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 07:03:25 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=161adbdc

scripts/bootstrap-prefix.sh: support sys-libs/glibc.

  - lto of gcc should be disabled. ld points to the host dynamic
    loader and gcc points to the RAP one, ld cannot load the gcc
    lto plugin.

  - stage tools should be used first in stage3.

  - makeinfo, perl are faked.

  - no need to copy libgcc on RAP.
    ld.so of glibc does that.

  - install texinfo for glibc.

  - stage3 linker can only be compiled after compiler.

    otherwise stage2 gcc will mix host glibc headers with those of
    stage3.

 scripts/bootstrap-prefix.sh | 104 ++++++++++++++++++++++++++++++++++----------
 1 file changed, 81 insertions(+), 23 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 6d52f19..d6e5d6b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1285,9 +1285,11 @@ bootstrap_stage2() {
 	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
 	
 	# Build a linker and compiler that live in ${ROOT}/tmp, but
-	# produce binaries in ${ROOT}.
+	# produce binaries in ${ROOT}. Debian multiarch needs ld to
+	# support sysroot
 	USE="${USE} -cxx" \
 	TPREFIX="${ROOT}" \
+	EXTRA_ECONF="--with-sysroot=/" \
 	emerge_pkgs --nodeps ${linker} || return 1
 
 	# gmp has cxx flag enabled by default. When dealing with a host
@@ -1295,6 +1297,7 @@ bootstrap_stage2() {
 	# package.use to disable in the temporary prefix.  
 	echo "dev-libs/gmp -cxx" >> "${ROOT}"/tmp/etc/portage/package.use
 
+	BOOTSTRAP_RAP_STAGE2=yes \
 	EXTRA_ECONF="--disable-bootstrap" \
 	GCC_MAKE_TARGET=all \
 	TPREFIX="${ROOT}" \
@@ -1321,7 +1324,7 @@ bootstrap_stage2() {
 		# multilib.eclass -- can't blame it at this point really)
 		# do it ourselves here to make the bootstrap continue
 		( cd "${ROOT}"/tmp/usr/bin && ln -s clang ${CHOST}-clang && ln -s clang++ ${CHOST}-clang++ )
-	else
+	elif ! is-rap ; then
 		# make sure the EPREFIX gcc shared libraries are there
 		mkdir -p "${ROOT}"/usr/${CHOST}/lib/gcc
 		cp "${ROOT}"/tmp/usr/${CHOST}/lib/gcc/* "${ROOT}"/usr/${CHOST}/lib/gcc
@@ -1360,6 +1363,8 @@ bootstrap_stage3() {
 	unset CC CXX
 
 	emerge_pkgs() {
+		# stage3 tools should be used first.
+		DEFAULT_PATH=$(echo "${ROOT}"/{,tmp/}{,usr/}{s,}bin | tr ' ' ':') \
 		EPREFIX="${ROOT}" \
 		do_emerge_pkgs "$@"
 	}
@@ -1367,25 +1372,63 @@ bootstrap_stage3() {
 	# GCC sometimes decides that it needs to run makeinfo to update some
 	# info pages from .texi files.  Obviously we don't care at this
 	# stage and rather have it continue instead of abort the build
-	export MAKEINFO="echo makeinfo GNU texinfo 4.13"
-	
-	# Build a native compiler.
-	pkgs=(
-		$([[ ${CHOST} == *-aix* ]] && echo dev-libs/libiconv ) # bash dependency
-		sys-libs/ncurses
-		sys-libs/readline
-		app-shells/bash
-		sys-apps/sed
-		app-arch/xz-utils
-		sys-apps/gentoo-functions
-		sys-apps/baselayout-prefix
-		sys-devel/m4
-		sys-devel/flex
-		sys-devel/binutils-config
-		sys-libs/zlib
-		${linker}
-	)
-	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+	[[ -x "${ROOT}"/usr/bin/makeinfo ]] || cat > "${ROOT}"/usr/bin/makeinfo <<EOF
+#!${ROOT}/bin/bash
+echo "makeinfo GNU texinfo 4.13"
+for a in \$@; do
+case \$a in
+--*) f=\$(echo "\$a" | sed -r 's,--.*=(.*),\1,') ;;
+-*) ;;
+*) f=\$a ;;
+esac
+[[ -e \$f ]] || touch \$f
+done
+EOF
+	chmod +x "${ROOT}"/usr/bin/makeinfo
+	export INSTALL_INFO="${ROOT}"/usr/bin/makeinfo
+
+	if is-rap ; then
+		# We need ${ROOT}/usr/bin/perl to merge glibc.
+		if [[ ! -x "${ROOT}"/usr/bin/perl ]]; then
+			# trick "perl -V:apiversion" check of glibc-2.19.
+			echo -e "#!${ROOT}/bin/sh\necho 'apiversion=9999'" > "${ROOT}"/usr/bin/perl
+			chmod +x "${ROOT}"/usr/bin/perl
+		fi
+		# Tell dynamic loader the path of libgcc_s.so of stage2
+		if [[ ! -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf ]]; then
+			mkdir -p "${ROOT}"/etc/ld.so.conf.d
+			dirname $(gcc -print-libgcc-file-name) > "${ROOT}"/etc/ld.so.conf.d/stage2.conf
+		fi
+
+		pkgs=(
+			sys-apps/baselayout
+			sys-apps/gentoo-functions
+			sys-kernel/linux-headers
+			sys-libs/glibc
+			sys-libs/zlib
+		)
+
+		BOOTSTRAP_RAP=yes \
+		emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+	else
+		pkgs=(
+			$([[ ${CHOST} == *-aix* ]] && echo dev-libs/libiconv ) # bash dependency
+			sys-libs/ncurses
+			sys-libs/readline
+			app-shells/bash
+			sys-apps/sed
+			app-arch/xz-utils
+			sys-apps/gentoo-functions
+			sys-apps/baselayout-prefix
+			sys-devel/m4
+			sys-devel/flex
+			sys-devel/binutils-config
+			sys-libs/zlib
+			${linker}
+		)
+
+		emerge_pkgs --nodeps "${pkgs[@]}" || return 1
+	fi
 
 	# On some hosts, gcc gets confused now when it uses the new linker,
 	# see for instance bug #575480.  While we would like to hide that
@@ -1400,11 +1443,23 @@ bootstrap_stage3() {
 	( cd "${ROOT}"/usr/bin && test ! -e python && ln -s "${ROOT}"/tmp/usr/bin/python2.7 )
 	# in addition, avoid collisions
 	rm -Rf "${ROOT}"/tmp/usr/lib/python2.7/site-packages/clang
+
+	RAP_DLINKER=$(echo "${ROOT}"/$(get_libdir)/ld*.so.[0-9])
 	# try to get ourself out of the mudd, bug #575324
-	EXTRA_ECONF="--disable-compiler-version-checks" \
+	EXTRA_ECONF="--disable-compiler-version-checks $(rapx --disable-lto)" \
+	LDFLAGS="${LDFLAGS} $(rapx -Wl,--dynamic-linker=${RAP_DLINKER})" \
 	emerge_pkgs --nodeps ${compiler} || return 1
-	( cd "${ROOT}"/usr/bin && test ! -e python && rm -f python2.7 )
+	# undo libgcc_s.so path of stage2
 
+	rm -f "${ROOT}"/etc/ld.so.conf.d/stage2.conf
+	if is-rap ; then
+		"${ROOT}"/usr/sbin/ldconfig
+		# should be linked against stage3 zlib, and can only
+		# be compiled after gcc has the headers of Prefix glibc.
+		emerge_pkgs --nodeps sys-devel/binutils-config ${linker} || return 1
+	fi
+
+	( cd "${ROOT}"/usr/bin && test ! -e python && rm -f python2.7 )
 	# Use $ROOT tools where possible from now on.
 	rm -f "${ROOT}"/bin/sh
 	ln -s bash "${ROOT}"/bin/sh
@@ -1476,6 +1531,9 @@ bootstrap_stage3() {
 	CPPFLAGS="-DGNUSTEP_BASE_VERSION" \
 	CFLAGS= CXXFLAGS= USE="-git" emerge -u system || return 1
 
+	# TODO, glibc should depend on texinfo
+	is-rap && { emerge sys-apps/texinfo || return 1; }
+
 	# remove anything that we don't need (compilers most likely)
 	emerge --depclean
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     71c06cb062ae5261de9e56c36e6a5b3d3cc510ea
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  4 07:25:15 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=71c06cb0

s/bootstrap-prefix.sh: remove EPREFIX/tmp after "emerge -e system".

  partially reverts 3a945696443b.

  1. A rerun of bootstrap script after "emerge -e system" failure
     should not go through stage1 again.
  2. For RAP binutils in stage3 is linked against zlib of stage2.

 scripts/bootstrap-prefix.sh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index a5db862..7e73ca2 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1514,12 +1514,6 @@ EOF
 	# Switch to the proper portage.
 	hash -r
 
-	# Get rid of the temporary tools.
-	if [[ -d ${ROOT}/tmp/var/tmp ]] ; then
-		rm -rf "${ROOT}"/tmp
-		mkdir "${ROOT}"/tmp
-	fi
-
 	# Update the portage tree.
 	treedate=$(date -f "${ROOT}"/usr/portage/metadata/timestamp +%s)
 	nowdate=$(date +%s)
@@ -2167,7 +2161,13 @@ EOF
 
 	hash -r  # tmp/* stuff is removed in stage3
 
-	if ! emerge -e system ; then
+	if emerge -e system ; then
+		# Now, after 'emerge -e system', we can get rid of the temporary tools.
+		if [[ -d ${EPREFIX}/tmp/var/tmp ]] ; then
+			rm -Rf "${EPREFIX}"/tmp || return 1
+			mkdir -p "${EPREFIX}"/tmp || return 1
+		fi
+	else
 		# emerge -e system fail
 		cat << EOF
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     412adb2418e720c253daf34d58af2387b668b152
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 06:59:33 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=412adb24

scripts/b-p.sh: link /usr/{lib -> lib64} in stage1

  on systems get_libdir != lib,
  python (looks into /usr/lib by default) need to find libffi
  (installs into /usr/lib64 by default).

  ugly enumerating all possible libdirs.

 scripts/bootstrap-prefix.sh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index ea6a71a..6d52f19 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1102,6 +1102,23 @@ bootstrap_stage1() { (
 			chmod 755 "${ROOT}"/tmp/usr/bin/java{,c}
 			;;
 	esac
+	# Host compiler can output a variety of libdirs.  At stage1,
+	# they should be the same as lib.  Otherwise libffi may not be
+	# found by python.
+	if is-rap ; then
+		[[ -d ${ROOT}/tmp/usr/lib ]] || mkdir -p "${ROOT}"/tmp/usr/lib
+		local libdir
+		for libdir in lib64 lib32 libx32; do
+			if [[ ! -L ${ROOT}/tmp/usr/${libdir} ]] ; then
+				if [[ -e "${ROOT}"/tmp/usr/${libdir} ]] ; then
+					echo "${ROOT}"/tmp/usr/${libdir} should be a symlink to lib
+					return 1
+				fi
+				ln -s lib "${ROOT}"/tmp/usr/${libdir}
+			fi
+		done
+	fi
+
 	# important to have our own (non-flawed one) since Python (from
 	# Portage) and binutils use it
 	for zlib in ${ROOT}/tmp/usr/lib/libz.* ; do


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     ed5a5d795f42d073fbd7ec21521a878c965f6e13
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 10:46:14 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=ed5a5d79

scripts/bootstrap-prefix.sh: USE=-acl for linux-standalone.

  Its profile does not mask acl.

 scripts/bootstrap-prefix.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 341de44..4b66e0f 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1167,6 +1167,7 @@ do_emerge_pkgs() {
 		[[ -n ${pvdb} ]] && continue
 
 		local myuse=(
+			-acl
 			-berkdb
 			-fortran
 			-gdbm


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-06-15 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     ff60b49e88ee0669aa97d9ea7ac45d1ef26966c9
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 08:02:16 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 11:32:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=ff60b49e

scripts/bootstrap-prefix.sh: setup android overlay as staged RAP repo.

      setup name databases.

 scripts/bootstrap-prefix.sh | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 832fa7c..341de44 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -238,6 +238,34 @@ bootstrap_setup() {
 		} > "${ROOT}"/etc/portage/make.conf
 	fi
 
+	if is-rap && [[ ! -f ${ROOT}/etc/portage/repos.conf ]] ; then
+		cat <<EOF >"${ROOT}"/etc/portage/repos.conf
+[DEFAULT]
+main-repo = gentoo
+eclass-overrides = rap
+
+[gentoo]
+location = ${ROOT}/usr/portage
+sync-type = rsync
+sync-uri = rsync://rsync.gentoo.org/gentoo-portage
+
+[rap]
+location = ${ROOT}/usr/portage-stage
+sync-type = git
+sync-uri = https://anongit.gentoo.org/git/proj/android.git
+auto-sync = no
+EOF
+	fi
+
+	if is-rap ; then
+		[[ -f ${ROOT}/etc/passwd ]] || getent passwd > "${ROOT}"/etc/passwd || \
+			ln -sf {,"${ROOT}"}/etc/passwd
+		[[ -f ${ROOT}/etc/group ]] || getent group > "${ROOT}"/etc/group || \
+			ln -sf {,"${ROOT}"}/etc/group
+		[[ -f ${ROOT}/etc/resolv.conf ]] || ln -s {,"${ROOT}"}/etc/resolv.conf
+		[[ -f ${ROOT}/etc/hosts ]] || cp {,"${ROOT}"}/etc/hosts
+	fi
+
 	local linux=$(rapx linux-standalone linux)
 	
 	case ${CHOST} in
@@ -419,6 +447,10 @@ bootstrap_tree() {
 	else
 		do_tree http://dev.gentoo.org/~grobian/distfiles prefix-overlay-${PV}.tar.bz2
 	fi
+	if is-rap; then
+		PORTDIR="${ROOT}/usr/portage-stage" \
+		       do_tree http://dev.gentoo.org/~heroxbd android-master.tar.bz2
+	fi
 }
 
 bootstrap_startscript() {
@@ -528,7 +560,9 @@ bootstrap_portage() {
 
 	[[ -e "${ROOT}"/tmp/usr/portage ]] || ln -s "${PORTDIR}" "${ROOT}"/tmp/usr/portage
 
-	if [[ -s ${PORTDIR}/profiles/repo_name ]]; then
+	if is-rap; then
+		cp -f "${ROOT}"/etc/portage/repos.conf "${ROOT}"/tmp/usr/share/portage/config/repos.conf
+	elif [[ -s ${PORTDIR}/profiles/repo_name ]]; then
 		# sync portage's repos.conf with the tree being used
 		sed -i -e "s,gentoo_prefix,$(<"${PORTDIR}"/profiles/repo_name)," "${ROOT}"/tmp/usr/share/portage/config/repos.conf || return 1
 	fi


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-07-02  1:33 Benda XU
  0 siblings, 0 replies; 62+ messages in thread
From: Benda XU @ 2016-07-02  1:33 UTC (permalink / raw
  To: gentoo-commits

commit:     ea76a7be66652252874364526eaf69463b5d31e5
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  4 07:25:15 2016 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sat Jul  2 01:33:07 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=ea76a7be

s/bootstrap-prefix.sh: remove EPREFIX/tmp after "emerge -e system".

  partially reverts 3a945696443b.

  A rerun of bootstrap script after "emerge -e system" failure
  should not go through stage1 again.

 scripts/bootstrap-prefix.sh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index a5db862..7e73ca2 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1514,12 +1514,6 @@ EOF
 	# Switch to the proper portage.
 	hash -r
 
-	# Get rid of the temporary tools.
-	if [[ -d ${ROOT}/tmp/var/tmp ]] ; then
-		rm -rf "${ROOT}"/tmp
-		mkdir "${ROOT}"/tmp
-	fi
-
 	# Update the portage tree.
 	treedate=$(date -f "${ROOT}"/usr/portage/metadata/timestamp +%s)
 	nowdate=$(date +%s)
@@ -2167,7 +2161,13 @@ EOF
 
 	hash -r  # tmp/* stuff is removed in stage3
 
-	if ! emerge -e system ; then
+	if emerge -e system ; then
+		# Now, after 'emerge -e system', we can get rid of the temporary tools.
+		if [[ -d ${EPREFIX}/tmp/var/tmp ]] ; then
+			rm -Rf "${EPREFIX}"/tmp || return 1
+			mkdir -p "${EPREFIX}"/tmp || return 1
+		fi
+	else
 		# emerge -e system fail
 		cat << EOF
 


^ permalink raw reply related	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2016-07-02  1:33 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-10  3:29 [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/ Benda XU
  -- strict thread matches above, loose matches on Subject: below --
2016-07-02  1:33 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 11:32 Benda XU
2016-06-15 10:12 [gentoo-commits] repo/proj/prefix:master " Benda XU
2016-06-15 11:32 ` [gentoo-commits] repo/proj/prefix:rap0 " Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  8:04 Benda XU
2016-06-15  7:58 [gentoo-commits] repo/proj/prefix:master " Benda XU
2016-06-15  8:04 ` [gentoo-commits] repo/proj/prefix:rap0 " Benda XU
2016-06-15  0:35 Benda XU
2016-06-15  0:35 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-10  3:29 Benda XU
2016-06-08  1:10 Benda XU
2016-06-08  1:10 Benda XU
2016-06-08  1:10 Benda XU
2016-06-08  1:10 Benda XU
2016-06-08  1:10 Benda XU
2016-06-04  7:29 Benda XU

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox