[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [virt-tools-list] [PATCH] add AM_MAINTAINER_MODE macro



On 10/15/2010 05:29 AM, Guido Günther wrote:
Hi,
On Wed, Sep 29, 2010 at 04:46:23PM +0200, Guido Günther wrote:

Odd - I cannot find the original mail, even when looking in the archives:
https://www.redhat.com/archives/libvir-list/2010-September/date.html

Hi,
Please add the AM_MAINTAINER_MODE macro to configure.ac for
virt-manager. This allows downstream distributions to disable this
feature so no autotools are required to build the package. The patch
doesn't change behaviour for upstream:

     http://www.gnu.org/software/hello/manual/automake/maintainer_002dmode.html

The automake manual recommends against maintainer mode:
http://www.gnu.org/software/automake/manual/automake.html#maintainer_002dmode

Several years ago François Pinard pointed out several arguments against this AM_MAINTAINER_MODE macro. Most of them relate to insecurity. By removing dependencies you get non-dependable builds: changes to sources files can have no effect on generated files and this can be very confusing when unnoticed. He adds that security shouldn't be reserved to maintainers (what --enable-maintainer-mode suggests), on the contrary. If one user has to modify a Makefile.am, then either Makefile.in should be updated or a warning should be output (this is what Automake uses missing for) but the last thing you want is that nothing happens and the user doesn't notice it (this is what happens when rebuild rules are disabled by AM_MAINTAINER_MODE).

Jim Meyering, the inventor of the AM_MAINTAINER_MODE macro was swayed by François's arguments, and got rid of AM_MAINTAINER_MODE in all of his packages.

Furthermore, downstream distributions should not require autotools to build a package if they do not make any changes to any of the configure.ac/Makefile.am source files in the first place; and conversely, if you ARE patching those files, then you WANT to rerun the autotools and not silently disable them.

  AM_INIT_AUTOMAKE([-Wno-portability])
+AM_MAINTAINER_MODE([enable])


Any chance this gets applied?

I'm very reluctant to make this change without a better demonstration why you think it is needed, and only after exhausting other attempts to fix the root cause problem that you are really hitting.

--
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]