From 77ed4b35d2e56974d0c2c1d66df9e0789f13d740 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 7 Jul 2025 07:07:32 +0000 Subject: [PATCH] app-shells/bash: Sync with Gentoo It's from Gentoo commit 008ae1fc7798152726986eeb61b2deff1ffefd30. --- .../portage-stable/app-shells/bash/Manifest | 7 +- .../app-shells/bash/bash-5.2_p37-r3.ebuild | 2 +- ...3_rc2_p20250627.ebuild => bash-5.3.ebuild} | 11 +- .../app-shells/bash/bash-5.3_rc2.ebuild | 412 ------------------ .../bash/bash-5.3_rc2_p20250606.ebuild | 412 ------------------ .../bash/bash-5.3_rc2_p20250616.ebuild | 412 ------------------ .../app-shells/bash/bash-9999.ebuild | 13 +- 7 files changed, 6 insertions(+), 1263 deletions(-) rename sdk_container/src/third_party/portage-stable/app-shells/bash/{bash-5.3_rc2_p20250627.ebuild => bash-5.3.ebuild} (97%) delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250606.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest index f9396b0c1e..3dce9b11c0 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest @@ -22,11 +22,8 @@ DIST bash-5.1.tar.gz 10458638 BLAKE2B 42059556694b604911b5b7936f94d42d8923f2931f DIST bash-5.1.tar.gz.sig 95 BLAKE2B ac9209d6a4ab4436c511a7a195594e9036d7d1aef7887972f61a0e97378a9685b882621d7f95f5326b155dc155c41635417ce2ca41ac6d0dda78bd293ea4249f SHA512 3966404c0f683c7ef214fcf283b551e5441af3897009f778308c2e34067d98d57c95561453416a54ca5b1daf9a1288dbf950fe3f13353703cead12f5eec5fad8 DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30919a13271e39e1cb66a0672f242df75fc7d71627ea873dfbce53ec35c0c56a71c5167143070a7811343fd9 SHA512 5647636223ba336bf33e0c65e516d8ebcf6932de8b44f37bc468eedb87579c628ad44213f78534beb10f47aebb9c6fa670cb0bed3b4e7717e5faf7e9a1ef81ae DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258 -DIST bash-5.3-rc2.tar.gz 11032468 BLAKE2B 42f3b6b3b675a618c965fbde8e3052ac4e171b0f50848589ab4996f6a8de22aca8bdaa5819eb21d3e3dbd67cddaad17d8c48d5a977ae77373fedfdec67cb4155 SHA512 8dfd16723ea14a5901f3a056d30a0fa7b633e41495bbf071897f6a7794293dec59e4eb8618345aeb9e06a924e87c8b823e3ab1e3888a963421b1e8398cc0c12e -DIST bash-5.3-rc2.tar.gz.sig 95 BLAKE2B 2068f4b5e5045f00a389256c8e753253a1f9b7d06970c51516555e463ef3d5e682e28a9052a2fbae0f9ce7bb0f9e31116a0a780ae3dc7d083a71591feee6501d SHA512 2a4cad6d8f5212319045b6139fb8e3c56664efa5ffcf1ef522219f5a100d5385ab627f6c122f9b49178b48e9c2a85da43f72fd70425547c3a71c0ec1ae812e33 -DIST bash-5.3_rc2_p20250606-727b8d366390fea446f7a566c4be1be6c0e2a765.tar.gz 16083935 BLAKE2B 05821cd7598a6915651ca5f0f9c601ea4e118406d3db652c0989cebe32d15a03e1c95b517740834564e27be1d1e312aa2433f4456a4a8307249d2cfd9fd471fd SHA512 f9f8b17efd119fb0d82251a5be7ead3af8502461116036ffb22b4318f924d97927f1ec010982a21fb0f6fe39ad78e0ccbedfd66a469bb20ed4006bb39595ae4e -DIST bash-5.3_rc2_p20250616-0f0cea342e32f1f82aa9cc9026038bfc3bb03e92.tar.gz 16112367 BLAKE2B 5b3644b8a931b7c81c2bca36f880f403f758bf4076d8268c0c607ebabd0239d6e453a748726763b39902fa198748d20cc31994b59e54ef770f38549d295bcb81 SHA512 f53108830f660b58c784559a43a6f9fb988f7a5eb53695ca315ba4b6c3b4af139b35f12de041d3bb014ee8b0b730c709ca46873f6a38c5d1af5d2922d7a52cdd -DIST bash-5.3_rc2_p20250627-b35866a2891a9b069e37ca5684d4309c0391e261.tar.gz 16113487 BLAKE2B 3e6af98b369afa1b61bb3f63dd1cf800d3fc109e0af946cf0ddedf0ed15bf602d1bcfef6b31d3ae0441cead3391894e8b3f0ea503ac72e02ecd546ee310ae8ec SHA512 91c7c02aa4077df6fd1151ff949a7063de98b742eae2e1305071e84453ba436a07c62adfc8dceaac7c64ae583c23ae07fa9039277740deaa8981816312e7344f +DIST bash-5.3.tar.gz 11354270 BLAKE2B 88a4f0146eb11698120890f2afaf28210295135f8f7f61dcbb99eeb0c39c84da5360a3b0572a26dc2a36b207fd440b83bb5a947213af90306c8f6ab608964ff1 SHA512 05ef640e8ba011d10f858a270c626daa42ed5a75789d0298ae0ced9b2ebaf93d94d8ed5a211ac30cd34e82af8865e50024144c88a3c979bee7c38e449350e02e +DIST bash-5.3.tar.gz.sig 95 BLAKE2B 90a6a47b5b318d03ff7e196e6504a987c281f564db878e8452f0543953832b5ac4f767f69a9bdf6b6a98938b0b439040c10674dd54e38ef03730ae6a2ec4484e SHA512 e9da98e993528d69bec9c6da272eb7a96858b4ba33487435f584c7df2d73c3ce82f373b5277cc3a7d8dc9ee04410dc06ce476d3f9ade097121bea0570abe07bc DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild index 65cd38ce6a..ffdcd70900 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r3.ebuild @@ -65,7 +65,7 @@ S=${WORKDIR}/${MY_P} LICENSE="GPL-3+" SLOT="0" if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250627.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250627.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild index 1fa3e6be53..ba4de7b688 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250627.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild @@ -31,7 +31,7 @@ esac # The version of readline this bash normally ships with. Note that we only use # the bundled copy of readline for pre-releases. -READLINE_VER="8.3_rc1" +READLINE_VER="8.3" DESCRIPTION="The standard GNU Bourne again shell" HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" @@ -146,15 +146,6 @@ src_prepare() { # Include official patches. (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - # Prefixify hardcoded path names. No-op for non-prefix. hprefixify pathnames.h.in diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2.ebuild deleted file mode 100644 index 1efdb19b50..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2.ebuild +++ /dev/null @@ -1,412 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 - ;; -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_rc1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="dbe4256d5ea02fec1817fe7e275b0e534dc33a40" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( "mirror://gnu/bash/${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( "mirror://gnu/bash/${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - if tc-is-cross-compiler; then - export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" - fi - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250606.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250606.ebuild deleted file mode 100644 index 829bb15fb6..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250606.ebuild +++ /dev/null @@ -1,412 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 - ;; -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_rc1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="727b8d366390fea446f7a566c4be1be6c0e2a765" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( "mirror://gnu/bash/${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( "mirror://gnu/bash/${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - if tc-is-cross-compiler; then - export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" - fi - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild deleted file mode 100644 index 022b71dce2..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_rc2_p20250616.ebuild +++ /dev/null @@ -1,412 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 - ;; -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_rc1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="0f0cea342e32f1f82aa9cc9026038bfc3bb03e92" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( "mirror://gnu/bash/${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( "mirror://gnu/bash/${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - if tc-is-cross-compiler; then - export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" - fi - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild index 3d5c11da47..ba4de7b688 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild @@ -31,7 +31,7 @@ esac # The version of readline this bash normally ships with. Note that we only use # the bundled copy of readline for pre-releases. -READLINE_VER="8.3_rc1" +READLINE_VER="8.3" DESCRIPTION="The standard GNU Bourne again shell" HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" @@ -46,7 +46,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then # the alpha, and the next pre-release is usually quite far away. # # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="535a8150b65ee6888f54f602274dbbdcd77c788e" + BASH_COMMIT="b35866a2891a9b069e37ca5684d4309c0391e261" SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" S=${WORKDIR}/${PN}-${BASH_COMMIT} else @@ -146,15 +146,6 @@ src_prepare() { # Include official patches. (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - # Prefixify hardcoded path names. No-op for non-prefix. hprefixify pathnames.h.in