app-shells/bash: drop 5.1_p16-r6

Signed-off-by: Kerin Millar <kfm@plushkava.net>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Kerin Millar
2024-08-26 23:54:00 +01:00
committed by Sam James
parent 332106e9ce
commit 2e4c596ed7
2 changed files with 0 additions and 333 deletions
-1
View File
@@ -20,7 +20,6 @@ DIST bash-5.0.tar.gz 10135110 BLAKE2B a6c4d79144aa0c0f4a9433d618085c0d46b792b1de
DIST bash-5.0_p18-patches.tar.xz 804 BLAKE2B 89e615a08920a4cfc90f72d125a8256275b0677fb2d7abf208ca90ac80471d5fbf7efb86c814b6ccbbc65772370ed8fe82b7cee9b247ec881c0b664dee152f72 SHA512 538f817867ff3613f2177f2e6d9fecc69057152ac9cf35a5a7448ddc83960b94bc8e8f2987226ba68d14de376127ee5cf6c83f5374b74feb14fa1c5aab6105c7
DIST bash-5.1.tar.gz 10458638 BLAKE2B 42059556694b604911b5b7936f94d42d8923f2931f3ebacefd95454274c7baadb1ec97629a524c1542e2e282dae66f1389334f8edc572ca8ee841cc3ac449ba7 SHA512 c44a0ce381469219548a3a27589af3fea4f22eda1ca4e9434b59fc16da81b471c29ce18e31590e0860a6a251a664b68c2b45e3a17d22cfc02799ffd9a208390c
DIST bash-5.1.tar.gz.sig 95 BLAKE2B ac9209d6a4ab4436c511a7a195594e9036d7d1aef7887972f61a0e97378a9685b882621d7f95f5326b155dc155c41635417ce2ca41ac6d0dda78bd293ea4249f SHA512 3966404c0f683c7ef214fcf283b551e5441af3897009f778308c2e34067d98d57c95561453416a54ca5b1daf9a1288dbf950fe3f13353703cead12f5eec5fad8
DIST bash-5.1_p16-patches.tar.xz 388 BLAKE2B 1575d54d311872c7ca71e13711fa0f7e3534fca16fd9d1ca045b6c696c9ca56f6a0ed5023a05d847ab5ddbefc22b8ef2c2a681f09571520f0294d83b495f0015 SHA512 c85e5b83f6ee1a7345647fa937d9718cab13be1a65886755d26a78d21fea4246650c7441a34fd729212e220366985b410562002d74c02c18de7ef0469b409ac7
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
-332
View File
@@ -1,332 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
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}"
# Official patchlevel
# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
PLEVEL="${PV##*_p}"
MY_PV="${PV/_p*}"
MY_PV="${MY_PV/_/-}"
MY_P="${PN}-${MY_PV}"
MY_PATCHES=()
is_release() {
case ${PV} in
*_alpha*|*_beta*|*_rc*)
return 1
;;
*)
return 0
;;
esac
}
[[ ${PV} != *_p* ]] && PLEVEL=0
# The version of readline this bash normally ships with.
READLINE_VER="8.1"
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"
SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )"
if [[ ${PLEVEL} -gt 0 ]] ; then
# bash-5.1 -> bash51
my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
patch_url=
my_patch_index=
upstream_url_base="mirror://gnu/bash"
mirror_url_base="ftp://ftp.cwru.edu/pub/bash"
for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do
printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index}
patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
SRC_URI+=" ${patch_url}"
SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
# Add in the mirror URL too.
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )"
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
done
unset my_p patch_url my_patch_index upstream_url_base mirror_url_base
fi
else
SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )"
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"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~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, bash51-011)
BDEPEND="sys-devel/bison
verify-sig? ( sec-keys/openpgp-keys-chetramey )"
S="${WORKDIR}/${MY_P}"
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=(
# Patches from Chet sent to bashbug ml
"${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() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
else
if use verify-sig ; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig}
local patch
for patch in "${MY_PATCHES[@]}" ; do
verify-sig_verify_detached ${patch}{,.sig}
done
fi
unpack ${MY_P}.tar.gz
if [[ -n ${GENTOO_PATCH_VER} ]] ; then
unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
fi
fi
}
src_prepare() {
# Include official patches
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}"
# 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
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,"${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
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
# 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/
fi
}
pkg_postinst() {
# If /bin/sh does not exist, provide it
if [[ ! -e ${EROOT}/bin/sh ]] ; then
ln -sf bash "${EROOT}"/bin/sh
fi
}