commit: 6d1ad1a2de05f8c44217177121cf324b1d30ebac
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 8 03:43:27 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 8 03:43:27 2022 +0000
URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=6d1ad1a2
make-tarball.sh: support snapshot versions
Signed-off-by: Sam James <sam <AT> gentoo.org>
make-tarball.sh | 53 ++++++++++++++++++++++++++++++++++++++++++++---------
1 file 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)