commit: ad303b8b39778b3466eef1ab9609d904c33e50ed Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Tue Jun 12 16:34:41 2018 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Tue Jun 12 16:34:41 2018 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=ad303b8b
scripts/bootstrap-prefix: remove makeinfo hack sooner seems we always install texinfo these days, so no need for RAP-conditionals or something, we do need to cleanup before we finish up system though scripts/bootstrap-prefix.sh | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh index c14d03df7a..80c9ebd956 100755 --- a/scripts/bootstrap-prefix.sh +++ b/scripts/bootstrap-prefix.sh @@ -1377,7 +1377,9 @@ bootstrap_stage1() { bootstrap_stage1_log() { bootstrap_stage1 ${@} 2>&1 | tee -a ${ROOT}/stage1.log - return ${PIPESTATUS[0]} + local ret=${PIPESTATUS[0]} + [[ ${ret} == 0 ]] && touch ${ROOT}/.stage1-finished + return ${ret} } do_emerge_pkgs() { @@ -1605,13 +1607,14 @@ bootstrap_stage2() { cp "${ROOT}"/tmp/usr/${CHOST}/lib/gcc/* "${ROOT}"/usr/${CHOST}/lib/gcc fi - touch "${ROOT}/tmp/.stage2-finished" einfo "stage2 successfully finished" } bootstrap_stage2_log() { bootstrap_stage2 ${@} 2>&1 | tee -a ${ROOT}/stage2.log - return ${PIPESTATUS[0]} + local ret=${PIPESTATUS[0]} + [[ ${ret} == 0 ]] && touch "${ROOT}/.stage2-finished" + return ${ret} } bootstrap_stage3() { @@ -1837,6 +1840,9 @@ bootstrap_stage3() { einfo "running emerge -u1 openssl" CFLAGS= CXXFLAGS= emerge -u1 openssl || return 1 + # remove temp makeinfo, texinfo provides it + [[ -f "${ROOT}"/usr/bin/makeinfo ]] && rm -f "${ROOT}"/usr/bin/makeinfo + # Portage should figure out itself what it needs to do, if anything. # Avoid glib compiling for Cocoa libs if it finds them, since we're # still with an old llvm that may not understand the system headers @@ -1845,12 +1851,6 @@ bootstrap_stage3() { CPPFLAGS="-DGNUSTEP_BASE_VERSION" \ CFLAGS= CXXFLAGS= emerge -u system || return 1 - # remove temp makeinfo, texinfo provides it - [[ -f "${ROOT}"/usr/bin/makeinfo ]] && rm -f "${ROOT}"/usr/bin/makeinfo - - # TODO, glibc should depend on texinfo - is-rap && { emerge sys-apps/texinfo || return 1; } - # remove anything that we don't need (compilers most likely) einfo "running emerge --depclean" emerge --depclean @@ -1860,7 +1860,9 @@ bootstrap_stage3() { bootstrap_stage3_log() { bootstrap_stage3 ${@} 2>&1 | tee -a ${ROOT}/stage3.log - return ${PIPESTATUS[0]} + local ret=${PIPESTATUS[0]} + [[ ${ret} == 0 ]] && touch "${ROOT}/.stage3-finished" + return ${ret} } set_helper_vars() { @@ -2542,8 +2544,7 @@ EOF ROOT="${EPREFIX}" set_helper_vars - if ! [[ -x ${EPREFIX}/usr/lib/portage/bin/emerge || -x ${EPREFIX}/tmp/usr/lib/portage/bin/emerge || -x ${EPREFIX}/tmp/usr/bin/emerge ]] \ - && ! bootstrap_stage1_log ; then + if ! [[ -e ${EPREFIX}/.stage1-finished ]] && ! bootstrap_stage1_log ; then # stage 1 fail cat << EOF @@ -2573,11 +2574,7 @@ EOF # deal with the bash-constructs we use in stage3 and onwards hash -r - # stage 2 on Darwin gets llvm/clang, so we must not get confused - # when we find gcc there (it's needed to bootstrap llvm) - local compiler=gcc - [[ ${CHOST} == *-darwin* ]] && compiler=clang - if ! [[ -e ${EPREFIX}/tmp/.stage2-finished ]] \ + if ! [[ -e ${EPREFIX}/.stage2-finished ]] \ && ! ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}" stage2_log ; then # stage 2 fail cat << EOF @@ -2604,7 +2601,8 @@ EOF # new bash hash -r - if ! bash ${BASH_SOURCE[0]} "${EPREFIX}" stage3_log ; then + if ! [[ -e ${EPREFIX}/.stage3-finished ]] \ + && ! bash ${BASH_SOURCE[0]} "${EPREFIX}" stage3_log ; then # stage 3 fail hash -r # previous cat (tmp/usr/bin/cat) may have been removed cat << EOF