* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-04 7:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08 1:10 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08 1:10 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08 1:10 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08 1:10 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-08 1:10 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-10 3:29 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 0:35 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 0:35 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:master commit in: scripts/
2016-06-15 8:04 [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/ Benda XU
@ 2016-06-15 7:58 ` Benda XU
0 siblings, 0 replies; 63+ messages in thread
From: Benda XU @ 2016-06-15 7:58 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
2016-06-15 7:58 ` [gentoo-commits] repo/proj/prefix:master " Benda XU
0 siblings, 1 reply; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ 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; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 8:04 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ 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; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-06-15 11:32 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
* [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/
@ 2016-07-02 1:33 Benda XU
0 siblings, 0 replies; 63+ 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] 63+ messages in thread
end of thread, other threads:[~2016-07-02 1:33 UTC | newest]
Thread overview: 63+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-15 8:04 [gentoo-commits] repo/proj/prefix:rap0 commit in: scripts/ Benda XU
2016-06-15 7:58 ` [gentoo-commits] repo/proj/prefix:master " Benda XU
-- strict thread matches above, loose matches on Subject: below --
2016-07-02 1:33 [gentoo-commits] repo/proj/prefix:rap0 " 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 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-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