From d94fef9a5708b8e64f363f4a71f0b56caef5efe4 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 9 Jan 2025 06:41:15 +0000 Subject: gentoo auto-resync : 09:01:2025 - 06:41:15 --- app-shells/Manifest.gz | Bin 10649 -> 10647 bytes app-shells/bash/Manifest | 4 +- app-shells/bash/bash-5.0_p18-r2.ebuild | 288 ------------------- app-shells/bash/bash-5.0_p18-r3.ebuild | 223 +++++++++++++++ app-shells/bash/bash-5.1_p16-r13.ebuild | 362 ------------------------ app-shells/bash/bash-5.1_p16-r14.ebuild | 262 +++++++++++++++++ app-shells/bashdb/Manifest | 6 +- app-shells/bashdb/bashdb-5.0.1.1.2-r1.ebuild | 43 +++ app-shells/bashdb/bashdb-5.0.1.1.2.ebuild | 40 --- app-shells/bashdb/bashdb-5.1_pre20240617.ebuild | 65 +++++ app-shells/bashdb/metadata.xml | 1 + 11 files changed, 600 insertions(+), 694 deletions(-) delete mode 100644 app-shells/bash/bash-5.0_p18-r2.ebuild create mode 100644 app-shells/bash/bash-5.0_p18-r3.ebuild delete mode 100644 app-shells/bash/bash-5.1_p16-r13.ebuild create mode 100644 app-shells/bash/bash-5.1_p16-r14.ebuild create mode 100644 app-shells/bashdb/bashdb-5.0.1.1.2-r1.ebuild delete mode 100644 app-shells/bashdb/bashdb-5.0.1.1.2.ebuild create mode 100644 app-shells/bashdb/bashdb-5.1_pre20240617.ebuild (limited to 'app-shells') diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz index 6069911cf236..6fa9ba11b819 100644 Binary files a/app-shells/Manifest.gz and b/app-shells/Manifest.gz differ diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest index 926cbc4d8422..b7394a6b466e 100644 --- a/app-shells/bash/Manifest +++ b/app-shells/bash/Manifest @@ -475,8 +475,8 @@ EBUILD bash-4.1_p17.ebuild 4731 BLAKE2B 7be493ca2db1a7f9224090463aa13864e2b1eec4 EBUILD bash-4.2_p53.ebuild 5284 BLAKE2B be81e596f4c2d3b705cba02fa2a4739f9dd57de5f04b70bd0a3a300361bf238445b0bb3a48028483e8a0f6746b8f4641c988e75974cbc2d28fdb757f1b34046d SHA512 5abae3545c25e3ccf63f36e48e63ceb835e7bce6498abdd0490ed2cc08ed4cb02ebf77d8797a7abd45a2b675f7c45a7bcc73933de91b93d6dcef2ceb732ab4be EBUILD bash-4.3_p48-r2.ebuild 6485 BLAKE2B b4d6713527bc4b18aec27d001543b967030e4de416e9258637690a19f135aeecb017cebbffe9016d49255cc26f1f417e4fda8b34da9d3c2ac61c45daace56fd5 SHA512 8c4eca867cc4a0934b203eab9f34ca43cd9a1b5e0f392a7848737d5cc95152cd8cf08749d4629225dda48f3558e7a5801d457cc526bcff49ee5328d63459cfe3 EBUILD bash-4.4_p23-r2.ebuild 6483 BLAKE2B 20f9cc2edee161f4d43cbcb556ff363187ffcef3f2460717228ab040c53c778d275133e9db2139facedce13e8f539bdfe3128e55123a20e5a3dea852e982f949 SHA512 ab969f429bfbd4f410e65e081367f3f110053c28dc1f8690960f6966d59b6d34f04bb78a2291c9daffb034670478b7d827728753a5dc106146840558168f8a1d -EBUILD bash-5.0_p18-r2.ebuild 7807 BLAKE2B 1db98c0168fcf5eb0315b934f5f04d3ef61f908afb4481541ab9c803c41fae7d4db69b8dac13e75bc371d3cf1658837a57d695fda46cbb04555c88a4eeda5089 SHA512 912679e15afa98689ba62c16b8ce1f1b29a10cf549a956f3e7e9dd89d8296be050d3e2c93d205efc34d1ce2d0094af1dab9cd3ef383720d4ba371e7f002ea64a -EBUILD bash-5.1_p16-r13.ebuild 10425 BLAKE2B 5d1139d0b9988ece989e126d48b0522c4835805541d8e2a201d02a36dbc06e0cfcfc603c3f064e9ef1c08579dc8740be73e66bcbc2ab3f4db40c30a9d4a0dacb SHA512 9d2541cbc9b8bbdc172b9b0fa624ff2e3fbe0d8291b82e2e7f0054293cba9ede3d2c3c752c96f1363fe7febda0162180ecd40ea432e228670066e196e8b62604 +EBUILD bash-5.0_p18-r3.ebuild 6559 BLAKE2B c264bd72d3e69d1fda3bb9fb15ea331269dcd2c0fb0bf6c7c70abe636441183604323259dc4ec1cc7905c411d4d6d26d7cb6ecea76b1ffb8b8bd5b9f1dfd1d3f SHA512 374d9bca14a7e4bd69543810421dcb9be53ec6fbdc7cae5d8814e55ec1a954811a2a281ec5e47f51773a799be73d7ef96e226bbf75ed865a32393d9946e17e40 +EBUILD bash-5.1_p16-r14.ebuild 7505 BLAKE2B f294e53426c8b2bc69f7e53ae0d68aafcfcc965474c971c03235b6a80f45f65f0166b970952a0dddd974e1667a9a6feb54f89c520d745f9e1377a6a7e14d0a81 SHA512 2822edee1a804a6035c650e3ef678471a8de58ad2180193dc4ed5f55bd993c6a24efe9ba1629a25d89f391bbc5cd96675367bf562ddcd4812faca3e4d5a2f7fa EBUILD bash-5.2_p37.ebuild 11864 BLAKE2B fbc51a614a3cd31d434e578600c4b4183520e008ccd005fd5edecbe6272d01264e0612a45f6537d994f057572e78bbf68fcd2dc3832f6b9d7650236a4eb856c2 SHA512 148edbf2b3479f3b70238fa182075db8a65dc364e7627498e11ad52b9fc073b36e8a570b0321106835b690902a6ceecbd8b2064ef6f82dae5c3cdf4c2b6bbcd0 EBUILD bash-5.3_beta.ebuild 12151 BLAKE2B 5cf02450b8bce041d6f302c2c16b5c722595eafc6db3a2ca1e71828fc13024ec5a43c66112edf885668c64dc4ad4b5806586105d202d6da81374077c1ee54934 SHA512 601a3ed600d8ee0c5be161e8f092083e922c2c85f9e9bedc92ffb15e71aeaae699db6657fa88db3471d781820951bf1b618e2ed511fb832d713975eff1a20913 EBUILD bash-5.3_beta_p20241230.ebuild 12151 BLAKE2B c38fae9308404e7e8f3412c0e1369920b77e444c1bbefa08fdcddab4a6a915894631d47eb39e333c7a83ef5a00ba58fc215c2e2e84796d07f927d69b3c0f0fe1 SHA512 eb89477c73e1d20c06e9dd6e4c8e94e0aa38c57502592c3f54b886a6e9a51eb4353135e4df399314baf7652504cd3c0b679f4557b68f367356799745e7f315a6 diff --git a/app-shells/bash/bash-5.0_p18-r2.ebuild b/app-shells/bash/bash-5.0_p18-r2.ebuild deleted file mode 100644 index 8b51f3570ada..000000000000 --- a/app-shells/bash/bash-5.0_p18-r2.ebuild +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs prefix - -# Uncomment if we have a patchset -GENTOO_PATCH_DEV="sam" -GENTOO_PATCH_VER="${PV}" - -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -is_release() { - case ${PV} in - *_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; - esac -} -[[ ${PV} != *_p* ]] && PLEVEL=0 -patches() { - local opt=${1} plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}} - [[ ${plevel} -eq 0 ]] && return 1 - eval set -- {1..${plevel}} - set -- $(printf "${pn}${pv/\.}-%03d " "$@") - if [[ ${opt} == -s ]] ; then - echo "${@/#/${DISTDIR}/}" - else - local u - for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do - printf "${u}/${pn}-${pv}-patches/%s " "$@" - done - fi -} - -# The version of readline this bash normally ships with. -READLINE_VER="8.0" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html" -if is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" -else - SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" -fi - -if [[ -n ${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" -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" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:0= - nls? ( virtual/libintl ) - readline? ( >=sys-libs/readline-${READLINE_VER}:0= ) -" -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005) -BDEPEND="sys-devel/bison" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - # Patches from Chet sent to bashbug ml - "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-history-append.patch - "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${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() { - unpack ${MY_P}.tar.gz - - if [[ -n ${GENTOO_PATCH_VER} ]] ; then - unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz - fi -} - -src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) - - # Clean out local libs so we know we use system ones w/releases. - if is_release ; then - rm -rf lib/{readline,termcap}/* || die - touch lib/{readline,termcap}/Makefile.in || die # for config.status - sed -ri -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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -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. - unset YACC - - # bash 5.3 drops unprototyped functions, earlier versions are - # incompatible with C23. - append-cflags $(test-flags-CC -std=gnu17) - - local 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) - - # Don't even think about building this statically without - # reading bug #7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" - use nls || myconf+=( --disable-nls ) - - # 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%%_*} - - if is_release ; then - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins ; then - append-ldflags -Wl,-rpath,/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() { - emake - - if use plugins ; then - emake -C examples/loadables all others - fi -} - -src_install() { - local d f - - default - - dodir /bin - mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - 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 -} diff --git a/app-shells/bash/bash-5.0_p18-r3.ebuild b/app-shells/bash/bash-5.0_p18-r3.ebuild new file mode 100644 index 000000000000..2fa356b7fac0 --- /dev/null +++ b/app-shells/bash/bash-5.0_p18-r3.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs prefix + +# Uncomment if we have a patchset +GENTOO_PATCH_DEV="sam" +GENTOO_PATCH_VER="${PV}" + +# Official patchlevel +# See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/ +PLEVEL="${PV##*_p}" +MY_PV="${PV/_p*}" +MY_PV="${MY_PV/_/-}" +MY_P="${PN}-${MY_PV}" +is_release() { + case ${PV} in + *_alpha*|*_beta*|*_rc*) return 1 ;; + *) return 0 ;; + esac +} +[[ ${PV} != *_p* ]] && PLEVEL=0 +patches() { + local opt=${1} plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}} + [[ ${plevel} -eq 0 ]] && return 1 + eval set -- {1..${plevel}} + set -- $(printf "${pn}${pv/\.}-%03d " "$@") + if [[ ${opt} == -s ]] ; then + echo "${@/#/${DISTDIR}/}" + else + local u + for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do + printf "${u}/${pn}-${pv}-patches/%s " "$@" + done + fi +} + +# The version of readline this bash normally ships with. +READLINE_VER="8.0" + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html" +if is_release ; then + SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" +else + SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" +fi + +if [[ -n ${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="${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" + +DEPEND=" + >=sys-libs/ncurses-5.2-r2:0= + nls? ( virtual/libintl ) + readline? ( >=sys-libs/readline-${READLINE_VER}:0= ) +" +RDEPEND=" + ${DEPEND} +" +# We only need bison (yacc) when the .y files get patched (bash42-005) +BDEPEND="sys-devel/bison" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + # Patches from Chet sent to bashbug ml + "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-history-append.patch + "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${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() { + unpack ${MY_P}.tar.gz + + if [[ -n ${GENTOO_PATCH_VER} ]] ; then + unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz + fi +} + +src_prepare() { + # Include official patches + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + + # Clean out local libs so we know we use system ones w/releases. + if is_release ; then + rm -rf lib/{readline,termcap}/* || die + touch lib/{readline,termcap}/Makefile.in || die # for config.status + sed -ri -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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die + touch -r . doc/* || die + + eapply -p0 "${PATCHES[@]}" + eapply_user +} + +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. + unset YACC + + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags $(test-flags-CC -std=gnu89) + + local 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) + + # Don't even think about building this statically without + # reading bug #7714 first. If you still build it statically, + # don't come crying to us with bugs ;). + #use static && export LDFLAGS="${LDFLAGS} -static" + use nls || myconf+=( --disable-nls ) + + # 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%%_*} + + if is_release ; then + # Use system readline only with released versions. + myconf+=( --with-installed-readline=. ) + fi + + if use plugins ; then + append-ldflags -Wl,-rpath,/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() { + emake + + if use plugins ; then + emake -C examples/loadables all others + fi +} + +src_install() { + into / + newbin bash bash-${SLOT} + + newman doc/bash.1 bash-${SLOT}.1 + newman doc/builtins.1 builtins-${SLOT}.1 + + 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 +} diff --git a/app-shells/bash/bash-5.1_p16-r13.ebuild b/app-shells/bash/bash-5.1_p16-r13.ebuild deleted file mode 100644 index c760b90a57da..000000000000 --- a/app-shells/bash/bash-5.1_p16-r13.ebuild +++ /dev/null @@ -1,362 +0,0 @@ -# Copyright 1999-2024 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.1-patches/. -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 - ;; - *) - 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.1" - -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 -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/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','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - - 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 - -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" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins +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=" - sys-devel/bison - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -QA_CONFIG_IMPL_DECL_SKIP+=( - # this is fixed in autoconf 2.71, used in bash 5.2. The check fails - # regardless of GCC version. bug #916480 - makedev -) - -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.1_p16-configure-clang16.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 - 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 - - 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 - - # bash 5.3 drops unprototyped functions, earlier versions are - # incompatible with C23. - append-cflags $(test-flags-CC -std=gnu17) - - 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() { - emake - - if use plugins; then - emake -C examples/loadables all others - fi -} - -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.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 -} diff --git a/app-shells/bash/bash-5.1_p16-r14.ebuild b/app-shells/bash/bash-5.1_p16-r14.ebuild new file mode 100644 index 000000000000..0a1dbe4b63a9 --- /dev/null +++ b/app-shells/bash/bash-5.1_p16-r14.ebuild @@ -0,0 +1,262 @@ +# 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.1-patches/. +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 + ;; + *) + 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.1" + +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 +else + my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/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','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) + MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) + done + + SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" + + 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 + +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-3+" +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 +IUSE="afs bashlogger examples mem-scramble +net nls plugins +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=" + sys-devel/bison + verify-sig? ( sec-keys/openpgp-keys-chetramey ) +" + +# EAPI 8 tries to append it but it doesn't exist here. +QA_CONFIGURE_OPTIONS="--disable-static" + +QA_CONFIG_IMPL_DECL_SKIP+=( + # this is fixed in autoconf 2.71, used in bash 5.2. The check fails + # regardless of GCC version. bug #916480 + makedev +) + +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.1_p16-configure-clang16.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 + 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 + + 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 + + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags $(test-flags-CC -std=gnu17) + + 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() { + emake + + if use plugins; then + emake -C examples/loadables all others + fi +} + +src_install() { + into / + newbin bash bash-${SLOT} + + newman doc/bash.1 bash-${SLOT}.1 + newman doc/builtins.1 builtins-${SLOT}.1 + + 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 +} diff --git a/app-shells/bashdb/Manifest b/app-shells/bashdb/Manifest index fc43f4822066..8bbeb4deb217 100644 --- a/app-shells/bashdb/Manifest +++ b/app-shells/bashdb/Manifest @@ -1,4 +1,6 @@ DIST bashdb-4.4-1.0.0-missing-test-files.tar.xz 996 BLAKE2B 7ea67884cceda11559cf49355645cad2cfd485537643ad2fa05398518f498163596b6f591756bedd0e7b7e013fed3c6a031e245d15cd0cf316d42ef4f5c8b3e6 SHA512 e19d41569c2001ce026e4c5f80cc21c81651ff9980be059236c45e215162769ceda266eb46aa4199000e377c0bb53dec98fa1b7c5290459c412f21329b3589a5 DIST bashdb-5.0-1.1.2.tar.bz2 574210 BLAKE2B 6de1cac2cb66022f60ab7f0385361762fedee56c26729f22acb070e24a7bcf317700fb5db314c1592b8f9ccf9f7d07bfc80afd5fc88a753d0ad2954325a7f078 SHA512 32ff6d315e8cf9d59485802d5284fde53fa2d9f40ec238428a479f8a1ed1359e9bea2946b192b78534e7ac835491d5d64d73f536c8dfa93583b4c6d55d4d4545 -EBUILD bashdb-5.0.1.1.2.ebuild 1070 BLAKE2B 44d18df6f661b4e44ac2e430e802d458ecc2d79589b33051b473c69875a323dbe0626ced7b22273db3f1770a9b86d770a16367eccdc7683351bfb9a9b5dffcf3 SHA512 6e7a98fc01d65cb2c546b0389f64dcef46cca129dc8a20ff2c999624ea4a9e5e6ccc75f1c33b0455386f9497e4390b887c1170f627e62b3f0aa91df62b56e5bc -MISC metadata.xml 244 BLAKE2B c23abbab2e247161218cc0dc192e9307a9ebc48213c4ce2091ee62160b15a84e7ccdbba84b0059e8b535d00345a4f75bc91acc19583293ffa0c6068ad322d9f7 SHA512 e3052359d186fd6b92658206ff83c39396fdd873c4fec15f8c010068ffd3079bc507c0e9530da1f77e701f45157eb817187e952800c01a2c17cf6ced1c9d9262 +DIST bashdb-5.1_pre20240617.gh.tar.gz 690536 BLAKE2B b8c736ea16f90c14ebcbe06ae6dcdcc8187161e94ca5672f9078366161afec77bd54e95f0782ec4204f6997b173844f288d9cd39a03539e83447fcdc33cc6545 SHA512 748de6d3a7a30ce59269ec953f3d2ee71d50a92038001f3a74ef758225d77de6db906945936a20439869442ac995001ef26c394050d6e73f5a1c288022faaaec +EBUILD bashdb-5.0.1.1.2-r1.ebuild 1141 BLAKE2B 40f008fcbca7968aed07ab08310e27c4f6a4ec8dd62df1e897016e7ce609d5f6bff85d50ca0240de5fdcc35a5b18c758d25a0bdcbf35c19eb636505789b7f5a9 SHA512 83fddeb8d86790b160b2f75bd623d76f29766f9a0cbffc4615f441199f657d5b43e250134d1cc481a1d86405b2ff837595b117a9fa64ee7c7d3b7537a0b06a93 +EBUILD bashdb-5.1_pre20240617.ebuild 1649 BLAKE2B cd80b00fbd6aed0895a8701ff4868e79831f3ec2237476914813b7f4b1966eaa2beced7625b7cbd522aa6fc6a3bca795b59dec5c77018257af5ba1d3039de5e1 SHA512 7bdaaf00bab12643c334f50abc22d48c15b67ae10ddeb5650bcb3f0da3e9d7914a60513549b45b5242af172554fb89c3aae27453ed3fa652a887fd94146bc962 +MISC metadata.xml 307 BLAKE2B c2e8705973bf72ae22aed727d054c7c3f16b20e8bdab01d7b87a95fe2a3ea830f319f5b5eaf48c7881bc57de2eeb82bb649551542c659d14506fcaa13fd97aaf SHA512 f70f910fc9b2f032a8efafb902ffa3b11b84148cde370a3f2edd7b1cf8a803a6134fa7ca728f7249c63dfc7d97a3c3df4df799b992cd3ed31b37a5dac23b3236 diff --git a/app-shells/bashdb/bashdb-5.0.1.1.2-r1.ebuild b/app-shells/bashdb/bashdb-5.0.1.1.2-r1.ebuild new file mode 100644 index 000000000000..f4018c58806a --- /dev/null +++ b/app-shells/bashdb/bashdb-5.0.1.1.2-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="${PN}-${PV:0:3}-${PV:4}" +DESCRIPTION="bash source code debugging" +HOMEPAGE="http://bashdb.sourceforge.net/" +SRC_URI=" + https://downloads.sourceforge.net/bashdb/${MY_P}.tar.bz2 + test? ( mirror://gentoo/30/bashdb-4.4-1.0.0-missing-test-files.tar.xz ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND="app-shells/bash:${PV:0:3}" +RDEPEND="${DEPEND}" + +src_prepare() { + if use test ; then + einfo "Copying missing files ..." + # https://sourceforge.net/p/bashdb/bugs/52/ + cp -vafn "${WORKDIR}"/missing-files/* "${S}"/test || die + fi + + default + + # We don't install this, so don't bother building it. #468044 + sed -i 's:texi2html:true:' doc/Makefile.in || die +} + +src_configure() { + # This path matches the bash sources. If we ever change bash, + # we'll probably have to change this to match (bug #591994). + CONFIG_SHELL="${BROOT}"/bin/bash econf \ + --with-bash="${EPREFIX}"/bin/bash-${PV:0:3} \ + --with-dbg-main='$(PKGDATADIR)/bashdb-main.inc' +} diff --git a/app-shells/bashdb/bashdb-5.0.1.1.2.ebuild b/app-shells/bashdb/bashdb-5.0.1.1.2.ebuild deleted file mode 100644 index d73f4c54fbbd..000000000000 --- a/app-shells/bashdb/bashdb-5.0.1.1.2.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_P="${PN}-${PV:0:3}-${PV:4}" -DESCRIPTION="bash source code debugging" -HOMEPAGE="http://bashdb.sourceforge.net/" -SRC_URI="https://downloads.sourceforge.net/bashdb/${MY_P}.tar.bz2 - test? ( mirror://gentoo/30/bashdb-4.4-1.0.0-missing-test-files.tar.xz )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ppc ppc64 x86" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=">=app-shells/bash-5 - !>=app-shells/bash-${PV:0:1}.$((${PV:2:1}+1))" - -S="${WORKDIR}/${MY_P}" - -src_prepare() { - if use test ; then - einfo "Copying missing files ..." - # https://sourceforge.net/p/bashdb/bugs/52/ - cp -vafn "${WORKDIR}"/missing-files/* "${S}"/test || die - fi - - default - - # We don't install this, so don't bother building it. #468044 - sed -i 's:texi2html:true:' doc/Makefile.in || die -} - -src_configure() { - # This path matches the bash sources. If we ever change bash, - # we'll probably have to change this to match. #591994 - econf --with-dbg-main='$(PKGDATADIR)/bashdb-main.inc' -} diff --git a/app-shells/bashdb/bashdb-5.1_pre20240617.ebuild b/app-shells/bashdb/bashdb-5.1_pre20240617.ebuild new file mode 100644 index 000000000000..2468ebc8a2a9 --- /dev/null +++ b/app-shells/bashdb/bashdb-5.1_pre20240617.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Set to 1 for older versions of bash (that are hence slotted) +BASH_IS_SLOTTED=1 + +if [[ ${BASH_IS_SLOTTED} == 1 ]] ; then + BASH_SLOT="${PV:0:3}" +else + BASH_SLOT="0" +fi +MY_P="${PN}-${PV:0:3}-${PV:4}" +DESCRIPTION="bash source code debugging" +HOMEPAGE="http://bashdb.sourceforge.net/" + +if [[ ${PV} == *_pre* ]] ; then + inherit autotools + + # bashdb for newer bash versions doesn't (yet?) have tags, so we + # take snapshots. Make sure to pick the right branch. + BASHDB_COMMIT="11150b3bee22215632143942ade99b5f2441c4ca" + SRC_URI=" + https://github.com/Trepan-Debuggers/bashdb/archive/${BASHDB_COMMIT}.tar.gz -> ${P}.gh.tar.gz + " + S="${WORKDIR}"/${PN}-${BASHDB_COMMIT} +else + SRC_URI=" + https://downloads.sourceforge.net/bashdb/${MY_P}.tar.bz2 + " + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +DEPEND=">=app-shells/bash-${BASH_SLOT}:${BASH_SLOT}" +RDEPEND="${DEPEND}" + +# test-bug-loc fails with formatting differences +RESTRICT="test" + +src_prepare() { + default + + [[ ${PV} == *_pre* ]] && eautoreconf + + # We don't install this, so don't bother building it. #468044 + sed -i 's:texi2html:true:' doc/Makefile.in || die +} + +src_configure() { + local bash_suffix + if [[ ${BASH_IS_SLOTTED} == 1 ]] ; then + bash_suffix="-${BASH_SLOT}" + fi + + # This path matches the bash sources. If we ever change bash, + # we'll probably have to change this to match (bug #591994). + CONFIG_SHELL="${BROOT}"/bin/bash econf \ + --with-bash="${EPREFIX}"/bin/bash${bash_suffix} \ + --with-dbg-main='$(PKGDATADIR)/bashdb-main.inc' +} diff --git a/app-shells/bashdb/metadata.xml b/app-shells/bashdb/metadata.xml index c410fc64f546..97949e8bc810 100644 --- a/app-shells/bashdb/metadata.xml +++ b/app-shells/bashdb/metadata.xml @@ -4,5 +4,6 @@ bashdb + Trepan-Debuggers/bashdb -- cgit v1.2.3