GNU bug report logs - #72267
automake 1.17 issue with new AM_SILENT_RULES

Previous Next

Package: automake;

Reported by: Francis Dupont <Francis.Dupont <at> fdupont.fr>

Date: Wed, 24 Jul 2024 07:27:01 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Francis Dupont <Francis.Dupont <at> fdupont.fr>
Subject: bug#72267: closed (Re: bug#72267: automake 1.17 issue with new
 AM_SILENT_RULES)
Date: Fri, 21 Feb 2025 17:59:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#72267: automake 1.17 issue with new AM_SILENT_RULES

which was filed against the automake package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 72267 <at> debbugs.gnu.org.

-- 
72267: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72267
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Karl Berry <karl <at> freefriends.org>
To: Francis.Dupont <at> fdupont.fr
Cc: 72267 <at> debbugs.gnu.org
Subject: Re: bug#72267: automake 1.17 issue with new AM_SILENT_RULES
Date: Fri, 21 Feb 2025 10:58:10 -0700
    configure generated by autoreconf includes
    this line:
    AM_DEFAULT_VERBOSITY=0ac_config_headers="$ac_config_headers config.h"

Thanks for the report and proposed fix, Francis. I added Nick's suggested
m4_newline() to AM_SILENT_RULES in silent.m4.

I see in your kea configure.ac:

  m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])dnl be backward compatible
  AC_CONFIG_HEADERS([config.h])

So the newline in configure.ac was indeed being explicitly discarded by
your dnl. It makes sense for Automake to force the newline here, as was
the behavior before 1.17.

Closing this one. Thanks again,
Karl

-----------------------------------------------------------------------------
m4: force newline after AM_SILENT_RULES, as before 1.17.

From https://bugs.gnu.org/72267.

* m4/silent.m4 (AM_SILENT_RULES): m4_newline() after the assignment.
Report from Francis Dupont, suggestions from Francis and Nick Bowler.
* NEWS: mention this.
* THANKS: add Francis.
diff --git a/NEWS b/NEWS
index 504901a88..34876f3db 100644
--- a/NEWS
+++ b/NEWS
@@ -32,9 +27,16 @@ New in 1.x:
   - The compile script is more robust to Windows configurations;
     specifically, avoiding double-path translation on MSYS. (bug#75939)

+  - AM_SILENT_RULES once again always ends with a newline. (bug#72267)
+
   - AM_SANITY_CHECK outputs a "no" for failure before fatal errors.
     (bug#76448)

diff --git a/THANKS b/THANKS
index 634c77c9b..0f44235aa 100644
--- a/THANKS
+++ b/THANKS
@@ -139,6 +139,7 @@ Felix Yan                       felixonmars <at> archlinux.org
 Flavien Astraud                 flav42 <at> yahoo.fr
 Florian Briegel                 briegel <at> zone42.de
 Francesco Salvestrini           salvestrini <at> gmail.com
+Francis Dupont                  Francis.Dupont <at> fdupont.fr
 François Pinard                 pinard <at> iro.umontreal.ca
 Fred Fish                       fnf <at> ninemoons.com
 Frédéric Bérat                fberat <at> redhat.com
diff --git a/m4/silent.m4 b/m4/silent.m4
index 56334d3b9..a2865fded 100644
--- a/m4/silent.m4
+++ b/m4/silent.m4
@@ -68,4 +68,8 @@ fi
 # empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
 [AC_REQUIRE([_AM_SILENT_RULES])
-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
+AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
+dnl We intentionally force a newline after the assignment, since a) nothing
+dnl good can come of more text following, and b) that was the behavior
+dnl before 1.17. See https://bugs.gnu.org/72267.
+])

compile finished at Fri Feb 21 09:56:43 2025

[Message part 3 (message/rfc822, inline)]
From: Francis Dupont <Francis.Dupont <at> fdupont.fr>
To: bug-automake <at> gnu.org
Subject: automake 1.17 issue with new AM_SILENT_RULES
Date: Tue, 23 Jul 2024 19:23:44 +0200
I use homebrew on macOS Sonoma 14.5. This package system
installed the version 1.17 automake (I use a binary package
but the source one refers to this metadata:
  desc "Tool for generating GNU Standards-compliant Makefiles"
  homepage "https://www.gnu.org/software/automake/"
  url "https://ftp.gnu.org/gnu/automake/automake-1.17.tar.xz"
  mirror "https://ftpmirror.gnu.org/automake/automake-1.17.tar.xz"
  sha256 "8920c1fc411e13b90bf704ef9db6f29d540e76d232cb3b2c9f4dc4cc599bd990"
  license "GPL-2.0-or-later"

My problem is simple: configure generated by autoreconf includes
this line:
AM_DEFAULT_VERBOSITY=0ac_config_headers="$ac_config_headers config.h"

i.e. the last macro generating AM_DEFAULT_VERBOSITY setting
misses to add a newline after its expansion.

I can propose an easy patch which fixes the problem for me:
at the end of the silent.m4 file (m4 directory in sources
but installed at another location my homebrew add a newline
in the AM_SILENT_RULES macro setting AM_DEFAULT_VERBOSITY:

--- /usr/local/Cellar/automake/1.17/share/aclocal-1.17/silent.m4-orig-nl	2024-07-12 07:21:44
+++ /usr/local/Cellar/automake/1.17/share/aclocal-1.17/silent.m4		2024-07-23 07:40:50
@@ -68,4 +68,5 @@
 # empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
 [AC_REQUIRE([_AM_SILENT_RULES])
-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
+AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])
+])

Regards

Francis.Dupont <at> fdupont.fr (or fdupont <at> isc.org)



This bug report was last modified 130 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.