diff options
author | Sam James <sam@gentoo.org> | 2022-01-08 03:43:27 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-01-08 03:43:27 +0000 |
commit | 6d1ad1a2de05f8c44217177121cf324b1d30ebac (patch) | |
tree | 19a6e1f3e99fbd3ee6b870133d1b135f7b80fd95 /make-tarball.sh | |
parent | make-tarball.sh: support musl patchsets (and drop uclibc) (diff) | |
download | gcc-patches-6d1ad1a2de05f8c44217177121cf324b1d30ebac.tar.gz gcc-patches-6d1ad1a2de05f8c44217177121cf324b1d30ebac.tar.bz2 gcc-patches-6d1ad1a2de05f8c44217177121cf324b1d30ebac.zip |
make-tarball.sh: support snapshot versions
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'make-tarball.sh')
-rwxr-xr-x | make-tarball.sh | 53 |
1 files changed, 44 insertions, 9 deletions
diff --git a/make-tarball.sh b/make-tarball.sh index a14f291..6e7fc82 100755 --- a/make-tarball.sh +++ b/make-tarball.sh @@ -1,20 +1,48 @@ #!/bin/bash +find_ebuild() { + local ver=$1 + + for ebuild in \ + ${ver} \ + /usr/local/src/gentoo/repo/gentoo/sys-devel/gcc/gcc-${ver}.ebuild \ + "$(portageq get_repo_path $(portageq envvar EPREFIX)/ gentoo)"/sys-devel/gcc/gcc-${ver}.ebuild \ + /usr/portage/sys-devel/gcc/gcc-${ver}.ebuild \ + "" + do + [[ -f ${ebuild} ]] && break + done + + echo ${ebuild} +} + + if [[ $# -ne 1 ]] ; then echo "Usage: $0 <gcc ebuild>" exit 1 fi ver=${1%/} -for ebuild in \ - ${ver} \ - /usr/local/src/gentoo/repo/gentoo/sys-devel/gcc/gcc-${ver}.ebuild \ - "$(portageq get_repo_path $(portageq envvar EPREFIX)/ gentoo)"/sys-devel/gcc/gcc-${ver}.ebuild \ - /usr/portage/sys-devel/gcc/gcc-${ver}.ebuild \ - "" -do - [[ -f ${ebuild} ]] && break -done + +ebuild=$(find_ebuild ${ver}) + +# If it doesn't exist, check for a snapshot version. We want to be able +# to input e.g. '11.3.0' and fall back to '11.2.1_p2021127' if it doesn't +# exist, as that version will become 11.3.0 anyway. +# +# (_p# is going to be something like gcc-11.2.1_p20211127, where gcc 11.2.1 +# will never be released (but gcc 11.2 was) and gcc 11.3 is the next release. +# For such cases, use 11.3 as ver.) +if [[ -z ${ebuild} ]] ; then + ver=${ver%%_p*} + + ver_major=$(echo ${ver} | cut -d'.' -f1) + ver_minor=$(($(echo ${ver} | cut -d'.' -f2) - 1)) + ver="${ver_major}.${ver_minor}.1_p*" + + ebuild=$(find_ebuild ${ver}) +fi + if [[ -z ${ebuild} ]] ; then echo "!!! gcc ebuild '${ver}' does not exist" exit 1 @@ -27,6 +55,12 @@ gver=${gver%%.ebuild} # trim post .ebuild gver=${gver%%-*} # trim any -r#'s gver=${gver%%_pre*} # trim any _pre.*#'s +# We use the same logic as finding the ebuild above for snapshots too +gver=${gver%%_p*} +gver_major=$(echo ${gver} | cut -d'.' -f1) +gver_minor=$(($(echo ${gver} | cut -d'.' -f2) + 1)) +gver="${gver_major}.${gver_minor}.0" + # trim branch update number sgver=$(echo ${gver} | sed -e 's:[0-9]::g') [[ ${#sgver} -gt 2 ]] \ @@ -40,6 +74,7 @@ eread() { shift done } + eread MUSL_VER PP_VER HTB_VER HTB_GCC_VER MAN_VER SPECS_VER SPECS_GCC_VER [[ -n ${HTB_VER} && -z ${HTB_GCC_VER} ]] && HTB_GCC_VER=${gver} PATCH_VER=$(awk '{print $1; exit}' ./${gver}/gentoo/README.history) |