commit: f9698963845d14131a6df293240ee610a8910f03 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Thu Dec 27 15:37:01 2018 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Thu Dec 27 15:37:01 2018 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=f9698963
app-shells/bash: sync with gx86 Package-Manager: Portage-2.3.52.2-prefix, Repoman-2.3.12 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> app-shells/bash/Manifest | 23 ++ app-shells/bash/bash-4.4_p23.ebuild | 259 +++++++++++++++++++++ app-shells/bash/files/bash-4.4-jobs_overflow.patch | 14 ++ 3 files changed, 296 insertions(+) diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest index ff8a2a6412..19bef7dd3e 100644 --- a/app-shells/bash/Manifest +++ b/app-shells/bash/Manifest @@ -48,3 +48,26 @@ DIST bash43-045 1312 BLAKE2B a34b02287066e74a5afefc3ce6868a3deca0eaa475e578f683a DIST bash43-046 1494 BLAKE2B ee4b87d81ac97ed53728051f154da7d4ac575c589a1194d16fe90614cc90c1e2d136d5b91978dd6c1c8357a28d5213ab14510dc8175dca1968543c309c76bddb SHA512 c036b659fa681f8129110356bec33fad00fb8e469f3b4bcefd0b7ddf5e20030977716adf5c65f58f3ff68cd7af0bdd42392ee077100bc7f45ee123749d082f7d DIST bash43-047 4437 BLAKE2B 449204b8b9e0937cb65ef286db2fa5cad9999dd822fd55369cfc469e6e6c086a97aea7b50625e756d349341a53907d69d8a631371846c0e373efcdbb6d3cb0e0 SHA512 9332d680ac226491cf8e5986a3261eb76b53ef4b0b2a43405564b088afc0e8658077812c9177bdab7900e05394e69f3047d82ddb59553fc01ef721acfa9d5553 DIST bash43-048 1612 BLAKE2B 6014935977b2ae1628dc6e9221786a2fb923590ff17b9660d1c238da251f9a0152bd4ceec0c66ea42e34dd592653c244a8df2beb02f20dc7d214b64681541ad2 SHA512 7c3963bfbc730b4592668460e86c166e727e9897c1a9235a6860a01bc90d365ef0707f0fac7ed62780dcc84e80dbe8484ec59e9e948def22f44ae03e8a169780 +DIST bash44-001 1896 BLAKE2B 1ff23656f2904385f34aa94c48bec2a8cd145223c74c4138bb857a6ef79ec6e5985521661170c46c5bd603ea4fb7c1d8058770b4da0165366aab7b2bbaf4709b SHA512 fa7a1b277eb3bad6ae7d2c7a2887cbf2c0eb75b7fee8ed03ec1e9d45879a2fb4b8c7cb16d6b029987493b01a461214bd9a24454a6837e7cfe180b1bc56f61caa +DIST bash44-002 1946 BLAKE2B 2b7798375a629ba957c139ded809e53a43ab03258557669304441c04433693069d1fc1af03fe5516140097e5c71c07870bf8cda2309a8fd7ade4b169a8256739 SHA512 526f986057810f89080e283ff95b3a8fd24d37e4ad2f18c39f36d3a2d57956a6441d16220082157735e3c5ccf770d5016e761aa5f309129898e39277d576e6b5 +DIST bash44-003 1593 BLAKE2B f47eeb4d32108d6e889436ad72920c1749e13fb17439dffb8df72f334f570fcccc7956bd616ef1beec5c07c1479d9113047f8aaa21c19af3e4db21f00783dcbd SHA512 e61db89bdd1a7ae15013fe258046a343c9ea41e5a1c6d2c810947500a617fce7536b8d51194e14bb42499fe0de6d70cc9b2c81da0afdcb5a2278459f4f76d748 +DIST bash44-004 2350 BLAKE2B 245c88f4f7f7e0a4a571956c1a6363b8ba86b883897bd8c92297605811e418748709f9ffaa148173c9669b4dc8b71482fce9eb3b177920fd8d34b260465c72fd SHA512 7570cf15518f79230cfe91b3e58c795c16c7fb6ba6418d967355b36fb7982e7919a9eaaef9177fb605c7fb7d7efb8a8335e725c1bacffff69a098433f5adc9c7 +DIST bash44-005 1439 BLAKE2B 4d563b1a0b2d858a904b98fb52b38c8c806942b6c879b3a02480774b0806468f51a91ef0a26a4a9c5bc8f2a3242cd206afe786d0754449cb11adeed4ae97a90d SHA512 7546a6c90c8e8508567dde713722291477ca87c1116905b46432514a4fc632840a855b84f102591914cd4c44d5bf2eb7400866e26366fc94525fb401ea844a8f +DIST bash44-006 1805 BLAKE2B aa187e52bc12dc5c34e52d6b487a0f260e3c54970ebb022c54293f409903baeb239417d671d85b16d30b327c6353ffa666dc7adb5c872ec500266339d8a9de0e SHA512 5edcd76cf97bfe289f71924ba279ff48a1167eb3cc36f811cbcc23732746f5c821d1d39d4b137b7d99d57809a4b7270a54f4a41176fcfde0708bf92ddc68b77f +DIST bash44-007 4640 BLAKE2B 3b803e553ac117129db686818835ce6deb7574b38171f4c9262448e01e097933645311de003593ef3949a7ba5925172577a758b2edd281c4446f3bca62beadb8 SHA512 386c019debee414697abc648d9a77894e842bb0b7a2a71709e8b3398582f25065e68963405fa22fb77439c6b431ee94a2ecbb16734c2436af3dfb4d1b5f06fcf +DIST bash44-008 2223 BLAKE2B 09c01c2821404ca8a89d9644cd7d55d2994ba4cdc15b928c1156e2a91c083b528340c27909bdd312a78f677cc94ded5888ec4eaff0d0070d575fbdde3bb326a0 SHA512 d9a8924f1c9263deab89153bb688a87f211913ebd72c8077e607db6fdddc7e5af05042dd22a9a2df593e518ea74b54ca79d20afc796e47d871827a2556e233d0 +DIST bash44-009 3117 BLAKE2B 1921a30e1f7c6d37cac048772f89322e2cfe6e77f3ec48d4a6bb3d7e82452b7471bef2e1fa31094a62d9a29589a8438dc875211dbab8ba204939e16810eca13b SHA512 3b01c080cf4a54658679b36c282a69a9ac48b900b19ceb42dbaf084abd395d50e5ff14db90a7fdf0c9856dad150897dca561160686c931634765782447fc076e +DIST bash44-010 1670 BLAKE2B 6e0cab685ae2393a9ae7eeb91767f8ce3086e3921f2d69614e729e9bc26603b363a69083c57a43aa53669491deba663bd8c9de91571833312cc23efb05c43222 SHA512 54ff556b62fd88381e7a495db50957b016474973b3a566661c65b649a40960f2d3355221b3a71fb292128aad92a45d73d9816d63833bc416b4d15acdef391b98 +DIST bash44-011 1603 BLAKE2B 6bd978408140620c2d63277757c15bfe55d6b0ff5706b7b884b234308efb6cfa771888306840ce5cfd4ece5912924dbb6a321d823fa106c99ba573f47dbbb9ae SHA512 6b5b068b74978fc691749ccff5e094c768047f702430e97114f5bf342f078696f7d7616d0642d4061b062e9112dfe00a1c2309c65de4147e0e98fb52c593d844 +DIST bash44-012 5768 BLAKE2B 63c6f5ff2cf52a35e1bd7f0028d7cce5c2c87e65ca600d8d85bf9b197ac8dee16bed5dc1dba6b354ef560309022cfd427a08180b76effe4107b9dda2ed99b20e SHA512 4661c4c132f2ea7c9a70368301041c482d5820d8389334a7e3ae44c36fc16c171b20db2f194b7663c84d6c3dcef81aa90f050a48e205218fc7bd3395d09c6a51 +DIST bash44-013 1255 BLAKE2B f19be55c986bc60c395d24044c7edc67cd180d86047af59d173c1507de32534b2eed546f16164d799283d66c0d0460ff4771da6bc327bc87ebc4f01cb284f9eb SHA512 eac0a9abf59b65a59a0028d2f3c0a7dc8a0b3c04e2d2db642b69aa7c13a2dfa190f3c63f7d8a7c9400f01701e9ef84212ce668c4c44d0ccfd02cd1f8e723d831 +DIST bash44-014 2834 BLAKE2B 3a211d9916e16a996d709034523dc0f3775520736f481bdff8c737e1969da1719602bf0379befc685822e4931586482a30bbec69be4233da4f912c5b6333886e SHA512 11e16896aa66a1eafb12cdcea00515132789690e914c8894caefd8c80ed98c8e732428348ddbfb53495164ce4044596f5cdbc03e146dce364fc497f362a1859b +DIST bash44-015 1233 BLAKE2B 5504d4a64f938ccfbb12f43455c11c6dc6a38397e5692da874a1b5de1865d19677c6f683073dbf9843869df67f96a87a6a60d2381338294d6750f2aba1580c55 SHA512 94d6fed30d4a376c29f8986d15f1b3fd65a04ee0f3d1844d010f3e51a2f9f875cd294a68fb6f0e1ffa481fb09f02055b21f2f298ebd9d88eb2f76d6c1f15de34 +DIST bash44-016 2069 BLAKE2B 5ac613c450d018edff4f82740655ed0e460e49b57ce1a817f0b7b0a101b9f1ab095c48904fc17789203d6bdcc1beb01dde23b4a097f36441eda5e11ab638e9bd SHA512 5acc704df3fe63b5b8055ba7bc14ae70cc23d15aefee8db6991e6c11cc8b0e10fcc67d516bc2d2fde84be26ed5c88dbf266fa164756218b60eccc2bfb4eed7d9 +DIST bash44-017 1143 BLAKE2B 64da515637109cd87b95e5f55857f25c2758b4a5c2620cd21250287e00767d5ca7a14fe331603cdef1ba02f622d97ee120bc0bfba463bccb113f16ebee56159f SHA512 c1d50aee953427ba0b95e48c10d2324e7413f3354ff65b9c3c1dfd14eedec55e619fcd12353e7b99b6e280f510e04d1c971b309c1a4efb97d48ddb30d69f14ac +DIST bash44-018 1319 BLAKE2B abfd87f2cb5e9aeb0352bb0efbfd3ad95cbb26445e09edaa762cf1ea1fa01a00ab57c96d912ae5eaf653b66169bc54bba39fdf1d62ad45301c6599d21979ff14 SHA512 008ff44dbf916414d691c29cee29e7f636bbe79170463d76ef16ca63ecdc24a84ff4476078c28fb8788d9b1fb0572612a7e8cb30fceb55ad650f293db8361ad1 +DIST bash44-019 1671 BLAKE2B 3d917b1c2618b92d7a79d64a8282cda84098d7d83b8ab3e62c49ab259d6976ef953ab1bde98b9d2cd925cfbdff94b5fd5910876e8de85d40466cf5f3ceb377c4 SHA512 59984e221a7a6dbf72bf893b1b7c4a63fea34d6af1208a19f0e9e6cd59a09e4cf51890cb2d31c1502e2a2f644f584417bb59cf02c308d3250d2a98d41b63e893 +DIST bash44-020 5156 BLAKE2B 6f2bba1fe03eb49401af3925420ff5c090d0e7d83010c34e086f5da48fc2078ef649d775b45e3368e73fc1ebdd6f1860b33bf7021898cae158d478aa1dd18bca SHA512 e200fddd717fa33d2c56eb6713031d34891e5ebcd489a65a43ccfebf9728c1609b758ca3dffb1eed4abd3c62c6d7163ce88d8a1bb73b6d07bee99e0409365978 +DIST bash44-021 1810 BLAKE2B ce3f98e31aaa7db402cf2a2e571a72b9b91fad4571b35a5e8f59678485a631acf3885a19ee09ebdc6f79b39dbdafe72cc2cd91bf3c3b31ad7d3a65b5bc4bd9b3 SHA512 43a82d06a17bc30c2579a0944cb68f60bd9e3cddb9fff4a760fbf1f2f5104a99bb69c400cf63231b242c03a4684701455e603d96c9b588f2c69da02570042fec +DIST bash44-022 1818 BLAKE2B 66c6e5fd33f0649ff886d1fd944cb10a06de06f0724c0cb7343c3afd50034821f1a4eeccbe9bc5c6815ce9bcdfacf5e6a83098fbd3712efc15e870928b3aa80e SHA512 385a0d1bbdff0dffec2a08021a84a5ac3695e44e1a90b0080b82737fc4a9ea924ee59b47fd5e288b69a540f4c976bf9da0db08ee2d20e170c868f802f75785fb +DIST bash44-023 1557 BLAKE2B 95a21ade7e4be68d66f3862f26b574c5897055822471c8d2801b8e1f866d1d11ddd4000e967b567c3ef7949af8a88ca918ea066d52a67fc5fd4b266135f0dbbb SHA512 442efa78d365a728555ade77cc2f8501aed09f37ae10e1ac647d35299829b63caefbc5c30436d622bfef9300e9d929d7f4fafe85a59df15089881bc987fa12fd diff --git a/app-shells/bash/bash-4.4_p23.ebuild b/app-shells/bash/bash-4.4_p23.ebuild new file mode 100644 index 0000000000..437e8154ca --- /dev/null +++ b/app-shells/bash/bash-4.4_p23.ebuild @@ -0,0 +1,259 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs multilib prefix + +# Official patchlevel +# See ftp://ftp.cwru.edu/pub/bash/bash-4.4-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="7.0" + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="http://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 + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline" + +DEPEND=" + >=sys-libs/ncurses-5.2-r2:0= + readline? ( >=sys-libs/readline-${READLINE_VER}:0= ) + nls? ( virtual/libintl ) +" +RDEPEND=" + ${DEPEND} + !<sys-apps/portage-2.1.6.7_p1 +" +# we only need yacc when the .y files get patched (bash42-005) +#DEPEND+=" virtual/yacc" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if is-flag -malign-double ; then #7332 + 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 +} + +src_prepare() { + # Include official patches + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + + eapply "${FILESDIR}/${PN}-4.4-jobs_overflow.patch" #644720 + + # Clean out local libs so we know we use system ones w/releases. + if is_release ; then + rm -rf lib/{readline,termcap}/* + touch lib/{readline,termcap}/Makefile.in # 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 #407985 + sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die + touch -r . doc/* + + eapply_user +} + +src_configure() { + local myconf=( + --disable-profiling + --docdir='$(datarootdir)'/doc/${PF} + --htmldir='$(docdir)/html' + --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%%_*} + + # 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 :(. + + 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 + tc-export AR #444070 + 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:#${USERLAND}#@::" + -e '/#@/d' + ) + if ! use readline ; then + sed_args+=( #432338 + -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} + insinto /usr/share/doc/${PF}/${d} + for f in ${d}/* ; do + if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then + doexe ${f} + else + doins ${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 + + if [[ -L ${EROOT}/bin/sh ]] ; then + # rewrite the symlink to ensure that its mtime changes. having /bin/sh + # missing even temporarily causes a fatal error with paludis. + local target=$(readlink "${EROOT}"/bin/sh) + local tmp=$(emktemp "${EROOT}"/bin) + ln -sf "${target}" "${tmp}" + mv -f "${tmp}" "${EROOT}"/bin/sh + 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/files/bash-4.4-jobs_overflow.patch b/app-shells/bash/files/bash-4.4-jobs_overflow.patch new file mode 100644 index 0000000000..8753d62ec6 --- /dev/null +++ b/app-shells/bash/files/bash-4.4-jobs_overflow.patch @@ -0,0 +1,14 @@ +https://lists.gnu.org/archive/html/bug-bash/2017-12/msg00025.html +https://bugs.gentoo.org/644720 + +--- bash-4.4/jobs.c ++++ bash-4.4/jobs.c +@@ -750,7 +750,7 @@ + else + nsize = bgpids.nalloc; + +- while (nsize < js.c_childmax) ++ while (nsize < (ps_index_t)js.c_childmax) + nsize *= 2; + + if (bgpids.nalloc < js.c_childmax)
