Gentoo Archives: gentoo-qa

From: Stephen Bennett <spb@g.o>
To: gentoo-qa@l.g.o
Subject: Re: [gentoo-qa] Support of other package managers
Date: Wed, 17 May 2006 00:15:01
Message-Id: 20060517012158.31449293@localhost
In Reply to: Re: [gentoo-qa] Support of other package managers by Zac Medico
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