diff options
author | YiFei Zhu <zhuyifei1999@gmail.com> | 2024-09-12 21:38:04 -0700 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-09-24 12:51:20 +0100 |
commit | 5ff4a902b3706209c6fe148d9e3c621f6cc53ba4 (patch) | |
tree | ddcc3ed74a18723e76b6121f13b0bf49e076a197 /eclass | |
parent | net-vpn/tailscale: drop 1.72.0-r1 (diff) | |
download | gentoo-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.eclass | 8 |
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 |