1 |
On 11/13/2011 07:37 PM, Mike Frysinger wrote: |
2 |
> it seems we have some cases where eclasses/ebuilds interact poorly. for |
3 |
> example, if an eclass runs eautoreconf or elibtoolize, and then the ebuild |
4 |
> does some stuff where it ends up running eautoreconf, subsequent elibtoolize |
5 |
> calls are skipped. |
6 |
> |
7 |
> this means that the work done by the earlier elibtoolize call was all for |
8 |
> naught, as eautoreconf blows all of its work away be regenerating the files |
9 |
> elibtoolize patched. and when eautoreconf attempts to run elibtoolize itself, |
10 |
> we don't get all the fun patches since elibtoolize detected it was run |
11 |
> already. |
12 |
> |
13 |
> rather than have this continue to silently ignore the issue, i'm thinking of |
14 |
> making these changes: |
15 |
> - elibtoolize now has a --force flag |
16 |
> - eautoreconf always calls elibtoolize with --force |
17 |
> - if elibtoolize detects a previous run with --force, it warns, but runs |
18 |
> this way we complain, but at least we continue to work |
19 |
> |
20 |
> the prefix guys first brought this up here: |
21 |
> https://bugs.gentoo.org/232820 |
22 |
> but i've hit this since with cross-compiling Linux targets: |
23 |
> - pygobject ebuild inherits gnome2 eclass |
24 |
> - pygobject's src_prepare first calls gnome2_src_prepare |
25 |
> - gnome2_src_prepare always calls elibtoolize (which normally is good) |
26 |
> - pygobject's src_prepare applies patches and then calls eautoreconf |
27 |
> - eautoreconf regens all files that where patched earlier |
28 |
> - eautoreconf's call to elibtoolize is skipped |
29 |
> - builds fail which need those elibtoolize patches |
30 |
> -mike |
31 |
|
32 |
also a bug in those ebuilds then, since gnome2_src_prepare() should |
33 |
always be the last call/command in src_prepare() |