mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-28 09:01:55 +02:00
app-shells/bash: Sync with Gentoo
It's from Gentoo commit f18a4b4b9b6e7257e5b96a5ac2d4e122d9837f73.
This commit is contained in:
parent
4afe65e902
commit
44323fc9a9
@ -22,10 +22,10 @@ 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-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e
|
||||
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
|
||||
DIST bash-5.3_alpha_p20241115-fa68e6da80970c302948674369d278164a33ed39.tar.gz 14947053 BLAKE2B f05df995a93ee010e7867e828d30f2cdd0aa62fa020e632018cb8f3945626e0b0c254e4cb6f6e4de3dbb01994870a39f1edecb8fb30b4d38e6455d0c645ba2c5 SHA512 de33fc8dbf9d4a833220423bdd53627fa67335130442964c88e82f11ddf1c19aab0d166d5f7dba30767b8878b36ce7ddf4deea03633e98fa3459669f99086f5b
|
||||
DIST bash-5.3_alpha_p20241121-22417e78816237ae66f2da661567dfe5ed3452a1.tar.gz 14888873 BLAKE2B 78f9d15aee593497a2213e9cfcb03a0b5c8d127beacf0a2268f4bbefb79da41e6b2e4b9bf43b46c7b7cf4a276038554f708ee783fbd30f2489881af2fac165cc SHA512 f06e908ec673a605e967f7392aadcdea293bacafeb6991fd286e1b64ef606845c8cd78b01b1bb04a7ae9ad5c049324f51c1299c2fc90fdd3fd38575f9b380c11
|
||||
DIST bash-5.3-beta.tar.gz 10667630 BLAKE2B d6d3a1efd5ed69b131e2831e35c4a620968132e7d9da079de155decb4d3c736cd6c9f1180523e85dd41aeecdb9b380e4768bc551afafaee478168c462ce90929 SHA512 f8f02b4a90312c8e7c589efd1a0a43a4db3bcb47d19cb95190961e4ae254b2d6d26472197ce216868d914fe1adf62741f927552239559a1c3b2c64dfcfaa8cb0
|
||||
DIST bash-5.3-beta.tar.gz.sig 94 BLAKE2B a4b85d5755e200abddd5669c3d21b1ee6be8036b27934e25473c14b15ffc1bc7cbbd5a94f39a0dc6bf6050908590509f0ba39d28c33947154cc966e11d454c8c SHA512 72184ca2afe3d0c8c2165516499a61da2aecc0c8c83661cab0038c3d849623115729d2ade73c4b5973ea9b5e8169af4bc2aea51f0b70356af26342285adab2f5
|
||||
DIST bash-5.3_beta_p20241230-5114e17172276cf5a2f889f8037ae58c4cb05bb9.tar.gz 15703629 BLAKE2B 331a0c1ce3cc423d0e55500c4b04caa8086b195a49554a01f3db766773778ac58f5749cb167a298fc77d7841da79a3d007c2bf826f74c52d4659147c55cc3bd6 SHA512 2ea7ddceb243e2baa3a5b45a86882b2cd476fadeaaac943a108de61a57b13e65e2789bb72345850e8fb4e6adafa0b706a273fcc5bdbaf76fcf897501b67ddc23
|
||||
DIST bash-5.3_beta_p20250109-2ea356081dbfbac2c791f9b8072ed4b824e3d9df.tar.gz 15708913 BLAKE2B 0fcfb544b4c167ddb6e6bebde283519d4dd0ea95d531c6d499b5bbbc073ec355955a6f0fcaf9efe6de57fc8395f72636ebb077c4bc2506e58b30c2c98429e528 SHA512 7200a9e2bedbcb2b6ffabf32f324df33e6d9f8a12155f9112a22588d313c197202e3ae96930a7ab2d454e45b7ef708afabb371bb7ba13c1ee0d1b9ad58b77cac
|
||||
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
|
||||
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
|
||||
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
|
||||
|
@ -103,7 +103,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -108,7 +108,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -103,7 +103,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -105,7 +105,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -99,7 +99,7 @@ src_prepare() {
|
||||
src_configure() {
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -94,7 +94,7 @@ src_prepare() {
|
||||
src_configure() {
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -106,7 +106,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--with-installed-readline=.
|
||||
|
@ -115,7 +115,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--docdir='$(datarootdir)'/doc/${PF}
|
||||
|
@ -126,7 +126,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
local myconf=(
|
||||
--disable-profiling
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -53,7 +53,7 @@ if [[ -n ${GENTOO_PATCH_VER} ]] ; then
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
SLOT="${MY_PV}"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
|
||||
|
||||
@ -130,7 +130,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu89)
|
||||
|
||||
local myconf=(
|
||||
--disable-profiling
|
||||
@ -209,80 +209,15 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
into /
|
||||
newbin bash bash-${SLOT}
|
||||
|
||||
default
|
||||
newman doc/bash.1 bash-${SLOT}.1
|
||||
newman doc/builtins.1 builtins-${SLOT}.1
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
insinto /usr/share/info
|
||||
newins doc/bashref.info bash-${SLOT}.info
|
||||
dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
doins "$(prefixify_ro "${FILESDIR}"/bashrc)"
|
||||
|
||||
keepdir /etc/bash/bashrc.d
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc} ; do
|
||||
newins "${FILESDIR}"/dot-${f} .${f}
|
||||
done
|
||||
|
||||
local sed_args=(
|
||||
-e 's:#GNU#@::'
|
||||
-e '/#@/d'
|
||||
)
|
||||
|
||||
if ! use readline ; then
|
||||
# bug #432338
|
||||
sed_args+=(
|
||||
-e '/^shopt -s histappend/s:^:#:'
|
||||
-e 's:use_color=true:use_color=false:'
|
||||
)
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
"${sed_args[@]}" \
|
||||
"${ED}"/etc/skel/.bashrc \
|
||||
"${ED}"/etc/bash/bashrc || die
|
||||
|
||||
if use plugins ; then
|
||||
exeinto /usr/$(get_libdir)/bash
|
||||
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
|
||||
|
||||
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 ]] && [[ ${f##*/} != *README ]] ; then
|
||||
doexe ${f}
|
||||
else
|
||||
dodoc ${f}
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
doman doc/*.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/
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# If /bin/sh does not exist, provide it
|
||||
if [[ ! -e ${EROOT}/bin/sh ]] ; then
|
||||
ln -sf bash "${EROOT}"/bin/sh
|
||||
fi
|
||||
dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -63,7 +63,7 @@ fi
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
SLOT="${MY_PV}"
|
||||
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
|
||||
@ -175,7 +175,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
@ -248,115 +248,15 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
into /
|
||||
newbin bash bash-${SLOT}
|
||||
|
||||
default
|
||||
newman doc/bash.1 bash-${SLOT}.1
|
||||
newman doc/builtins.1 builtins-${SLOT}.1
|
||||
|
||||
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.bash | newins - 10-gentoo-color.bash
|
||||
doins "${FILESDIR}"/bashrc.d/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-r6"; then
|
||||
return
|
||||
elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files situated 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, this array may contain a command
|
||||
to set the terminal's window title. Those 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 manipulate the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen or tmux are in use.
|
||||
Those wanting to set the title unconditionally 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
|
||||
insinto /usr/share/info
|
||||
newins doc/bashref.info bash-${SLOT}.info
|
||||
dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
|
||||
|
||||
dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
|
||||
}
|
@ -176,7 +176,7 @@ src_configure() {
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
# incompatible with C23.
|
||||
append-cflags -std=gnu17
|
||||
append-cflags $(test-flags-CC -std=gnu17)
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
@ -45,7 +45,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="22417e78816237ae66f2da661567dfe5ed3452a1"
|
||||
BASH_COMMIT="bb56d620e075e3c96ae84b52de6b74683d9ab320"
|
||||
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
|
@ -45,7 +45,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="fa68e6da80970c302948674369d278164a33ed39"
|
||||
BASH_COMMIT="5114e17172276cf5a2f889f8037ae58c4cb05bb9"
|
||||
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
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -15,15 +15,15 @@ MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.3-patches/.
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
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
|
||||
@ -39,6 +39,15 @@ 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="2ea356081dbfbac2c791f9b8072ed4b824e3d9df"
|
||||
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','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
@ -52,6 +61,7 @@ else
|
||||
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
|
||||
@ -60,8 +70,6 @@ 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
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
@ -114,6 +122,8 @@ src_unpack() {
|
||||
|
||||
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}
|
||||
@ -310,7 +320,7 @@ src_install() {
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
doins "${FILESDIR}"/bashrc.d/10-gentoo-title.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
|
||||
@ -371,26 +381,26 @@ pkg_postinst() {
|
||||
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-r6"; then
|
||||
return
|
||||
elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; 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 situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
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, this array may contain a command
|
||||
to set the terminal's window title. Those already choosing to customise 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 manipulate the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen or tmux are in use.
|
||||
Those wanting to set the title unconditionally may adjust ~/.bashrc - or create
|
||||
a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so:
|
||||
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)
|
||||
|
@ -1,32 +0,0 @@
|
||||
https://src.fedoraproject.org/rpms/bash/blob/bd5ac20b134f2936c54245fc83a8e70207d3e07e/f/bash-configure-c99-2.patch
|
||||
|
||||
Another C compatibility issue: char ** and char * are distinct types,
|
||||
and strtold expects the former for its second argument.
|
||||
|
||||
Submitted upstream:
|
||||
|
||||
<https://lists.gnu.org/archive/html/bug-bash/2023-11/msg00104.html>
|
||||
|
||||
--- configure.ac
|
||||
+++ configure.ac
|
||||
@@ -885,7 +885,7 @@ AC_CHECK_DECLS([strtold], [
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <stdlib.h>]],
|
||||
- [[long double r; char *foo, bar; r = strtold(foo, &bar);]]
|
||||
+ [[long double r; char *foo, *bar; r = strtold(foo, &bar);]]
|
||||
)],
|
||||
[bash_cv_strtold_broken=no],[bash_cv_strtold_broken=yes])
|
||||
]
|
||||
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -15676,7 +15676,7 @@ else $as_nop
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
-long double r; char *foo, bar; r = strtold(foo, &bar);
|
||||
+long double r; char *foo, *bar; r = strtold(foo, &bar);
|
||||
|
||||
;
|
||||
return 0;
|
@ -1,136 +0,0 @@
|
||||
https://lists.gnu.org/archive/html/bug-bash/2024-01/msg00036.html
|
||||
https://lists.gnu.org/archive/html/bug-bash/2024-01/txtm8yNNPR9RQ.txt
|
||||
|
||||
For evalstring.c:
|
||||
* https://lists.gnu.org/archive/html/bug-bash/2024-01/msg00011.html
|
||||
* https://git.savannah.gnu.org/cgit/bash.git/diff/builtins/evalstring.c?h=devel&id=81f7b44564cd1510788035cea7c59631865a7db2&dt=1#n766
|
||||
|
||||
From 711ab85262884f2b91f09eceb9aefd0e2426ce67 Mon Sep 17 00:00:00 2001
|
||||
From: Grisha Levit <grishalevit@gmail.com>
|
||||
Date: Sat, 3 Jun 2023 16:51:26 -0400
|
||||
Subject: [PATCH] various leaks
|
||||
|
||||
Found mostly by normal usage running a no-bash-malloc build with clang's
|
||||
LeakSanitizer enabled. So far seems to provide very accurate results.
|
||||
|
||||
* arrayfunc.c
|
||||
- quote_compound_array_word: make sure to free VALUE
|
||||
- bind_assoc_var_internal: if assigning to a dynamic variable, make sure
|
||||
to free the key (usually assoc_insert would do it)
|
||||
|
||||
* bashline.c
|
||||
- bash_command_name_stat_hook: free original *NAME if we are going to
|
||||
change what it points to (what the callers seem to expect)
|
||||
|
||||
* builtins/evalstring.c
|
||||
- parse_and_execute: make sure to dispose of the parsed command
|
||||
resulting from a failed function import attempt
|
||||
- open_redir_file: if we did not get a pointer to pass back the expanded
|
||||
filename, make sure to free the name
|
||||
|
||||
* examples/loadables/stat.c
|
||||
- loadstat: bind_assoc_variable does not free its VALUE argument so make
|
||||
sure to do it
|
||||
|
||||
* subst.c
|
||||
- param_expand: free temp1 value for codepaths that don't do it
|
||||
---
|
||||
arrayfunc.c | 6 +++++-
|
||||
bashline.c | 1 +
|
||||
builtins/evalstring.c | 4 ++++
|
||||
examples/loadables/stat.c | 1 +
|
||||
subst.c | 2 ++
|
||||
5 files changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arrayfunc.c b/arrayfunc.c
|
||||
index 2c05d15b..8ba64084 100644
|
||||
--- arrayfunc.c
|
||||
+++ arrayfunc.c
|
||||
@@ -208,7 +208,10 @@ bind_assoc_var_internal (entry, hash, key, value, flags)
|
||||
newval = make_array_variable_value (entry, 0, key, value, flags);
|
||||
|
||||
if (entry->assign_func)
|
||||
- (*entry->assign_func) (entry, newval, 0, key);
|
||||
+ {
|
||||
+ (*entry->assign_func) (entry, newval, 0, key);
|
||||
+ FREE (key);
|
||||
+ }
|
||||
else
|
||||
assoc_insert (hash, key, newval);
|
||||
|
||||
@@ -985,6 +988,7 @@ quote_compound_array_word (w, type)
|
||||
if (t != w+ind)
|
||||
free (t);
|
||||
strcpy (nword + i, value);
|
||||
+ free (value);
|
||||
|
||||
return nword;
|
||||
}
|
||||
diff --git a/bashline.c b/bashline.c
|
||||
index c85b05b6..bd7548cc 100644
|
||||
--- bashline.c
|
||||
+++ bashline.c
|
||||
@@ -1928,6 +1928,7 @@ bash_command_name_stat_hook (name)
|
||||
result = search_for_command (cname, 0);
|
||||
if (result)
|
||||
{
|
||||
+ FREE (*name);
|
||||
*name = result;
|
||||
return 1;
|
||||
}
|
||||
diff --git a/builtins/evalstring.c b/builtins/evalstring.c
|
||||
index df3dd68e..20c6a4a7 100644
|
||||
--- builtins/evalstring.c
|
||||
+++ builtins/evalstring.c
|
||||
@@ -461,6 +461,8 @@ parse_and_execute (string, from_file, flags)
|
||||
should_jump_to_top_level = 0;
|
||||
last_result = last_command_exit_value = EX_BADUSAGE;
|
||||
set_pipestatus_from_exit (last_command_exit_value);
|
||||
+ dispose_command(command);
|
||||
+ global_command = (COMMAND *)NULL;
|
||||
reset_parser ();
|
||||
break;
|
||||
}
|
||||
@@ -762,6 +764,8 @@ open_redir_file (r, fnp)
|
||||
|
||||
if (fnp)
|
||||
*fnp = fn;
|
||||
+ else
|
||||
+ free (fn);
|
||||
return fd;
|
||||
}
|
||||
|
||||
diff --git a/examples/loadables/stat.c b/examples/loadables/stat.c
|
||||
index 1e60e7b6..ed5c9764 100644
|
||||
--- examples/loadables/stat.c
|
||||
+++ examples/loadables/stat.c
|
||||
@@ -349,6 +349,7 @@ loadstat (vname, var, fname, flags, fmt, sp)
|
||||
key = savestring (arraysubs[i]);
|
||||
value = statval (i, fname, flags, fmt, sp);
|
||||
v = bind_assoc_variable (var, vname, key, value, ASS_FORCE);
|
||||
+ free (value);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
diff --git a/subst.c b/subst.c
|
||||
index 1ac6eb2d..ff0602da 100644
|
||||
--- subst.c
|
||||
+++ subst.c
|
||||
@@ -10727,6 +10727,7 @@ comsub:
|
||||
{
|
||||
chk_atstar (temp, quoted, pflags, quoted_dollar_at_p, contains_dollar_at);
|
||||
tdesc = parameter_brace_expand_word (temp, SPECIAL_VAR (temp, 0), quoted, pflags, 0);
|
||||
+ free (temp1);
|
||||
if (tdesc == &expand_wdesc_error || tdesc == &expand_wdesc_fatal)
|
||||
return (tdesc);
|
||||
ret = tdesc;
|
||||
@@ -10739,6 +10740,7 @@ comsub:
|
||||
{
|
||||
set_exit_status (EXECUTION_FAILURE);
|
||||
report_error (_("%s: invalid variable name for name reference"), temp);
|
||||
+ free (temp1);
|
||||
return (&expand_wdesc_error); /* XXX */
|
||||
}
|
||||
else
|
||||
--
|
||||
2.43.0
|
Loading…
x
Reference in New Issue
Block a user