* [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6
@ 2022-01-29 17:31 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 02/12] toolchain.eclass: canonical variable ordering David Seifert
` (13 more replies)
0 siblings, 14 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/toolchain.eclass | 110 +++++++++++++++-------------------------
1 file changed, 40 insertions(+), 70 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 61718f0d9a0..741b6dfbbcc 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -4,7 +4,7 @@
# @ECLASS: toolchain.eclass
# @MAINTAINER:
# Toolchain Ninjas <toolchain@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Common code for sys-devel/gcc ebuilds
DESCRIPTION="The GNU Compiler Collection"
@@ -31,7 +31,6 @@ fi
FEATURES=${FEATURES/multilib-strict/}
case ${EAPI} in
- 5|6) inherit eapi7-ver eutils ;;
7) inherit eutils ;;
8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -129,16 +128,6 @@ LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-excepti
IUSE="test vanilla +nls"
RESTRICT="!test? ( test )"
-tc_supports_dostrip() {
- case ${EAPI} in
- 5|6) return 1 ;;
- 7|8) return 0 ;;
- *) die "Update apply_patches() for ${EAPI}." ;;
- esac
-}
-
-tc_supports_dostrip || RESTRICT+=" strip" # cross-compilers need controlled stripping
-
TC_FEATURES=()
tc_has_feature() {
@@ -146,21 +135,21 @@ tc_has_feature() {
}
if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
- IUSE+=" debug +cxx +nptl" TC_FEATURES+=(nptl)
+ IUSE+=" debug +cxx +nptl" TC_FEATURES+=( nptl )
[[ -n ${PIE_VER} ]] && IUSE+=" nopie"
[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
- IUSE+=" +fortran" TC_FEATURES+=(fortran)
+ IUSE+=" +fortran" TC_FEATURES+=( fortran )
IUSE+=" doc hardened multilib objc"
- tc_version_is_between 3 7 && IUSE+=" awt gcj" TC_FEATURES+=(gcj)
+ tc_version_is_between 3 7 && IUSE+=" awt gcj" TC_FEATURES+=( gcj )
IUSE+=" pgo"
- IUSE+=" objc-gc" TC_FEATURES+=(objc-gc)
+ IUSE+=" objc-gc" TC_FEATURES+=( objc-gc )
IUSE+=" libssp objc++"
IUSE+=" +openmp"
tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
tc_version_is_at_least 4.7 && IUSE+=" go"
# sanitizer support appeared in gcc-4.8, but <gcc-5 does not
# support modern glibc.
- tc_version_is_at_least 5 && IUSE+=" +sanitize" TC_FEATURES+=(sanitize)
+ tc_version_is_at_least 5 && IUSE+=" +sanitize" TC_FEATURES+=( sanitize )
# Note:
# <gcc-4.8 supported graphite, it required forked ppl
# versions which we dropped. Since graphite was also experimental in
@@ -168,7 +157,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
# <gcc-5 supported graphite, it required cloog
# <gcc-6.5 supported graphite, it required old incompatible isl
tc_version_is_at_least 6.5 &&
- IUSE+=" graphite" TC_FEATURES+=(graphite)
+ IUSE+=" graphite" TC_FEATURES+=( graphite )
tc_version_is_between 4.9 8 && IUSE+=" cilk"
tc_version_is_at_least 4.9 && IUSE+=" ada"
tc_version_is_at_least 4.9 && IUSE+=" vtv"
@@ -177,12 +166,12 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch"
# systemtap is a gentoo-specific switch: bug #654748
tc_version_is_at_least 8.0 &&
- IUSE+=" systemtap" TC_FEATURES+=(systemtap)
+ IUSE+=" systemtap" TC_FEATURES+=( systemtap )
tc_version_is_at_least 9.0 && IUSE+=" d"
tc_version_is_at_least 9.1 && IUSE+=" lto"
tc_version_is_at_least 10 && IUSE+=" cet"
- tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=(zstd)
- tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=(valgrind)
+ tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd )
+ tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind )
tc_version_is_at_least 11 && IUSE+=" custom-cflags"
fi
@@ -269,10 +258,6 @@ if tc_has_feature valgrind; then
BDEPEND+=" valgrind? ( dev-util/valgrind )"
fi
-case ${EAPI} in
- 5|6) DEPEND+=" ${BDEPEND}" ;;
-esac
-
PDEPEND=">=sys-devel/gcc-config-2.3"
#---->> S + SRC_URI essentials <<----
@@ -447,25 +432,9 @@ toolchain_src_unpack() {
#---->> src_prepare <<----
-# 'epatch' is not available in EAPI=7. Abstract away patchset application
-# until we eventually get all gcc ebuilds on EAPI=7 or later.
-tc_apply_patches() {
- [[ ${#@} -lt 2 ]] && die "usage: tc_apply_patches <message> <patches...>"
-
- einfo "$1"; shift
-
- case ${EAPI} in
- # Note: even for EAPI=6 we used 'epatch' semantics. To avoid
- # breaking existing ebuilds use 'eapply' only in EAPI=7 or later.
- 5|6) epatch "$@" ;;
- 7|8) eapply "$@" ;;
- *) die "Update apply_patches() for ${EAPI}." ;;
- esac
-}
-
toolchain_src_prepare() {
export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
- cd "${S}"
+ cd "${S}" || die
do_gcc_gentoo_patches
do_gcc_PIE_patches
@@ -475,11 +444,7 @@ toolchain_src_prepare() {
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, commit ${EGIT_VERSION}"
fi
- case ${EAPI} in
- 5) epatch_user;;
- 6|7|8) eapply_user ;;
- *) die "Update toolchain_src_prepare() for ${EAPI}." ;;
- esac
+ eapply_user
if ( tc_version_is_at_least 4.8.2 || _tc_use_if_iuse hardened ) \
&& ! use vanilla ; then
@@ -490,7 +455,7 @@ toolchain_src_prepare() {
# since we configure with just one --libdir, we can't use that
# (as gcc itself takes care of building multilibs). #435728
find "${S}" -name Makefile.in \
- -exec sed -i '/^pkgconfigdir/s:=.*:=$(toolexeclibdir)/pkgconfig:' {} +
+ -exec sed -i '/^pkgconfigdir/s:=.*:=$(toolexeclibdir)/pkgconfig:' {} + || die
setup_multilib_osdirnames
gcc_version_patch
@@ -532,10 +497,11 @@ toolchain_src_prepare() {
|| eerror "Please file a bug about this"
eend $?
done
- sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
+ sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk || die #215828
# Prevent new texinfo from breaking old versions (see #198182, #464008)
- tc_apply_patches "Remove texinfo (bug #198182, bug #464008)" "${FILESDIR}"/gcc-configure-texinfo.patch
+ einfo "Remove texinfo (bug #198182, bug #464008)"
+ eapply "${FILESDIR}"/gcc-configure-texinfo.patch
# >=gcc-4
if [[ -x contrib/gcc_update ]] ; then
@@ -550,7 +516,8 @@ toolchain_src_prepare() {
do_gcc_gentoo_patches() {
if ! use vanilla ; then
if [[ -n ${PATCH_VER} ]] ; then
- tc_apply_patches "Applying Gentoo patches ..." "${WORKDIR}"/patch/*.patch
+ einfo "Applying Gentoo patches ..."
+ eapply "${WORKDIR}"/patch/*.patch
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
fi
@@ -567,7 +534,8 @@ do_gcc_gentoo_patches() {
local shopt_save=$(shopt -p nullglob)
shopt -s nullglob
- tc_apply_patches "Applying musl patches ..." "${WORKDIR}"/musl/{,nocross/}*.patch
+ einfo "Applying musl patches ..."
+ eapply "${WORKDIR}"/musl/{,nocross/}*.patch
${shopt_save}
fi
fi
@@ -577,7 +545,8 @@ do_gcc_PIE_patches() {
want_pie || return 0
use vanilla && return 0
- tc_apply_patches "Applying pie patches ..." "${WORKDIR}"/piepatch/*.patch
+ einfo "Applying pie patches ..."
+ eapply "${WORKDIR}"/piepatch/*.patch
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
}
@@ -595,7 +564,8 @@ do_gcc_CYGWINPORTS_patches() {
echo "${d}/${p}"
done
) )
- tc_apply_patches "Applying cygwin port patches ..." ${patches[*]}
+ einfo "Applying cygwin port patches ..."
+ eapply -- "${patches[@]}"
}
# configure to build with the hardened GCC specs as the default
@@ -663,12 +633,12 @@ make_gcc_hard() {
# than ALL_CFLAGS...
sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
- -i "${S}"/gcc/Makefile.in
+ -i "${S}"/gcc/Makefile.in || die
# Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7
if tc_version_is_at_least 4.7 ; then
sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
-e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \
- -i "${S}"/gcc/Makefile.in
+ -i "${S}"/gcc/Makefile.in || die
fi
sed -i \
@@ -1744,9 +1714,9 @@ toolchain_src_install() {
# - "${D}${LIBPATH}"
# As dostrip does not specify host to override ${CHOST} tools just skip
# non-native binary stripping.
- is_crosscompile && tc_supports_dostrip && dostrip -x "${LIBPATH}"
+ is_crosscompile && dostrip -x "${LIBPATH}"
- cd "${S}"
+ cd "${S}" || die
if is_crosscompile; then
rm -rf "${ED}"/usr/share/{man,info}
rm -rf "${D}"${DATAPATH}/{man,info}
@@ -2061,40 +2031,40 @@ gcc_slot_java() {
toolchain_pkg_postinst() {
do_gcc_config
- if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ if [[ ! ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
eselect compiler-shadow update all
fi
if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
# gcc stopped installing .la files fixer in June 2020.
# Cleaning can be removed in June 2022.
- rm -f "${EROOT%/}"/sbin/fix_libtool_files.sh
- rm -f "${EROOT%/}"/usr/sbin/fix_libtool_files.sh
- rm -f "${EROOT%/}"/usr/share/gcc-data/fixlafiles.awk
+ rm -f "${EROOT}"/sbin/fix_libtool_files.sh
+ rm -f "${EROOT}"/usr/sbin/fix_libtool_files.sh
+ rm -f "${EROOT}"/usr/share/gcc-data/fixlafiles.awk
fi
}
toolchain_pkg_postrm() {
do_gcc_config
- if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ if [[ ! ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
eselect compiler-shadow clean all
fi
# clean up the cruft left behind by cross-compilers
if is_crosscompile ; then
- if [[ -z $(ls "${EROOT%/}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
+ if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
einfo "Removing last cross-compiler instance. Deleting dangling symlinks."
- rm -f "${EROOT%/}"/etc/env.d/gcc/config-${CTARGET}
- rm -f "${EROOT%/}"/etc/env.d/??gcc-${CTARGET}
- rm -f "${EROOT%/}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
+ rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET}
+ rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET}
+ rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
fi
return 0
fi
# gcc stopped installing .la files fixer in June 2020.
# Cleaning can be removed in June 2022.
- rm -f "${EROOT%/}"/sbin/fix_libtool_files.sh
- rm -f "${EROOT%/}"/usr/share/gcc-data/fixlafiles.awk
+ rm -f "${EROOT}"/sbin/fix_libtool_files.sh
+ rm -f "${EROOT}"/usr/share/gcc-data/fixlafiles.awk
}
do_gcc_config() {
@@ -2113,7 +2083,7 @@ do_gcc_config() {
[[ -n ${current_specs} ]] && use_specs=-${current_specs}
if [[ -n ${use_specs} ]] && \
- [[ ! -e ${EROOT%/}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
+ [[ ! -e ${EROOT}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
then
ewarn "The currently selected specs-specific gcc config,"
ewarn "${current_specs}, doesn't exist anymore. This is usually"
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 02/12] toolchain.eclass: canonical variable ordering
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 03/12] user.eclass: remove EAPI 5 David Seifert
` (12 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/toolchain.eclass | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 741b6dfbbcc..495a305ed83 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -7,6 +7,15 @@
# @SUPPORTED_EAPIS: 7 8
# @BLURB: Common code for sys-devel/gcc ebuilds
+case ${EAPI} in
+ 7) inherit eutils ;;
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ! ${_TOOLCHAIN_ECLASS} ]]; then
+_TOOLCHAIN_ECLASS=1
+
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
@@ -30,15 +39,6 @@ fi
FEATURES=${FEATURES/multilib-strict/}
-case ${EAPI} in
- 7) inherit eutils ;;
- 8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
- src_compile src_test src_install pkg_postinst pkg_postrm
-
#---->> globals <<----
export CTARGET=${CTARGET:-${CHOST}}
@@ -2322,6 +2322,11 @@ toolchain_death_notice() {
fi
}
+fi
+
+EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
+ src_compile src_test src_install pkg_postinst pkg_postrm
+
# Note [implicitly enabled flags]
# -------------------------------
# Usually configure-based packages handle explicit feature requests
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 03/12] user.eclass: remove EAPI 5
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 02/12] toolchain.eclass: canonical variable ordering David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 04/12] user.eclass: canonical variable ordering David Seifert
` (11 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/user.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/user.eclass b/eclass/user.eclass
index d03d31819fc..9373b361d59 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: user.eclass
# @MAINTAINER:
# base-system@gentoo.org (Linux)
# Michał Górny <mgorny@gentoo.org> (NetBSD)
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: user management in ebuilds
# @DEPRECATED: acct-user/acct-group packages
# @DESCRIPTION:
@@ -15,8 +15,8 @@
if [[ -z ${_USER_ECLASS} ]]; then
_USER_ECLASS=1
-case ${EAPI:-0} in
- 5|6|7) ;;
+case ${EAPI} in
+ 6|7) ;;
8)
if [[ ${CATEGORY} != acct-* ]]; then
eerror "In EAPI ${EAPI}, packages must not inherit user.eclass"
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 04/12] user.eclass: canonical variable ordering
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 02/12] toolchain.eclass: canonical variable ordering David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 03/12] user.eclass: remove EAPI 5 David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 05/12] user-info.eclass: remove EAPI 5 David Seifert
` (10 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/user.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/user.eclass b/eclass/user.eclass
index 9373b361d59..581704eae81 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -12,9 +12,6 @@
# The user eclass contains a suite of functions that allow ebuilds
# to quickly make sure users in the installed system are sane.
-if [[ -z ${_USER_ECLASS} ]]; then
-_USER_ECLASS=1
-
case ${EAPI} in
6|7) ;;
8)
@@ -29,6 +26,9 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+if [[ -z ${_USER_ECLASS} ]]; then
+_USER_ECLASS=1
+
inherit user-info
# @FUNCTION: _assert_pkg_ebuild_phase
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 05/12] user-info.eclass: remove EAPI 5
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (2 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 04/12] user.eclass: canonical variable ordering David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 06/12] usr-ldscript.eclass: " David Seifert
` (9 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/user-info.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/user-info.eclass b/eclass/user-info.eclass
index 8b8538bf843..3838585ab6c 100644
--- a/eclass/user-info.eclass
+++ b/eclass/user-info.eclass
@@ -1,15 +1,15 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: user-info.eclass
# @MAINTAINER:
# base-system@gentoo.org (Linux)
# Michał Górny <mgorny@gentoo.org> (NetBSD)
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Read-only access to user and group information
-case ${EAPI:-0} in
- [5678]) ;;
+case ${EAPI} in
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 06/12] usr-ldscript.eclass: remove EAPI 5
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (3 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 05/12] user-info.eclass: remove EAPI 5 David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 07/12] usr-ldscript.eclass: canonical variable ordering David Seifert
` (8 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/usr-ldscript.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/usr-ldscript.eclass b/eclass/usr-ldscript.eclass
index 2bf725abdd0..7842dfc643d 100644
--- a/eclass/usr-ldscript.eclass
+++ b/eclass/usr-ldscript.eclass
@@ -1,17 +1,17 @@
-# Copyright 2019-2021 Gentoo Authors
+# Copyright 2019-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: usr-ldscript.eclass
# @MAINTAINER:
# Toolchain Ninjas <toolchain@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Defines the gen_usr_ldscript function.
if [[ -z ${_USR_LDSCRIPT_ECLASS} ]]; then
_USR_LDSCRIPT_ECLASS=1
case ${EAPI} in
- 5|6|7|8) ;;
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 07/12] usr-ldscript.eclass: canonical variable ordering
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (4 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 06/12] usr-ldscript.eclass: " David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 08/12] vcs-clean.eclass: enable EAPI 8 David Seifert
` (7 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/usr-ldscript.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/usr-ldscript.eclass b/eclass/usr-ldscript.eclass
index 7842dfc643d..a8229ed2ac2 100644
--- a/eclass/usr-ldscript.eclass
+++ b/eclass/usr-ldscript.eclass
@@ -7,14 +7,14 @@
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Defines the gen_usr_ldscript function.
-if [[ -z ${_USR_LDSCRIPT_ECLASS} ]]; then
-_USR_LDSCRIPT_ECLASS=1
-
case ${EAPI} in
6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+if [[ -z ${_USR_LDSCRIPT_ECLASS} ]]; then
+_USR_LDSCRIPT_ECLASS=1
+
inherit multilib toolchain-funcs
IUSE="split-usr"
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 08/12] vcs-clean.eclass: enable EAPI 8
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (5 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 07/12] usr-ldscript.eclass: canonical variable ordering David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 09/12] vcs-clean.eclass: add missing die David Seifert
` (6 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/vcs-clean.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index 89f6b732187..991f680582f 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vcs-clean.eclass
@@ -6,11 +6,11 @@
# base-system@gentoo.org
# @AUTHOR:
# Benedikt Böhm <hollow@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: helper functions to remove VCS directories
-case ${EAPI:-0} in
- [567]) ;;
+case ${EAPI} in
+ 5|6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 09/12] vcs-clean.eclass: add missing die
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (6 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 08/12] vcs-clean.eclass: enable EAPI 8 David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 10/12] vcs-snapshot.eclass: enable EAPI 8 David Seifert
` (5 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/vcs-clean.eclass | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index 991f680582f..e4c61ac7164 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -23,9 +23,11 @@ _VCS_CLEAN_ECLASS=1
# Remove CVS directories and .cvs* files recursively. Useful when a
# source tarball contains internal CVS directories. Defaults to ${PWD}.
ecvs_clean() {
+ debug-print-function ${FUNCNAME} "${@}"
+
[[ $# -eq 0 ]] && set -- .
find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
- -exec rm -rf '{}' +
+ -exec rm -rf '{}' + || die
}
# @FUNCTION: esvn_clean
@@ -34,8 +36,10 @@ ecvs_clean() {
# Remove .svn directories recursively. Useful when a source tarball
# contains internal Subversion directories. Defaults to ${PWD}.
esvn_clean() {
+ debug-print-function ${FUNCNAME} "${@}"
+
[[ $# -eq 0 ]] && set -- .
- find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' +
+ find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' + || die
}
# @FUNCTION: egit_clean
@@ -44,8 +48,10 @@ esvn_clean() {
# Remove .git* directories recursively. Useful when a source tarball
# contains internal Git directories. Defaults to ${PWD}.
egit_clean() {
+ debug-print-function ${FUNCNAME} "${@}"
+
[[ $# -eq 0 ]] && set -- .
- find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' +
+ find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' + || die
}
fi
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 10/12] vcs-snapshot.eclass: enable EAPI 8
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (7 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 09/12] vcs-clean.eclass: add missing die David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 11/12] vcs-snapshot.eclass: remove EAPI 0-5 David Seifert
` (4 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/vcs-snapshot.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 05d963917e2..74e5f4bcd42 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vcs-snapshot.eclass
# @MAINTAINER:
# mgorny@gentoo.org
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
+# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 8
# @BLURB: support eclass for unpacking VCS snapshot tarballs
# @DESCRIPTION:
# THIS ECLASS IS NOT NECESSARY FOR MODERN GITHUB AND GITLAB SNAPSHOTS.
@@ -43,7 +43,7 @@
# in ${WORKDIR}/${P} and ${WORKDIR}/${P}-otherstuff respectively.
case ${EAPI:-0} in
- 0|1|2|3|4|5|6|7) ;;
+ 0|1|2|3|4|5|6|7|8) ;;
*) die "vcs-snapshot.eclass API in EAPI ${EAPI} not yet established."
esac
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 11/12] vcs-snapshot.eclass: remove EAPI 0-5
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (8 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 10/12] vcs-snapshot.eclass: enable EAPI 8 David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 12/12] vcs-snapshot.eclass: canonical variable ordering David Seifert
` (3 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/vcs-snapshot.eclass | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 74e5f4bcd42..0e86cb4ad51 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -4,7 +4,7 @@
# @ECLASS: vcs-snapshot.eclass
# @MAINTAINER:
# mgorny@gentoo.org
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: support eclass for unpacking VCS snapshot tarballs
# @DESCRIPTION:
# THIS ECLASS IS NOT NECESSARY FOR MODERN GITHUB AND GITLAB SNAPSHOTS.
@@ -42,9 +42,9 @@
# and however the tarballs were originally packed, all files will appear
# in ${WORKDIR}/${P} and ${WORKDIR}/${P}-otherstuff respectively.
-case ${EAPI:-0} in
- 0|1|2|3|4|5|6|7|8) ;;
- *) die "vcs-snapshot.eclass API in EAPI ${EAPI} not yet established."
+case ${EAPI} in
+ 6|7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
EXPORT_FUNCTIONS src_unpack
@@ -102,7 +102,7 @@ vcs-snapshot_src_unpack() {
if [[ ! ${renamed_any} ]]; then
local w=eerror
- [[ ${EAPI} == [0123456] ]] && w=eqawarn
+ [[ ${EAPI} == 6 ]] && w=eqawarn
"${w}" "${FUNCNAME} did not find any archives that needed renaming."
"${w}" "Please verify that its usage is really necessary, and remove"
"${w}" "the inherit if it is not."
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-dev] [PATCH 12/12] vcs-snapshot.eclass: canonical variable ordering
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (9 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 11/12] vcs-snapshot.eclass: remove EAPI 0-5 David Seifert
@ 2022-01-29 17:31 ` David Seifert
2022-01-29 18:19 ` [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 Michał Górny
` (2 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2022-01-29 17:31 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
Signed-off-by: David Seifert <soap@gentoo.org>
---
eclass/vcs-snapshot.eclass | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 0e86cb4ad51..64bc1da040f 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -47,7 +47,8 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-EXPORT_FUNCTIONS src_unpack
+if [[ ! ${_VCS_SNAPSHOT_ECLASS} ]]; then
+_VCS_SNAPSHOT_ECLASS=1
# @FUNCTION: vcs-snapshot_src_unpack
# @DESCRIPTION:
@@ -110,3 +111,7 @@ vcs-snapshot_src_unpack() {
[[ ${w} == eerror ]] && die "${FUNCNAME}: Unnecessary usage detected"
fi
}
+
+fi
+
+EXPORT_FUNCTIONS src_unpack
--
2.35.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (10 preceding siblings ...)
2022-01-29 17:31 ` [gentoo-dev] [PATCH 12/12] vcs-snapshot.eclass: canonical variable ordering David Seifert
@ 2022-01-29 18:19 ` Michał Górny
2022-01-29 19:23 ` Sam James
2022-02-01 22:39 ` Robin H. Johnson
13 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2022-01-29 18:19 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
The series LGTM from visual review. Note that I haven't verified
the variable moves in wider context.
--
Best regards,
Michał Górny
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (11 preceding siblings ...)
2022-01-29 18:19 ` [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 Michał Górny
@ 2022-01-29 19:23 ` Sam James
2022-02-01 22:39 ` Robin H. Johnson
13 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2022-01-29 19:23 UTC (permalink / raw
To: gentoo-dev; +Cc: David Seifert
[-- Attachment #1: Type: text/plain, Size: 150 bytes --]
> On 29 Jan 2022, at 17:31, David Seifert <soap@gentoo.org> wrote:
>
> Signed-off-by: David Seifert <soap@gentoo.org>
> --
series lgtm
Best,
sam
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 618 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
` (12 preceding siblings ...)
2022-01-29 19:23 ` Sam James
@ 2022-02-01 22:39 ` Robin H. Johnson
2022-02-01 23:39 ` Andreas K. Huettel
13 siblings, 1 reply; 16+ messages in thread
From: Robin H. Johnson @ 2022-02-01 22:39 UTC (permalink / raw
To: gentoo-dev; +Cc: dilfridge
[-- Attachment #1: Type: text/plain, Size: 811 bytes --]
At a technical level, it looks fine.
But I want to clarify interaction for old systems.
Dilfridge had a proposal to ensure 3/6/12 month old systems could still
upgrade, and I'm wondering if this could break those systems.
There are 3 commits in the last year that finally removed the EAPI 5/6
toolchain consumers:
486b77ab8d28c5bfd5a4bdfc5f9a5f432ffde563
b0a39e54065f7eda2dfc719ec05e270fa7e23e38
26f684adecb5b9135f9eba9f1b63c83e3d5e5722
The latest of those was in September 2021.
Do we need to wait X months after those removals, to be able to commit
this change?
--
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation Treasurer
E-Mail : robbat2@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1113 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6
2022-02-01 22:39 ` Robin H. Johnson
@ 2022-02-01 23:39 ` Andreas K. Huettel
0 siblings, 0 replies; 16+ messages in thread
From: Andreas K. Huettel @ 2022-02-01 23:39 UTC (permalink / raw
To: gentoo-dev, Robin H. Johnson
[-- Attachment #1: Type: text/plain, Size: 1004 bytes --]
> Dilfridge had a proposal to ensure 3/6/12 month old systems could still
> upgrade, and I'm wondering if this could break those systems.
>
> There are 3 commits in the last year that finally removed the EAPI 5/6
> toolchain consumers:
> 486b77ab8d28c5bfd5a4bdfc5f9a5f432ffde563
> b0a39e54065f7eda2dfc719ec05e270fa7e23e38
> 26f684adecb5b9135f9eba9f1b63c83e3d5e5722
>
> The latest of those was in September 2021.
>
> Do we need to wait X months after those removals, to be able to commit
> this change?
Hmm. Portage saves and reuses the ebuild environment, so each installed
package has its phases and related eclass code stored.
Which means this is probably fine, since
1) after syncing, the ebuilds are gone, so you'll never be able to rebuild
the consumer
2) and unmerging the consumer is done using the saved environment.
More opinions welcome...
--
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2022-02-01 23:39 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-29 17:31 [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 02/12] toolchain.eclass: canonical variable ordering David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 03/12] user.eclass: remove EAPI 5 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 04/12] user.eclass: canonical variable ordering David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 05/12] user-info.eclass: remove EAPI 5 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 06/12] usr-ldscript.eclass: " David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 07/12] usr-ldscript.eclass: canonical variable ordering David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 08/12] vcs-clean.eclass: enable EAPI 8 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 09/12] vcs-clean.eclass: add missing die David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 10/12] vcs-snapshot.eclass: enable EAPI 8 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 11/12] vcs-snapshot.eclass: remove EAPI 0-5 David Seifert
2022-01-29 17:31 ` [gentoo-dev] [PATCH 12/12] vcs-snapshot.eclass: canonical variable ordering David Seifert
2022-01-29 18:19 ` [gentoo-dev] [PATCH 01/12] toolchain.eclass: remove EAPI 5 and 6 Michał Górny
2022-01-29 19:23 ` Sam James
2022-02-01 22:39 ` Robin H. Johnson
2022-02-01 23:39 ` Andreas K. Huettel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox