1 |
I stumbled across another ebuild today that used the upstream-provided |
2 |
bootstrap script to rebuild autotools. |
3 |
|
4 |
Please refrain from using those if you can. |
5 |
|
6 |
Upstream doesn't always know better for our setup (it may try to second |
7 |
guess our settings by looking for particular automake/autoconf |
8 |
versions), it will show to the user information we don't care about, |
9 |
almost all the bootstrap scripts I've seen don't even try to catch when |
10 |
a step in the rebuild fails, they mask the need for autotools, and as |
11 |
you don't inherit autotools eclass for running them, you usually forget |
12 |
to add the autoconf/automake dependencies. And it makes very difficult |
13 |
to track down which ebuilds do actually use autotools to track down if |
14 |
there are changes to do. |
15 |
|
16 |
Let's not even start to talk about bootstrap scritps that run |
17 |
./configure by themselves, those are just plainly evil. |
18 |
|
19 |
Please note that sometimes the bootstrap script is used to add extra m4 |
20 |
search directories and options like --foreign to automake. Well, here's |
21 |
the deal: |
22 |
|
23 |
- AT_M4DIR is the variable to use to pass extra m4 search directory to |
24 |
aclocal, no need for the bootstrap script; |
25 |
- eautomake takes care by itself to identify the cases where --foreign |
26 |
is needed (this usually means when some of the standard documentation |
27 |
files are missign); |
28 |
|
29 |
beside, if upstream is providing a bootstrap script for just these two |
30 |
reasons, then it's time they learn about ACLOCAL_AMFLAGS. |
31 |
|
32 |
Also make sure that autotools gets not rebuilt through maintainer mode, |
33 |
that will make the configure run twice, wasting users' time, and is |
34 |
usually evil if you are using unpack to check for the generated |
35 |
configure (yes it happened to me a couple of time). |
36 |
|
37 |
THANKS! |
38 |
|
39 |
-- |
40 |
Diego "Flameeyes" Pettenò |
41 |
http://blog.flameeyes.eu/ |