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

Daniel P. Berrange berrange at redhat.com
Fri Oct 15 12:18:16 UTC 2010


On Fri, Oct 15, 2010 at 06:06:35AM -0600, Eric Blake wrote:
> 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.

IIUC, this patch preserves that behaviour

If you added  'AM_MAINTAINER_MODE()', then the auto-rebuild rules
would be disabled.  This patch adds 'AM_MAINTAINER_MODE([enable])'
which IIUC,  keeps the auto-rebuild rules enabled by default as
is normal behaviour when this macro isn't present at all. So the
end result is simply that we gain the --[dis|en]able-maintainer-mode
command line options, with no behavioural change elsewhere.

Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the virt-tools-list mailing list