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

To reply to this bug, email your comments to 72267 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#72267; Package automake. (Wed, 24 Jul 2024 07:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Francis Dupont <Francis.Dupont <at> fdupont.fr>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Wed, 24 Jul 2024 07:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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)




Information forwarded to bug-automake <at> gnu.org:
bug#72267; Package automake. (Wed, 24 Jul 2024 22:07:01 GMT) Full text and rfc822 format available.

Message #8 received at 72267 <at> debbugs.gnu.org (full text, mbox):

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: Wed, 24 Jul 2024 16:06:11 -0600
    AM_DEFAULT_VERBOSITY=0ac_config_headers="$ac_config_headers config.h"

Thank you very much for the report and patch (which looks perfectly
reasonable at first blush). I am surprised there's no test for this so
that it would have been caught before the release. I'll look into it as
soon as I have a chance. --thanks again, karl.





Information forwarded to bug-automake <at> gnu.org:
bug#72267; Package automake. (Thu, 25 Jul 2024 02:39:02 GMT) Full text and rfc822 format available.

Message #11 received at 72267 <at> debbugs.gnu.org (full text, mbox):

From: Nick Bowler <nbowler <at> draconx.ca>
To: Francis Dupont <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: Wed, 24 Jul 2024 22:36:54 -0400
On 2024-07-23 13:23, Francis Dupont wrote:
> 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])
> +])

As far as I can see nothing in Automake expands AM_SILENT_RULES so
there must be an expansion written somewhere in configure.ac which is
producing the problematic construct.

The usual convention for an autoconf macro that ends in a shell command
is not to include a newline.  The newline present where a macro is
expanded serves to terminate the command.  Otherwise we'd have to write
dnl after basiclaly everything just to avoid unneeded newlines.

However, it is true that this is a change in behaviour.  Automake 1.16.5
didn't follow this convention and it does produce a newline at the end
of the AM_SILENT_RULES expansion.

So before, if you wrote something like:

  AM_SILENT_RULES([no])something else without intervening newline

it would work before (and avoid an extra newline) but now indeed it
probably will not work.

If possible, it is probably a good idea to change whatever package was
broken by this.  But at the same time, it is probably not a big deal to
restore the extra newline in Automake.  But maybe use m4_newline() to
make it extremely obvious that it was put there on purpose.

Cheers,
  Nick




Information forwarded to bug-automake <at> gnu.org:
bug#72267; Package automake. (Fri, 26 Jul 2024 16:50:01 GMT) Full text and rfc822 format available.

Message #14 received at 72267 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: nbowler <at> draconx.ca
Cc: 72267 <at> debbugs.gnu.org, Francis.Dupont <at> fdupont.fr
Subject: Re: bug#72267: automake 1.17 issue with new AM_SILENT_RULES
Date: Fri, 26 Jul 2024 10:48:54 -0600
    nb> there must be an expansion written somewhere in configure.ac
    which is producing the problematic construct.

Thanks Nick.

Francis, can you show us your configure.ac please?

    But at the same time, it is probably not a big deal to restore the
    extra newline in Automake.  But maybe use m4_newline() to make it
    extremely obvious that it was put there on purpose.

Ack. Thanks.

(Unfortunately it will be some time before I can get back to Automake.
If anyone else wants to jump in with patches, so much the better.)

Karl




Information forwarded to bug-automake <at> gnu.org:
bug#72267; Package automake. (Sun, 28 Jul 2024 12:03:01 GMT) Full text and rfc822 format available.

Message #17 received at 72267 <at> debbugs.gnu.org (full text, mbox):

From: Nick Bowler <nbowler <at> draconx.ca>
To: Francis Dupont <Francis.Dupont <at> fdupont.fr>
Cc: 72267 <at> debbugs.gnu.org, Karl Berry <karl <at> freefriends.org>
Subject: Re: bug#72267: automake 1.17 issue with new AM_SILENT_RULES
Date: Sun, 28 Jul 2024 08:00:59 -0400
On 2024-07-28 03:08, Francis Dupont wrote:
>  In your previous mail you wrote:
>
>>  Francis, can you show us your configure.ac please?
>
> => it is part of the ISC Kea distrib so you can either
> download the last dev sources (go to https://www.isc.org,
> DOWNLOADS, Kea, Download and Kea-2.7.0.tar.gz) or simply
> https://dl.cloudsmith.io/public/isc/kea-dev/raw/versions/2.7.0/kea-2.7.0.tar.gz
>
> Thanks
>
> Francis.Dupont <at> fdupont.fr

In configure.ac, I suggest changing this:

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

To this:

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

Alternately just leave it the same and remove the dnl instead, and don't
worry about the extra newline with some automake versions.

Hope that helps,
  Nick




Information forwarded to bug-automake <at> gnu.org:
bug#72267; Package automake. (Sun, 28 Jul 2024 16:36:04 GMT) Full text and rfc822 format available.

Message #20 received at 72267 <at> debbugs.gnu.org (full text, mbox):

From: Francis Dupont <Francis.Dupont <at> fdupont.fr>
To: Karl Berry <karl <at> freefriends.org>
Cc: nbowler <at> draconx.ca, 72267 <at> debbugs.gnu.org
Subject: Re: bug#72267: automake 1.17 issue with new AM_SILENT_RULES
Date: Sun, 28 Jul 2024 09:08:05 +0200
 In your previous mail you wrote:

>  Francis, can you show us your configure.ac please?

=> it is part of the ISC Kea distrib so you can either
download the last dev sources (go to https://www.isc.org,
DOWNLOADS, Kea, Download and Kea-2.7.0.tar.gz) or simply
https://dl.cloudsmith.io/public/isc/kea-dev/raw/versions/2.7.0/kea-2.7.0.tar.gz

Thanks

Francis.Dupont <at> fdupont.fr




This bug report was last modified 152 days ago.

Previous Next


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