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