1 |
>>>>> On Sat, 30 Aug 2014, Michał Górny wrote: |
2 |
|
3 |
> I believe that we should work towards deprecating and removing |
4 |
> the einstall helper from PMS, for the following reasons: |
5 |
|
6 |
> [...] |
7 |
|
8 |
> Why do we have einstall? |
9 |
> ------------------------ |
10 |
|
11 |
> I don't know the exact reasoning for having it in the first place. |
12 |
> One reason I've heard is that old versions of automake didn't support |
13 |
> DESTDIR, and therefore we had to specify all the directories. However, |
14 |
> DESTDIR support in automake dates back to 1998 when automake 1.3 was |
15 |
> released -- and that pretty much predates Gentoo. |
16 |
|
17 |
> I've asked Ciaran about it, and he said that 'the idea was to avoid |
18 |
> people duplicating anything'. In other words, that einstall was used |
19 |
> only because calling 'emake install DESTDIR="${D}"' was considered bad. |
20 |
|
21 |
> If anyone could shed some more light into this, I'd appreciate that. |
22 |
|
23 |
Looks like econf and einstall were added to Portage at the same time, |
24 |
in January 2002: |
25 |
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-src/portage/bin/ebuild.sh?hideattic=0&revision=1.12&view=markup |
26 |
|
27 |
The earliest mentioning of einstall that I could find in our mailing |
28 |
lists is in the following post (interestingly, its subject also starts |
29 |
with "The future of"): |
30 |
http://archives.gentoo.org/gentoo-dev/msg_52c0fb35cfe1bb3228f9ec1816bb2aeb.xml |
31 |
|
32 |
However, "make DESTDIR=${D} install" already existed in |
33 |
base_src_install in 2001, before einstall was introduced: |
34 |
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/base.eclass?revision=1.1&view=markup#l59 |
35 |
|
36 |
> What should we do? |
37 |
> ------------------ |
38 |
|
39 |
> As I see it, we should simply ban einstall in EAPI 6. This way, we |
40 |
> can prevent further mistakes from happening and let developers fix |
41 |
> the current consumers once bumping EAPI (or lastrite them at some |
42 |
> point). |
43 |
|
44 |
It may be worth mentioning that econf in EAPI 6 will pass --docdir |
45 |
and --htmldir options to configure. These would take precedence over |
46 |
einstall's prefix="${ED}"/usr, i.e. einstall's path for documentation |
47 |
files would be broken because ${D} would be missing from it. |
48 |
|
49 |
So _if_ we decide to keep einstall, then we would have to pass |
50 |
additional docdir and htmldir variables. OTOH, maybe this would be a |
51 |
good occasion for getting rid of the function. |
52 |
|
53 |
Ulrich |