commit: 5ff4a902b3706209c6fe148d9e3c621f6cc53ba4 Author: YiFei Zhu <zhuyifei1999 <AT> gmail <DOT> com> AuthorDate: Fri Sep 13 04:38:04 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Sep 24 11:51:20 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ff4a902
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 <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/38588 Signed-off-by: Sam James <sam <AT> gentoo.org> eclass/autotools.eclass | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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
