1 |
On Tue, 16 May 2006 15:11:35 -0700 |
2 |
Zac Medico <zmedico@g.o> wrote: |
3 |
|
4 |
> Yeah, I think what's really needed is a specification of what is |
5 |
> allowed in gentoo's official portage tree. Let's take "per-package |
6 |
> use.mask" (bug 96368) as an example. It could be implemented as |
7 |
> package.use.mask or as package.mask + use deps. Which will it be? |
8 |
> Will paludis, pkgcore, and portage all handle this functionality the |
9 |
> same way or not? If we're going to allow new features such as this |
10 |
> into the official portage tree, we need to make sure that they |
11 |
> conform to a specification that everyone has agreed upon. |
12 |
|
13 |
Sounds sane, as long as said specification can be extended within a |
14 |
reasonable timeframe. Basing this specification on what Portage |
15 |
currently supports, I would add: |
16 |
|
17 |
* Multiple profile inheritance: the `parent' file contains a list, one |
18 |
per line, of profiles to inherit, as a relative path from the current |
19 |
directory. Profiles are loaded in the order listed, so that later |
20 |
entries override previous ones, and the current profile overrides all. |
21 |
If the package manager does not support multiple inheritance, only the |
22 |
first line is read (from what I'm told, this is what Portage does |
23 |
currently). |
24 |
|
25 |
* Per-package use masking: The package.use.mask file contains, one |
26 |
entry per line, '<dep atom> <flags to mask>'. These flags are then |
27 |
masked as normal for any package matching the atom. |
28 |
|
29 |
* USE forcing, global and per-package: Format is the same as for use |
30 |
masking, but the flags are force-enabled instead of disabled. Files are |
31 |
use.force and package.use.force. |
32 |
|
33 |
* Dep atom extensions: Basic format is the same as current Portage, |
34 |
with the following additions: |
35 |
- <atom>:<slot> -- SLOT must match the value given |
36 |
- <atom>::<repository> -- the package must be taken from the |
37 |
repository with the given identifier. |
38 |
- <atom>[use] -- The package must be installed with the given use flag |
39 |
enabled. For <atom>[-use] the flag must be disabled. Multiple [use] |
40 |
restrictions in an atom are permitted, the syntax being |
41 |
<atom>[use1][-use2][use3]. |
42 |
|
43 |
The rest of our extensions are wider in scope, so that's more or less |
44 |
the list of non-portage-supported features we're looking at at the |
45 |
moment. Note that the new dep syntax would not be used in any ebuilds, |
46 |
but only at the profile level. |
47 |
|
48 |
If anyone wants to codify the ebuild / profile format into a formal |
49 |
specification, you have my full support as long as it is easily |
50 |
extensible with anything new that Portage or other package managers may |
51 |
support. Obviously such extensions should be discussed beforehand, but |
52 |
they should be possible within a reasonable timeframe. |
53 |
-- |
54 |
gentoo-qa@g.o mailing list |