"The Basics of Autotools" section of devmanual has all its snippets calling to autotools directly, which is supposed to be a practice deprecated in favor of autotools.eclass. "Further Autotools Reading" subsection could link to Gentoo's autotool-related docs like http://www.gentoo.org/proj/en/qa/autofailure.xml Reproducible: Always Steps to Reproduce:
"The einfo message before running autotools is not mandatory. However, these steps can sometimes take a while and may produce no output, so it may make sense to let the user know that something is still happening." statment is no valid anymore with autotools.eclass.
More sections are affected: http://devmanual.gentoo.org/ebuild-writing/using-eclasses/index.html
If you can provide a patch that would speed things up. devmanual is available via http://anoncvs.gentoo.org/
Created attachment 122284 [details, diff] clean-example-ebuild.patch This fixes the problem with http://devmanual.gentoo.org/ebuild-writing/using-eclasses/index.html Substituted devtodo with a simplified example ebuild which doesn't use autotools.
(In reply to comment #0) > "The Basics of Autotools" section of devmanual has all its snippets calling to > autotools directly, which is supposed to be a practice deprecated in favor of > autotools.eclass. > > "Further Autotools Reading" subsection could link to Gentoo's autotool-related > docs like > http://www.gentoo.org/proj/en/qa/autofailure.xml > (In reply to comment #4) > Created an attachment (id=122284) [edit] > clean-example-ebuild.patch > Doesn't seem to fix your original issues but thanks for the work so far.
I can spot a couple of problems that should probably be solved with the autotools information on devmanual: a) autoreconf is not always working for Gentoo as it handles a few more cases that we don't want silently handled, autogen should _not_ be used, often it uses the wrong tools or simply tries to do copies from system files that are outside ebuild scope; b) the first warning about the generated files should note that this happens when maintainer mode is active; a package without maintainer mode active will not re-build anything, for this reason it is _categorical_ to regenerate in ebuild c) the snippet uses the deprecated manual execution of tools; WANT_AUTOCONF and WANT_AUTOMAKE should be set before inherit, and autotools eclass should be inherited; no einfo is needed and eautoreconf is most of the times the only thing you need; d) in the --enable/--disable checks, as well as --with/--without, the third parameter in all the examples could be replaced by nothing, with a comma right after it to skip it empty: $enable_foo and $with_foo for AC_ARG_[WITH|ENABLE](foo) is automatically created if passed. e) again in the examples the help text should be generated by AS_HELP_STRING([--with-foo], [foo]) f) on "Makefile Variables", it should be noted that AM_CFLAGS is not _appended_ to custom-defined per-target _CFLAGS variables, so if you got something like CFLAGS = -fno-strict-aliasing bin_PROGRAMS = foo foo_SOURCES = foo.c foo_CFLAGS = -I/usr/include/bar if you just change CFLAGS to AM_CFLAGS you're breaking the Makefile (and might be breaking badly the application) g) in "aclocal and m4 files" the examples should be replaced by eautoreconf calls, and instead of -I the AT_M4DIR variable should be set. h) libtool info is missing, but I was already planning a "how and why of elibtoolize" guide in the next days, so just wait for that.
Should be updated or complemented with EAPI >=2
commit 6fb095bbfb6f1cf271b56d0a8a586c963f0d17e5 Author: hwoarang <hwoarang@gentoo.org> Date: Tue Aug 10 20:14:21 2010 +0300 Update and commit patch from bug #182253 Thanks to Jeremy Olexa (darkside) for reviewing the patch. The original patch from bug #182253 was updated to EAPI2, added eautoreconf call, added missing autotools eclass. Fix indentation. The bug will remain open just because we need to make more QA fixes in this area
We will handle the rest of the problems in due time