From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1430850-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D7D1C158094 for <garchives@archives.gentoo.org>; Fri, 26 Aug 2022 22:54:45 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AFD18E08C3; Fri, 26 Aug 2022 22:54:44 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6B99FE08C3 for <gentoo-commits@lists.gentoo.org>; Fri, 26 Aug 2022 22:54:44 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 4868E341213 for <gentoo-commits@lists.gentoo.org>; Fri, 26 Aug 2022 22:54:43 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A790458D for <gentoo-commits@lists.gentoo.org>; Fri, 26 Aug 2022 22:54:41 +0000 (UTC) From: "Sam James" <sam@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org> Message-ID: <1661553854.d3c19b7974aeb4ac2a1351a019e80625b4111c4b.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-shells/bash/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-shells/bash/bash-5.1_p16-r2.ebuild app-shells/bash/bash-5.2_rc2.ebuild app-shells/bash/bash-5.2_rc3.ebuild app-shells/bash/bash-9999.ebuild X-VCS-Directories: app-shells/bash/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: d3c19b7974aeb4ac2a1351a019e80625b4111c4b X-VCS-Branch: master Date: Fri, 26 Aug 2022 22:54:41 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 72ddaf20-e6ff-4acb-845e-e930dc2dcb64 X-Archives-Hash: 3fcfeca4a0a8d629468bd3e8ec2315eb commit: d3c19b7974aeb4ac2a1351a019e80625b4111c4b Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Aug 26 22:31:37 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Aug 26 22:44:14 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3c19b79 app-shells/bash: drop use of 'eval' for newer versions for patch generation Use similar approach as dev-libs/mpfr and sys-libs/readline for generating SRC_URI & patch list. Signed-off-by: Sam James <sam <AT> gentoo.org> ...{bash-5.2_rc2.ebuild => bash-5.1_p16-r2.ebuild} | 149 +++++++++------------ app-shells/bash/bash-5.2_rc2.ebuild | 51 ++++--- app-shells/bash/bash-5.2_rc3.ebuild | 51 ++++--- app-shells/bash/bash-9999.ebuild | 51 ++++--- 4 files changed, 157 insertions(+), 145 deletions(-) diff --git a/app-shells/bash/bash-5.2_rc2.ebuild b/app-shells/bash/bash-5.1_p16-r2.ebuild similarity index 66% copy from app-shells/bash/bash-5.2_rc2.ebuild copy to app-shells/bash/bash-5.1_p16-r2.ebuild index d451bde867f0..27cc205c5d91 100644 --- a/app-shells/bash/bash-5.2_rc2.ebuild +++ b/app-shells/bash/bash-5.1_p16-r2.ebuild @@ -3,16 +3,12 @@ EAPI=7 -# TODO on release: -# - check READLINE_VER, obviously -# (presumably there weren't always readline releases for bash RCs etc) - VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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}" +GENTOO_PATCH_DEV="sam" +GENTOO_PATCH_VER="${PV}" # Official patchlevel # See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/ @@ -20,85 +16,83 @@ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + is_release() { case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; + *_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 mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do - printf "${u}/${pn}-${pv}-patches/%s " "$@" - printf "${u}/${pn}-${pv}-patches/%s.asc " "$@" - done - fi -} # The version of readline this bash normally ships with. -# Note: right now, we don't use the system copy of readline for bash for non-releases. -READLINE_VER="8.2" +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 -elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" +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= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi else - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" + 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+" +LICENSE="GPL-3" SLOT="0" -if is_release ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" +[[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~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:= + >=sys-libs/ncurses-5.2-r2:0= nls? ( virtual/libintl ) + readline? ( >=sys-libs/readline-${READLINE_VER}:0= ) " -if is_release ; then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi RDEPEND=" ${DEPEND} " # We only need yacc when the .y files get patched (bash42-005, bash51-011) -#BDEPEND="virtual/yacc" -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" +BDEPEND="virtual/yacc + verify-sig? ( sec-keys/openpgp-keys-chetramey )" S="${WORKDIR}/${MY_P}" -# EAPI 8 tries to append it but it doesn't exist here -QA_CONFIGURE_OPTIONS="--disable-static" - PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - # Patches from Chet sent to bashbug ml - "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch + "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch ) pkg_setup() { @@ -133,7 +127,7 @@ src_unpack() { src_prepare() { # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" # Clean out local libs so we know we use system ones w/releases. if is_release ; then @@ -189,16 +183,16 @@ src_configure() { #use static && export LDFLAGS="${LDFLAGS} -static" use nls || myconf+=( --disable-nls ) - if is_release ; 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%%_*} + # 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 @@ -223,34 +217,13 @@ src_configure() { } src_compile() { - if use pgo ; then - # Build Bash and run its tests to generate profiles. - emake CFLAGS="${CFLAGS} -fprofile-generate=${T}/pgo -fprofile-dir=${T}/pgo" - - # Used in test suite. - unset A + emake - emake CFLAGS="${CFLAGS} -fprofile-generate=${T}/pgo -fprofile-dir=${T}/pgo" -k check - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} -fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo" - - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} -fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo" all others - else - emake - - use plugins && emake -C examples/loadables all others + if use plugins ; then + emake -C examples/loadables all others fi } -src_test() { - # Used in test suite. - unset A - - default -} - src_install() { local d f diff --git a/app-shells/bash/bash-5.2_rc2.ebuild b/app-shells/bash/bash-5.2_rc2.ebuild index d451bde867f0..847e52506d7f 100644 --- a/app-shells/bash/bash-5.2_rc2.ebuild +++ b/app-shells/bash/bash-5.2_rc2.ebuild @@ -20,28 +20,20 @@ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + is_release() { case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; + 9999|*_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 mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do - printf "${u}/${pn}-${pv}-patches/%s " "$@" - printf "${u}/${pn}-${pv}-patches/%s.asc " "$@" - done - fi -} # The version of readline this bash normally ships with. # Note: right now, we don't use the system copy of readline for bash for non-releases. @@ -49,13 +41,34 @@ READLINE_VER="8.2" DESCRIPTION="The standard GNU Bourne again shell" HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" EGIT_BRANCH=devel inherit git-r3 elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" + 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= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi else SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" @@ -133,7 +146,7 @@ src_unpack() { src_prepare() { # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" # Clean out local libs so we know we use system ones w/releases. if is_release ; then diff --git a/app-shells/bash/bash-5.2_rc3.ebuild b/app-shells/bash/bash-5.2_rc3.ebuild index d451bde867f0..847e52506d7f 100644 --- a/app-shells/bash/bash-5.2_rc3.ebuild +++ b/app-shells/bash/bash-5.2_rc3.ebuild @@ -20,28 +20,20 @@ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + is_release() { case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; + 9999|*_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 mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do - printf "${u}/${pn}-${pv}-patches/%s " "$@" - printf "${u}/${pn}-${pv}-patches/%s.asc " "$@" - done - fi -} # The version of readline this bash normally ships with. # Note: right now, we don't use the system copy of readline for bash for non-releases. @@ -49,13 +41,34 @@ READLINE_VER="8.2" DESCRIPTION="The standard GNU Bourne again shell" HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" EGIT_BRANCH=devel inherit git-r3 elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" + 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= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi else SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" @@ -133,7 +146,7 @@ src_unpack() { src_prepare() { # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" # Clean out local libs so we know we use system ones w/releases. if is_release ; then diff --git a/app-shells/bash/bash-9999.ebuild b/app-shells/bash/bash-9999.ebuild index d451bde867f0..847e52506d7f 100644 --- a/app-shells/bash/bash-9999.ebuild +++ b/app-shells/bash/bash-9999.ebuild @@ -20,28 +20,20 @@ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + is_release() { case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; + 9999|*_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 mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do - printf "${u}/${pn}-${pv}-patches/%s " "$@" - printf "${u}/${pn}-${pv}-patches/%s.asc " "$@" - done - fi -} # The version of readline this bash normally ships with. # Note: right now, we don't use the system copy of readline for bash for non-releases. @@ -49,13 +41,34 @@ READLINE_VER="8.2" DESCRIPTION="The standard GNU Bourne again shell" HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" EGIT_BRANCH=devel inherit git-r3 elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" + 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= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi else SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" @@ -133,7 +146,7 @@ src_unpack() { src_prepare() { # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" # Clean out local libs so we know we use system ones w/releases. if is_release ; then