Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: enable maintainer-mode by default #1912

Merged
merged 2 commits into from Jan 8, 2019

Conversation

@grondo
Copy link
Contributor

commented Jan 8, 2019

Use of AM_MAINTAINER_MODE (which disables so-called maintainer-mode by default) has been discouraged for awhile, See

https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html
https://autotools.io/automake/maintainer.html
https://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool/

This also explains why flux-core wasn't suffering from the same issue as flux-sched, where configure was forced be rerun after ./autogen.sh && ./configure && make -- it is because the maintainer-mode rules were disabled by default.

Add the enable option to AM_MAINTAINER_MODE as suggested by internet fiat, and fix the issue with aclocal.m4 by removing the lines that move it into config/ from autogen.sh

grondo added 2 commits Jan 8, 2019
Add "enable" option to AM_MAINTAINER_MODE macro. This enables
maintainer-mode by default, but still allows for the use of
--disable-maintainer-mode by packagers and users when necessary.
(I think this is required for debian packaging for example)

Use of AM_MAINTAINER_MODE is now discouraged, and if used at all
adding the "enable" option is strongly encouraged, so that the
package will build as consistently as possibly by default.

See:
https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html
https://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool/
https://autotools.io/automake/maintainer.html
Problem: The autogen.sh script copies aclocal.m4 into config/,
assuming it will be found there by Makefiles. However, this is
not the case, and when maintainer-mode is enabled, the "missing"
aclocal.m4 causes a rebuild and re-run of configure.

I'm not sure how to convince automake that aclocal.m4 can be found
under config, and since we have to copy it by hand that implies
we are probably doing something wrong, so just leave it alone.
@chu11

This comment has been minimized.

Copy link
Contributor

commented Jan 8, 2019

any particular reason you chose to enable it, instead of just remove the line?

@grondo

This comment has been minimized.

Copy link
Contributor Author

commented Jan 8, 2019

any particular reason you chose to enable it, instead of just remove the line?

It is the suggested use in the second reference above:

The suggested call would be like in the following example, as that enables maintainer mode by default (which does the right thing for developers, and for power users), but allows packaging software to disable the automatic rules, which would only be hindering the process.

@garlick garlick merged commit 2fe82ae into flux-framework:master Jan 8, 2019
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@grondo grondo deleted the grondo:maintainer-mode branch Feb 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.