From f355e304269874b2fcd39d1d407d529aa7af9409 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 1 Sep 2025 07:07:01 +0000 Subject: [PATCH] app-shells/bash: Sync with Gentoo It's from Gentoo commit 155502b495a5163cc9a04b3995299cfe723fe094. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-shells/bash/Manifest | 6 +- .../app-shells/bash/bash-2.05b_p13.ebuild | 2 +- .../app-shells/bash/bash-3.0_p22.ebuild | 2 +- .../app-shells/bash/bash-3.1_p23.ebuild | 2 +- .../app-shells/bash/bash-3.2_p57.ebuild | 2 +- .../app-shells/bash/bash-4.0_p44.ebuild | 2 +- .../app-shells/bash/bash-4.1_p17.ebuild | 2 +- .../app-shells/bash/bash-4.2_p53.ebuild | 2 +- .../app-shells/bash/bash-4.3_p48-r2.ebuild | 2 +- .../app-shells/bash/bash-4.4_p23-r2.ebuild | 2 +- .../app-shells/bash/bash-5.0_p18-r3.ebuild | 2 +- .../app-shells/bash/bash-5.1_p16-r14.ebuild | 2 +- .../app-shells/bash/bash-5.2_p37-r3.ebuild | 4 +- ...-5.2_p37.ebuild => bash-5.2_p37-r4.ebuild} | 20 +- .../app-shells/bash/bash-5.3-r1.ebuild | 4 +- .../app-shells/bash/bash-5.3-r2.ebuild | 4 +- .../app-shells/bash/bash-5.3.ebuild | 4 +- .../app-shells/bash/bash-5.3_p3-r1.ebuild | 404 ++++++++++++++++++ .../app-shells/bash/bash-5.3_p3.ebuild | 4 +- ...uild => bash-5.4_alpha_pre20250814.ebuild} | 6 +- ...uild => bash-5.4_alpha_pre20250820.ebuild} | 6 +- ...uild => bash-5.4_alpha_pre20250822.ebuild} | 6 +- .../app-shells/bash/bash-9999.ebuild | 16 +- .../app-shells/bash/files/bashrc-r2 | 30 ++ .../bash/files/bashrc.d/10-gentoo-color.bash | 68 --- .../files/bashrc.d/10-gentoo-title-r1.bash | 81 ---- .../bash/files/bashrc.d/10-gentoo-title.bash | 52 --- .../bash/files/profile.d/00-prompt-command.sh | 7 + .../bash/files/{ => skel}/dot-bash_logout | 0 .../bash/files/{ => skel}/dot-bash_profile | 0 .../bash/files/{ => skel}/dot-bashrc | 0 31 files changed, 494 insertions(+), 250 deletions(-) rename sdk_container/src/third_party/portage-stable/app-shells/bash/{bash-5.2_p37.ebuild => bash-5.2_p37-r4.ebuild} (93%) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r1.ebuild rename sdk_container/src/third_party/portage-stable/app-shells/bash/{bash-5.4_alpha_pre20250711.ebuild => bash-5.4_alpha_pre20250814.ebuild} (98%) rename sdk_container/src/third_party/portage-stable/app-shells/bash/{bash-5.4_alpha_pre20250718.ebuild => bash-5.4_alpha_pre20250820.ebuild} (98%) rename sdk_container/src/third_party/portage-stable/app-shells/bash/{bash-5.4_alpha_pre20250801.ebuild => bash-5.4_alpha_pre20250822.ebuild} (98%) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r2 delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/profile.d/00-prompt-command.sh rename sdk_container/src/third_party/portage-stable/app-shells/bash/files/{ => skel}/dot-bash_logout (100%) rename sdk_container/src/third_party/portage-stable/app-shells/bash/files/{ => skel}/dot-bash_profile (100%) rename sdk_container/src/third_party/portage-stable/app-shells/bash/files/{ => skel}/dot-bashrc (100%) 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 8a10a0fef3..227c34d2a3 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 @@ -24,9 +24,9 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30 DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258 DIST bash-5.3.tar.gz 11354270 BLAKE2B 88a4f0146eb11698120890f2afaf28210295135f8f7f61dcbb99eeb0c39c84da5360a3b0572a26dc2a36b207fd440b83bb5a947213af90306c8f6ab608964ff1 SHA512 05ef640e8ba011d10f858a270c626daa42ed5a75789d0298ae0ced9b2ebaf93d94d8ed5a211ac30cd34e82af8865e50024144c88a3c979bee7c38e449350e02e DIST bash-5.3.tar.gz.sig 95 BLAKE2B 90a6a47b5b318d03ff7e196e6504a987c281f564db878e8452f0543953832b5ac4f767f69a9bdf6b6a98938b0b439040c10674dd54e38ef03730ae6a2ec4484e SHA512 e9da98e993528d69bec9c6da272eb7a96858b4ba33487435f584c7df2d73c3ce82f373b5277cc3a7d8dc9ee04410dc06ce476d3f9ade097121bea0570abe07bc -DIST bash-5.4_alpha_pre20250711-80a8f650a1defc3f72539c3b57bf6d228c33c116.tar.gz 16111994 BLAKE2B 7ab445c5580c3c8d0af10a6764d65a33705f42ed79c50297a4cbf3b345b2f0ba9f28001a80ec5cc85291f57f88e81aef41492a79779239a33292b460e4361d8f SHA512 64f5985ad9a94fd37bc5efa06a57b72c5b3ec8d43a0ed36d9cdc9f292b37137e035bcba0d9855965e0f7bc2416ae60ec44d8f19ee2201acef01d3eda43d8989b -DIST bash-5.4_alpha_pre20250718-01070d43248fb97f3b2a08d780ae5a392573ce34.tar.gz 16112469 BLAKE2B 6ebcf65b4f1ae93f52d549d2c6836cd4ff7e87739efa9746ef10f00bf6010f00d957c0624e3b806c4d581539f9160338a00824302b245f4c82c72c416976a0f0 SHA512 b200d62eb6634bf9f623841b7a024dc8b3a89c43b8e127dbc89dbf06f3df793d82ad37d35e1be43558ef97c473e37e44384d8c73736c7b62794e65dcfb8f30ce -DIST bash-5.4_alpha_pre20250801-c1d9c088531eef0797e78c66b899d895862de80c.tar.gz 16116027 BLAKE2B 1be7657f61e91acc9e5e3bb9d5051f4d9e6f29e5457db544ebd26ac4ff7931925732d8b81de243bf6374ba3ce3aaa133ec6a33f03133e22317d712e696847bed SHA512 44c890bd46ec87ba11b78a0a817ed42544d32df12270c9766f78418e966d3247457facad0e4dcdbf07fd9a6a8865029f3eb3a93c485e01506d67d4ed1c156670 +DIST bash-5.4_alpha_pre20250814-3160c0b89ce4f3934e791de94f9370b6cfc26ae5.tar.gz 16118231 BLAKE2B a956361f3c111f1e03bdca68678c08cd595c26cfbb926243fe059689d354fde452feb28b984469fd6b201d5aebc5f6007abdf05a824f0e3f7518f945eef78823 SHA512 7ba29f861fd2e7a0162664f0dba14c4bf8cafb9db9ed8ce36564436c8e797cbae1817c6f8fe6450a5f2863b616bd56feba09a045534b998e5c194fe1104b2b04 +DIST bash-5.4_alpha_pre20250820-086456835944d1a3098a026646144573deafc917.tar.gz 16118833 BLAKE2B d0fc57ce9c6fb1d4105e937b407fe554bb921b279883db138ead2ff72a25b87c1496f3c4010c0dbf40ced88b7729fee9ff127300cef9704f8bf91398bd053213 SHA512 e3c5c4d5d48507a1fe0325a499651ab5eaa613f2d0009677118ac2d2358586b0bc2407ce55b133400fe5af07016477bac6b3537565467bdb6513acba1a332eff +DIST bash-5.4_alpha_pre20250822-ab17ddb7af948ee6e1a6370aac4ee57b4179cd9c.tar.gz 16121182 BLAKE2B 2802ab3bea45fe40f515d668baeaf5ca04797b992dcb764ee38b707701bc6aac845f091b16770a51c84bfdd2ba3953b12b1fded9fdbfde035df7088f4376c236 SHA512 af7182bcad82bc7256d2b806a6f8c3ee1855fa1b3e4b3695cd8b3618e56263285899a01d6ef49fe2862e812731718fc9d309836ff260e39d30e7e02fab044c72 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-2.05b_p13.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild index b9f9750612..ee61ab3209 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-2.05b-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-2.05b-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild index 255cc1a142..0227a08483 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-3.0-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild index 3e199434c7..f47519869f 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-3.1-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-3.1-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild index b899e15996..91050de02f 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-3.2-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-3.2-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild index 73eed8f83b..6c4764a609 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-4.0-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-4.0-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild index f9c68efe3b..3992b6a2ef 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-4.1-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-4.1-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild index 3933c300ad..8bd53b2d46 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-4.2-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild index 91c5b5af35..918a92f6c1 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}-r2" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-4.3-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-4.3-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild index ec1563be77..6203c1e7e9 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}-r2" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-4.4-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-4.4-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild index 70ea14d975..9f333573ca 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r3.ebuild @@ -10,7 +10,7 @@ GENTOO_PATCH_DEV="sam" GENTOO_PATCH_VER="${PV}" # Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/ +# See https://ftp.gnu.org/gnu/bash/bash-5.0-patches/ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild index b1a75ff93c..e7e52195cb 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r14.ebuild @@ -15,7 +15,7 @@ MY_PV=${MY_PV/_/-} MY_P=${PN}-${MY_PV} MY_PATCHES=() -# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.1-patches/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.1-patches/. case ${PV} in *_p*) PLEVEL=${PV##*_p} 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 ffdcd70900..9b236af62b 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 @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.2-patches/. case ${PV} in *_p*) PLEVEL=${PV##*_p} @@ -328,7 +328,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r4.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r4.ebuild index 73d60fd1bc..4360233837 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37-r4.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.2-patches/. case ${PV} in *_p*) PLEVEL=${PV##*_p} @@ -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" @@ -98,6 +98,8 @@ PATCHES=( "${FILESDIR}/${PN}-5.2_p21-wpointer-to-int.patch" "${FILESDIR}/${PN}-5.2_p32-memory-leaks.patch" "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-1.patch" + "${FILESDIR}/${PN}-5.2_p32-invalid-continuation-byte-ignored-as-delimiter-2.patch" + "${FILESDIR}/${PN}-5.2_p32-erroneous-delimiter-pushback-condition.patch" ) pkg_setup() { @@ -315,18 +317,18 @@ src_install() { insinto /etc/bash doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r2 | newins - bashrc insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi + 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 + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r1.ebuild index bbbb8eab5d..7700c017e8 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r1.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.3-patches/. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -321,7 +321,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r2.ebuild index b8564f5043..e63000006c 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3-r2.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.3-patches/. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -320,7 +320,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild index ba4de7b688..a12c320192 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.3-patches/. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -319,7 +319,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r1.ebuild new file mode 100644 index 0000000000..f069c5c36b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3-r1.ebuild @@ -0,0 +1,404 @@ +# 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 https://ftp.gnu.org/gnu/bash/bash-5.3-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" + +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="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 + 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 + "${FILESDIR}"/${PN}-5.3-read-sys.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[@]}" + + # 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-r2 | 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 + + insinto /etc/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/skel/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_p3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3.ebuild index b8564f5043..e63000006c 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p3.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.3-patches/. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -320,7 +320,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250711.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250814.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250711.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250814.ebuild index 05df8469c5..cfcce177b2 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250711.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250814.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -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="80a8f650a1defc3f72539c3b57bf6d228c33c116" + BASH_COMMIT="3160c0b89ce4f3934e791de94f9370b6cfc26ae5" 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 @@ -319,7 +319,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250718.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250820.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250718.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250820.ebuild index 72ff370d40..9dc451a80c 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250718.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250820.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -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="01070d43248fb97f3b2a08d780ae5a392573ce34" + BASH_COMMIT="086456835944d1a3098a026646144573deafc917" 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 @@ -319,7 +319,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250801.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250801.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild index 1300218c38..3a50207845 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250801.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -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="c1d9c088531eef0797e78c66b899d895862de80c" + BASH_COMMIT="ab17ddb7af948ee6e1a6370aac4ee57b4179cd9c" 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 @@ -319,7 +319,7 @@ src_install() { insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then 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 ba4de7b688..9c4d87cd6f 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 @@ -15,7 +15,7 @@ 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/. +# Determine the patchlevel. case ${PV} in 9999|*_alpha*|*_beta*|*_rc*) # Set a negative patchlevel to indicate that it's a pre-release. @@ -167,8 +167,10 @@ src_configure() { # 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. + # may misbehave at runtime. Chet also advises against use of byacc: + # https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html unset -v YACC if tc-is-cross-compiler; then @@ -308,18 +310,18 @@ src_install() { insinto /etc/bash doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r2 | 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/profile.d + doins "${FILESDIR}/profile.d/00-prompt-command.sh" insinto /etc/skel for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" + newins "${FILESDIR}/skel/dot-${f}" ".${f}" done if use plugins; then diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r2 b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r2 new file mode 100644 index 0000000000..f084d98ffb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r2 @@ -0,0 +1,30 @@ +# /etc/bash/bashrc + +# Proceed no further in the case of a non-interactive shell. +if [[ $- != *i* ]]; then + return +fi + +# Disable errexit in case the user enabled it then chose to re-source this file. +shopt -u -o errexit + +# Disable completion when the input buffer is empty. Mute STDERR because this +# option is only present in the case that bash was built with readline support. +shopt -s no_empty_cmd_completion 2>/dev/null && + +# Append to HISTFILE rather than overwrite upon exiting, per bug #139609. This +# option also requires for bash to have been built with readline support. +shopt -s histappend + +# Initialise PROMPT_COMMAND as an array, unless bash is acting as a login shell. +# In the latter case, the profile.d drop-in will already have initialised it. +shopt -q login_shell || PROMPT_COMMAND=() + +# Don't let the user influence the order of sourcing for bash 5.3 or greater. +unset -v GLOBSORT + +for _ in /etc/bash/bashrc.d/*; do + if [[ $_ == *.@(bash|sh) && -r $_ ]]; then + source "$_" + fi +done diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash deleted file mode 100644 index f0c5983b66..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash +++ /dev/null @@ -1,68 +0,0 @@ -# /etc/bash/bashrc.d/10-gentoo-color.bash - -if [[ ${NO_COLOR} ]]; then - # Respect the user's wish not to use color. See https://no-color.org/. - gentoo_color=0 -elif [[ ${COLORTERM@a} == *x* && ${COLORTERM} == @(24bit|truecolor) ]]; then - # The COLORTERM environment variable can reasonably be trusted here. - # See https://github.com/termstandard/colors for further information. - gentoo_color=1 -elif unset -v COLORTERM; ! gentoo_color=$(tput colors 2>/dev/null); then - # Either ncurses is not installed or no terminfo database could be - # found. Fall back to a whitelist which covers the majority of terminal - # emulators and virtual console implementations known to support color - # and which remain (somewhat) popular. This will rarely happen, so the - # list need not be exhaustive. - case ${TERM} in - *color* |\ - *direct* |\ - [Ekx]term* |\ - alacritty |\ - aterm |\ - dtterm |\ - foot* |\ - jfbterm |\ - linux |\ - mlterm |\ - rxvt* |\ - screen* |\ - tmux* |\ - wsvt25* ) gentoo_color=1 - esac -elif (( gentoo_color == 16777216 )); then - # Truecolor support is available. Advertise it. - export COLORTERM=truecolor -fi - -# For direxpand to be missing indicates that bash is lacking readline support. -if (( gentoo_color <= 0 )) || [[ ! $(shopt -p direxpand 2>/dev/null) ]]; then - # Define a prompt without color. - PS1='\u@\h \w \$ ' -elif (( EUID == 0 )); then - # If root, omit the username and print the hostname in red. - PS1='\[\e[01;31m\]\h\[\e[01;34m\] \w \$\[\e[00m\] ' -else - # Otherwise, print the username and hostname in green. - PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[00m\] ' -fi - -if (( gentoo_color > 0 )); then - # Colorize the output of diff(1), grep(1) and a few coreutils utilities. - for _ in diff dir grep ls vdir; do - alias "$_=$_ --color=auto" - done - - # Enable colors for ls(1) and some other utilities that respect the - # LS_COLORS variable. Prefer ~/.dir_colors, per bug #64489. - if hash dircolors 2>/dev/null; then - if [[ -f ~/.dir_colors ]]; then - eval "$(dircolors -b -- ~/.dir_colors)" - elif [[ -f /etc/DIR_COLORS ]]; then - eval "$(dircolors -b /etc/DIR_COLORS)" - else - eval "$(dircolors -b)" - fi - fi -fi - -unset -v gentoo_color diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash deleted file mode 100644 index 8e78b09a9d..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash +++ /dev/null @@ -1,81 +0,0 @@ -# /etc/bash/bashrc.d/10-gentoo-title.bash - -# For information regarding the control sequences used, please refer to -# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html. - -genfun_set_win_title() { - # Advertise the fact that the presently running interactive shell will - # update the title. Doing so allows for its subprocesses to determine - # whether it is safe to set the title of their own accord. Note that 0 - # refers to the value of Ps within the OSC Ps ; Pt BEL sequence. - export SHELL_SETS_TITLE=0 - - # Assigns the basename of the current working directory, having - # sanitised it with @Q parameter expansion. Useful for paths containing - # newlines and such. As a special case, names consisting entirely of - # graphemes shall not undergo the expansion, for reasons of cleanliness. - genfun_sanitise_cwd() { - _cwd=${PWD##*/} - if [[ ! ${_cwd} ]]; then - _cwd=${PWD} - elif [[ ${_cwd} == *[![:graph:]]* ]]; then - _cwd=${_cwd@Q} - fi - } - - # Sets the window title with the Set Text Parameters control sequence. - # For screen, the sequence defines the hardstatus (%h) and for tmux, the - # pane_title (#T). For graphical terminal emulators, it is normal for - # the title bar to be affected. - genfun_set_win_title() { - genfun_sanitise_cwd - printf '\033]0;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}" - } - - genfun_set_win_title -} - -unset -v SHELL_SETS_TITLE - -# Determine whether the terminal can handle the Set Text Parameters sequence. -# The only terminals permitted here are those for which there is empirical -# evidence that the sequence is supported and that the UTF-8 character encoding -# is handled correctly. Quite rightly, this precludes many vintage terminals. -case ${TERM} in - alacritty|foot*|tmux*) - # The terminal emulator also supports XTWINOPS. If the PTY was - # created by sshd(8) then push the current window title to the - # stack and arrange for it to be popped upon exiting. Xterm also - # supports this but there are far too many terminal emulators - # that falsely identify as being xterm-compatible. - if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then - trap 'printf "\033[23;0t"' EXIT - printf '\033[22;0t' - fi - ;; - rxvt-unicode*|st-256color|xterm*) - # If the PTY was created by sshd(8) then proceed no further. - # Alas, there exist many operating environments in which the - # title would otherwise not be restored upon ssh(1) exiting. - # Those wanting for the title to be set regardless may adjust - # ~/.bashrc or create a bashrc.d drop-in to set PROMPT_COMMAND. - # For example, PROMPT_COMMAND=(genfun_set_win_title). - if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then - return - fi - ;; - screen*) - # If the PTY was created by sshd(8) and screen(1) was launched - # prior to the SSH session beginning, as opposed to afterwards, - # proceed no further. It is another case in which there would be - # no guarantee of the title being restored upon ssh(1) exiting. - if [[ ! ${WINDOW} && ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then - return - fi - ;; - *) - return -esac - -# Arrange for the title to be updated each time the primary prompt is displayed. -PROMPT_COMMAND+=('genfun_set_win_title') diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash deleted file mode 100644 index 2b2e233477..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash +++ /dev/null @@ -1,52 +0,0 @@ -# /etc/bash/bashrc.d/10-gentoo-title.bash - -genfun_set_win_title() { - # Assigns the basename of the current working directory, having - # sanitised it with @Q parameter expansion. Useful for paths containing - # newlines and such. As a special case, names consisting entirely of - # graphemes shall not undergo the expansion, for reasons of cleanliness. - genfun_sanitise_cwd() { - _cwd=${PWD##*/} - if [[ ! ${_cwd} ]]; then - _cwd=${PWD} - elif [[ ${_cwd} == *[![:graph:]]* ]]; then - _cwd=${_cwd@Q} - fi - } - - # Sets the window title with the Set Text Parameters sequence. For - # screen, the sequence defines the hardstatus (%h) and for tmux, the - # pane_title (#T). For graphical terminal emulators, it is normal for - # the title bar to be affected. - genfun_set_win_title() { - genfun_sanitise_cwd - printf '\033]0;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}" - } - - genfun_set_win_title -} - -# Proceed no further if the TTY is that of sshd(8) and if not running a terminal -# multiplexer. Alas, there exist many operating environments in which the window -# title would otherwise not be restored upon ssh(1) exiting. Those who wish for -# the title to be set unconditionally may adjust ~/.bashrc - or create a custom -# bashrc.d drop-in - to define PROMPT_COMMAND=(genfun_set_win_title). -if [[ ${SSH_TTY} && ${TERM} != @(screen|tmux)* && ${SSH_TTY} == "$(tty)" ]]; then - return -fi - -# Determine whether the terminal can handle the Set Text Parameters sequence. -# The only terminals permitted here are those for which there is empirical -# evidence that the sequence is supported and that the UTF-8 character encoding -# is handled correctly. Quite rightly, this precludes many vintage terminals. -# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands -case ${TERM} in - alacritty |\ - foot* |\ - rxvt-unicode* |\ - screen* |\ - st-256color |\ - tmux* |\ - xterm* ) - PROMPT_COMMAND+=('genfun_set_win_title') -esac diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/profile.d/00-prompt-command.sh b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/profile.d/00-prompt-command.sh new file mode 100644 index 0000000000..61794c8ecb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/profile.d/00-prompt-command.sh @@ -0,0 +1,7 @@ +# This unit serves to initialise PROMPT_COMMAND as early as possible in cases +# where bash has been launched as a login shell. Though not an especially +# common practice, some profile.d drop-ins need to be able to extend its value. + +if [ "${BASH}" ] && shopt -q login_shell; then + eval 'PROMPT_COMMAND=()' +fi diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/dot-bash_logout b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/skel/dot-bash_logout similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/files/dot-bash_logout rename to sdk_container/src/third_party/portage-stable/app-shells/bash/files/skel/dot-bash_logout diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/dot-bash_profile b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/skel/dot-bash_profile similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/files/dot-bash_profile rename to sdk_container/src/third_party/portage-stable/app-shells/bash/files/skel/dot-bash_profile diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/dot-bashrc b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/skel/dot-bashrc similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/files/dot-bashrc rename to sdk_container/src/third_party/portage-stable/app-shells/bash/files/skel/dot-bashrc