Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 377999 - media-libs/libmp3splt automake called by maintainer-mode
Summary: media-libs/libmp3splt automake called by maintainer-mode
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Highest QA (vote)
Assignee: Sebastian Pipping
URL: http://blog.flameeyes.eu/2008/06/13/m...
Whiteboard:
Keywords:
Depends on:
Blocks: bad-autotools
  Show dependency tree
 
Reported: 2011-08-06 13:53 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2011-08-07 05:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (libmp3splt-0.7:20110805-204317.log,71.03 KB, text/plain)
2011-08-06 13:53 UTC, Diego Elio Pettenò (RETIRED)
Details
aclocal.out (aclocal.out,176 bytes, text/plain)
2011-08-06 21:53 UTC, Sebastian Pipping
Details
libmp3splt-0.7-libltdl.patch (libmp3splt-0.7-libltdl.patch,672 bytes, patch)
2011-08-06 22:49 UTC, Sebastian Pipping
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2011-08-06 13:53:03 UTC
Created attachment 282315 [details]
Build log

Hello,

You're receiving this canned (template-based) bug report because I found a problem with a package during my tinderbox run.

The package in question is running automake (and most likely other autotools) during compile phase by maintainer-mode. You can see in my blog post in the URL field why that's a problem, and how to address the issue, but in general, you don't want maintainer-mode rebuild during compile phase, especially since it can cause multiple run of econf.

The causes of maintainer-mode rebuild are various, but most likely it's because of a patch that changes Makefile.am or configure.ac/in and don't rebuild autotools properly. The way to fix this is almost always to inherit autotools eclass and run eautomake/eautoreconf (as needed; eautoconf should only be used when automake is not involved, which is not the case here) during src_unpack phase.

Thanks,
Diego
Comment 1 Sebastian Pipping gentoo-dev 2011-08-06 17:04:32 UTC
Thanks for reporting!

+  06 Aug 2011; Sebastian Pipping <sping@gentoo.org> libmp3splt-0.7.ebuild,
+  +files/libmp3splt-0.7-maintainer-mode.patch:
+  Disable maintainer mode (bug #377999)
+
Comment 2 Diego Elio Pettenò (RETIRED) gentoo-dev 2011-08-06 18:14:44 UTC
Ehm that's the wrong fix. The package uses automake, so eautoconf is not correct, you should use eautoreconf to be on the safe side. Remove the patch and replace the eautoconf call, that should do it.
Comment 3 Sebastian Pipping gentoo-dev 2011-08-06 20:58:02 UTC
(In reply to comment #2)
> Ehm that's the wrong fix. The package uses automake, so eautoconf is not
> correct, you should use eautoreconf to be on the safe side. Remove the patch
> and replace the eautoconf call, that should do it.

I only patch configure.ac so I don't really see what's wrong with just calling eautoconf.  Also, eautoreconf fails for some reason.  If you insist on the use of eautoreconf, I will need assistance.
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2011-08-06 21:18:33 UTC
When you rebuild configure from configure.ac, it needs to have the same automake version in sync or everything can tear at the seams. The presence of eautoconf is necessary for packages that do _not_ use automake, but just autoconf, for all the others eautomake/eautoreconf are the only supported options.

Please let me know what fails with eautoreconf, so I can see what needs to be fixed.
Comment 5 Sebastian Pipping gentoo-dev 2011-08-06 21:53:46 UTC
Created attachment 282363 [details]
aclocal.out

>>> Preparing source in /var/tmp/portage/media-libs/libmp3splt-0.7/work/libmp3splt-0.7 ...
 * Applying libmp3splt-0.7-disable-docs.patch ...                                                                                                       [ ok ]
 * Applying libmp3splt-0.7-flags.patch ...                                                                                                              [ ok ]
 * Applying libmp3splt-0.7-maintainer-mode.patch ...                                                                                                    [ ok ]
 * Running eautoreconf in '/var/tmp/portage/media-libs/libmp3splt-0.7/work/libmp3splt-0.7/libltdl' ...
 * Running aclocal ...                                                                                                                                  [ !! ]

 * Failed Running aclocal !
 * 
 * Include in your bugreport the contents of:
 * 
 *   /var/tmp/portage/media-libs/libmp3splt-0.7/temp/aclocal.out

====================

Same with and without the maintainer-mode patch.
Note the "libltdl" at the end above.
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2011-08-06 22:03:28 UTC
That's due to upstream being silly.

Remove

ifdef([LT_CONFIG_LTDL_DIR],
      [ LT_CONFIG_LTDL_DIR([libltdl]) ],
      [])

and

AC_WITH_LTDL

from configure.ac (keep the LT_INIT stuff) and it will work correctly. The configure.ac declares to bundle libltdl but that's not the case, at least not in the 0.7 source tarball, which makes eautoreconf try to run autotools there even if they are not present.
Comment 7 Sebastian Pipping gentoo-dev 2011-08-06 22:49:06 UTC
Created attachment 282365 [details, diff]
libmp3splt-0.7-libltdl.patch

As @INCLTDL@ and @LIBLTDL@ are used in Makefile.am I run into compile errors when just removing stuff as you proposed.  With these lines added it compiles:

+AC_SUBST([INCLTDL], [])
+AC_SUBST([LIBLTDL], [-lltdl])

So what I could do is:
1) disintegrate libmp3splt-0.7-maintainer-mode.patch and
2) integate the new libmp3splt-0.7-libltdl.patch

What do you think?
Comment 8 Diego Elio Pettenò (RETIRED) gentoo-dev 2011-08-06 23:18:29 UTC
Yeah that looks right, thanks for taking this up! :)
Comment 9 Sebastian Pipping gentoo-dev 2011-08-07 05:48:15 UTC
Thanks for your help!

+  07 Aug 2011; Sebastian Pipping <sping@gentoo.org> libmp3splt-0.7.ebuild,
+  +files/libmp3splt-0.7-libltdl.patch,
+  -files/libmp3splt-0.7-maintainer-mode.patch:
+  Move from eautoconf to eautoreconf (bug #377999)
+