summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorYiFei Zhu <zhuyifei1999@gmail.com>2024-09-12 21:38:04 -0700
committerSam James <sam@gentoo.org>2024-09-24 12:51:20 +0100
commit5ff4a902b3706209c6fe148d9e3c621f6cc53ba4 (patch)
treeddcc3ed74a18723e76b6121f13b0bf49e076a197 /eclass
parentnet-vpn/tailscale: drop 1.72.0-r1 (diff)
downloadgentoo-5ff4a902b3706209c6fe148d9e3c621f6cc53ba4.tar.gz
gentoo-5ff4a902b3706209c6fe148d9e3c621f6cc53ba4.tar.bz2
gentoo-5ff4a902b3706209c6fe148d9e3c621f6cc53ba4.zip
autotools.eclass: Run eautoheader with --force
To quote Eli [1] (I can't explain it better than this): autotools.eclass runs autoheader without options (and in particular without --force). This will only remake config.h.in if there are actual changes to the content, which in turn means that it will be out of date compared to aclocal.m4 (which we very much expect to have changes). So `make` sees that the header is out of date, and runs autoheader yet again, this time updating the timestamp for `make` purposes. This causes QA warning that "maintainer mode" is detected. autoheader and autoconf added --force option at the same time [2], so no reason only autoconf has that option in the eclass and not autoheader. Like, autoconf, a check on WANT_AUTOCONF != 2.1 is added because the feature was added in autoconf 2.52. [1] https://bugs.gentoo.org/939468#c6 [2] https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=dbf7fc61 Closes: https://bugs.gentoo.org/939468 Closes: https://bugs.gentoo.org/939535 Signed-off-by: YiFei Zhu <zhuyifei1999@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/38588 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/autotools.eclass8
1 files changed, 7 insertions, 1 deletions
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 0571b18ba525..641612f37193 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -312,7 +312,13 @@ eautoreconf() {
else
eautoconf --force
fi
- [[ ${AT_NOEAUTOHEADER} != "yes" ]] && eautoheader
+ if [[ ${AT_NOEAUTOHEADER} != "yes" ]] ; then
+ if [[ ${WANT_AUTOCONF} == "2.1" ]] ; then
+ eautoheader
+ else
+ eautoheader --force
+ fi
+ fi
[[ ${AT_NOEAUTOMAKE} != "yes" ]] && FROM_EAUTORECONF="yes" eautomake ${AM_OPTS}
if [[ ${AT_NOELIBTOOLIZE} != "yes" ]] ; then