GNOME Bugzilla – Bug 640635
automake maintainer mode cannot be avoided
Last modified: 2011-09-16 12:12:01 UTC
As reported downstream at: http://bugs.gentoo.org/show_bug.cgi?id=352824 maintainer mode is enabled even passing --disable-maintainer-mode configure option: $ ./configure --disable-maintainer-mode checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for a sed that does not truncate output... /bin/sed checking for curl... curl checking for wget... wget configure: creating ./config.status config.status: creating Makefile config.status: creating doctags/mm-common-libstdc++.pc config.status: creating doctags/mm-common-libstdc++-uninstalled.pc config.status: creating macros/mm-common.m4 config.status: creating util/mm-common-prepare $ make /bin/sed 's|[@]PACKAGE_STRING[@]|mm-common 0.9.2|g;s|[@]docdir[@]|/usr/local/share/doc/mm-common|g' ./util/mm-common-prepare.1.in >util/mm-common-prepare.1 (cd . >/dev/null && /bin/sh ./missing --run tar chof - skeletonmm/autogen.sh skeletonmm/.gitignore skeletonmm/AUTHORS skeletonmm/COPYING skeletonmm/ChangeLog skeletonmm/Makefile.am skeletonmm/README skeletonmm/configure.ac skeletonmm/skeletonmm.doap skeletonmm/build/.gitignore skeletonmm/codegen/Makefile.am skeletonmm/codegen/extradefs/generate_extra_defs_skeleton.cc skeletonmm/codegen/m4/convert.m4 skeletonmm/codegen/m4/convert_skeleton.m4 skeletonmm/codegen/m4/filelist.am skeletonmm/doc/Makefile.am skeletonmm/doc/reference/.gitignore skeletonmm/doc/reference/Doxyfile.in skeletonmm/examples/.gitignore skeletonmm/examples/Makefile.am skeletonmm/examples/example/example.cc skeletonmm/skeleton/.gitignore skeletonmm/skeleton/skeletonmm-uninstalled.pc.in skeletonmm/skeleton/skeletonmm.h skeletonmm/skeleton/skeletonmm.pc.in skeletonmm/skeleton/skeletonmmconfig.h.in skeletonmm/skeleton/skeletonmm/Makefile.am skeletonmm/skeleton/skeletonmm/filelist.am skeletonmm/skeleton/skeletonmm/wrap_init.h skeletonmm/skeleton/skeletonmm/private/.gitignore skeletonmm/skeleton/src/Makefile.am skeletonmm/skeleton/src/filelist.am skeletonmm/skeleton/src/skeleton.ccg skeletonmm/skeleton/src/skeleton.defs skeletonmm/skeleton/src/skeleton.hg skeletonmm/skeleton/src/skeleton_docs.xml skeletonmm/skeleton/src/skeleton_enum.defs skeletonmm/skeleton/src/skeleton_extra.defs skeletonmm/skeleton/src/skeleton_method.defs) | gzip -c >skeletonmm.tar.gz Thanks for solving this
Minor notes: while AM_MISSING_PROG is still undocumented (probably because I don't think many packages call 'missing' explicitly), it's been around since Tue Mar 18 17:20:03 1997 (per ChangeLog entry), so probably it can be used instead. Also, why PACKAGE_STRING and docdir don't simply rely on AC_CONFIG_FILES to DTRT ?
Still valid with 0.9.3
A patch would be welcome, I guess.
I'd ask automake devs about AM_MISSING_PROG macro first, just to be sure, then just use it. As for the other part, simply dropping that rule and moving util/mm-common-prepare.1.in to AC_CONFIG_FILES should work.
In general, a patch would be welcome.
Created attachment 196344 [details] [review] Replaces missing --run tar with $(TAR) for packaging skeleton files into tarball. (In reply to comment #4) > I'd ask automake devs about AM_MISSING_PROG macro first, just to be sure, then > just use it. I wonder if using missing is proper here - it is rather intended for maintainers, not for common building from tarball. Attached replaces missing usage with direct tar execution. > As for the other part, simply dropping that rule and moving > util/mm-common-prepare.1.in to AC_CONFIG_FILES should work. No, it won't. Current rule changes @docdir@ into /home/krnowak/usr/share/doc/mm-common, but configure replaces @docdir@ into ${prefix}/share/doc/${PACKAGE_TARNAME}, which is not what we want.
Review of attachment 196344 [details] [review]: It looks good and I trust your judgement about the "missing" script. PLease push with the small change suggested here. ::: configure.ac @@ -31,1 +31,2 @@ AC_PROG_SED +dnl list of tar execs is taken from missing. Please change "missing" that to "the generated ./missing script." or similar, so it doesn't just look like a typo to people like me who had never heard of that script.
Comment on attachment 196344 [details] [review] Replaces missing --run tar with $(TAR) for packaging skeleton files into tarball. Pushed to master. Not closing for now - maybe we will get a response from gentoo maintainers if this fixes it for them.
I no longer get maintainer-mode warning but I see the following while compiling: make -j5 /bin/sed 's|[@]PACKAGE_STRING[@]|mm-common 0.9.5|g;s|[@]docdir[@]|/usr/share/doc/mm-common|g' ./util/mm-common-prepare.1.in >util/mm-common-prepare.1 (cd . >/dev/null && /bin/sh tar chof - skeletonmm/autogen.sh skeletonmm/.gitignore skeletonmm/AUTHORS skeletonmm/COPYING skeletonmm/ChangeLog skeletonmm/Makefile.am skeletonmm/README skeletonmm/configure.ac skeletonmm/skeletonmm.doap skeletonmm/build/.gitignore skeletonmm/codegen/Makefile.am skeletonmm/codegen/extradefs/generate_extra_defs_skeleton.cc skeletonmm/codegen/m4/convert.m4 skeletonmm/codegen/m4/convert_skeleton.m4 skeletonmm/codegen/m4/filelist.am skeletonmm/doc/Makefile.am skeletonmm/doc/reference/.gitignore skeletonmm/doc/reference/Doxyfile.in skeletonmm/examples/.gitignore skeletonmm/examples/Makefile.am skeletonmm/examples/example/example.cc skeletonmm/skeleton/.gitignore skeletonmm/skeleton/skeletonmm-uninstalled.pc.in skeletonmm/skeleton/skeletonmm.h skeletonmm/skeleton/skeletonmm.pc.in skeletonmm/skeleton/skeletonmmconfig.h.in skeletonmm/skeleton/skeletonmm/Makefile.am skeletonmm/skeleton/skeletonmm/filelist.am skeletonmm/skeleton/skeletonmm/wrap_init.h skeletonmm/skeleton/skeletonmm/private/.gitignore skeletonmm/skeleton/src/Makefile.am skeletonmm/skeleton/src/filelist.am skeletonmm/skeleton/src/skeleton.ccg skeletonmm/skeleton/src/skeleton.defs skeletonmm/skeleton/src/skeleton.hg skeletonmm/skeleton/src/skeleton_docs.xml skeletonmm/skeleton/src/skeleton_enum.defs skeletonmm/skeleton/src/skeleton_extra.defs skeletonmm/skeleton/src/skeleton_method.defs) | gzip -c >skeletonmm.tar.gz /bin/tar: /bin/tar: cannot execute binary file -> it still succeeds to install, but I am not sure if that /bin/tar problem can cause any issues (/bin/tar runs normally for me when manually launching)
Hm, I don't remember seeing any warning - I might have not noticed it, sorry. I'll look at it again and test it. Maybe for now could you check if removing '$(SHELL)' from line: srctar_stdout = cd $(top_srcdir) >/dev/null && $(SHELL) $(TAR) chof - will help? Thanks.
Fix is pushed to master.