1 |
On Saturday 07 May 2005 23:49, Ciaran McCreesh wrote: |
2 |
> Hrm. Being able to say "I need xyz installed globally, and abc installed |
3 |
> either globally or at home level" would work if and only if there was a |
4 |
> way of finding out where abc and xyz had been installed. |
5 |
|
6 |
The "being able to say" is the harder part. ;) |
7 |
|
8 |
Having a package find out where it's dependencies are is quite simple. |
9 |
Enhancing portageq to support it will be one of the smaller tasks in all of |
10 |
this. Wrapping that with a dev-friendly bash function will be even easier. |
11 |
|
12 |
So to summarise prefixed install support thus far: |
13 |
|
14 |
1 Portage needs to be enhanced with a new SUPPORTS so that packages can |
15 |
specify that they can install into a non-standard location. |
16 |
2 Portage needs to be enhanced with new ebuild support functions for |
17 |
detecting the location of a dependency. |
18 |
3 Portage needs to supply PREFIX and AFFIX variables to those ebuilds that |
19 |
support non-standard location installs, which specify executable and |
20 |
configuration/data locations respectively. |
21 |
4 Portage needs a base PREFIX and AFFIX to install to by default. |
22 |
5 Packages need to be updated for support of these feature. |
23 |
- Packages that have a standard location of / rather than /usr install into |
24 |
AFFIX rather than PREFIX. |
25 |
|
26 |
And to add my own little pieces of wisdom: |
27 |
|
28 |
6 Portage must disallow the creation of binary packages where all |
29 |
dependencies are not in the same PREFIX. |
30 |
7 Portage needs to be able to configured with one-way dependency allowance |
31 |
between installed package databases. For example, ~ installed packages are |
32 |
allowed to depend on / installed packages. |
33 |
|
34 |
I was planning to summarize home install support here, but your statement |
35 |
above has confused me a little. Is there any case where a package *must* have |
36 |
a dependency installed globally? If so, I can't see it. |
37 |
|
38 |
So unless it is shown otherwise, home install support requires: |
39 |
|
40 |
8 SUPPORTS needs to be enhanced with another indicator for packages to |
41 |
specify that they can do home installs. |
42 |
9 Emerge needs to be enhanced to allow the user to specify if they want a |
43 |
home install or a prefixed install of a package. |
44 |
10 Portage needs to tell the ebuild whether it should perform a home install |
45 |
or a prefixed install. |
46 |
|
47 |
Does that about cover it? |
48 |
|
49 |
Regards, |
50 |
Jason Stubbs |