Gentoo Archives: gentoo-dev

From: "Tiziano Müller" <dev-zero@g.o>
To: gentoo-dev@l.g.o
Cc: genone@g.o, solar@g.o, ferringb@×××××.com, jokey@g.o, ciaran.mccreesh@××××××××××.com, ferdy@g.o
Subject: [gentoo-dev] Multislot dependencies
Date: Sat, 28 Jun 2008 14:37:21
Message-Id: 1214663833.3613.37.camel@localhost
1 Hi everyone
2
3 I'd like to bring bug #229521 to your attention and see whether we can
4 come up with a solution for it.
5
6 The problem:
7 A package "foo" depends on a slotted package "bar" _and_ more than one
8 slot of "bar" can satisfy this dependency.
9
10 Why this is a problem:
11 If the dependency looks like one of the following:
12 * DEPEND=">=cat/bar-2"
13 * DEPEND="<=cat/bar-3"
14 * DEPEND="|| ( cat/bar:2 cat/bar:3 )
15 then the package manager doesn't know after building "foo" which slot of
16 "bar" has been used to build "foo". On the other hand might this
17 information be needed to debug problems with package "foo".
18
19 The problem gets even worse as soon as RDEPEND comes in:
20 (assuming the same examples from above but with RDEPEND)
21 * The package manager currently doesn't record which slot has been used
22 and can't therefore track whether the user will destroy something in
23 case he uninstalls one of the slots of "bar"
24 * The package manager can't sanely consider whether an update for a slot
25 is actually needed
26
27 Furthermore it is possible that a package "foo" which used one slot of
28 "bar" to build may also use a different slot on runtime (think of
29 plugins for a slotted app).
30
31 (list not necessarily conclusive)
32
33 Since this has (again) enough potential to result in a flamewar, I'd
34 like to point out what I think we should do/avoid:
35
36 What I think we should do now:
37 * Complete the list of problems/use cases
38 * Sort the cases by importance
39 * See that we can come up with a common solution to at least 60% of the
40 cases (yes, we may also actively decide to _not_ support certain cases,
41 but we have to be aware of them)
42 * Decide when it should be implemented, what is needed to implement it
43 and who's involved in that
44
45 What I think we should not discuss (right now):
46 * Which package manager has what implemented (remember: it's more
47 interesting right now _why_ it has been decided to do it like that)
48 * How "|| ( cat/bar:2 cat/bar:3 )" could be expressed in a simpler way.
49 This is pure syntactic sugar
50 * How the implementation should be done or what else it should include.
51 We should concentrate on "what is needed that the package manager devs
52 can implement it properly"
53
54 Thanks in advance,
55 Tiziano
56
57 --
58 -------------------------------------------------------
59 Tiziano Müller
60 Gentoo Linux Developer
61 Areas of responsibility:
62 Samba, PostgreSQL, CPP, Python, sysadmin
63 E-Mail : dev-zero@g.o
64 GnuPG FP : F327 283A E769 2E36 18D5 4DE2 1B05 6A63 AE9C 1E30

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Multislot dependencies Bernd Steinhauser <gentoo@×××××××××××××××××.de>