Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o, qa@g.o
Subject: [gentoo-dev] Repoman check and QA policy for slot deps/operator
Date: Thu, 07 Aug 2014 09:32:22
Message-Id: 20140807112443.2ed19939@pomiot.lan
1 Hello, all.
2
3 Since the tree is still full of too broad dependencies and other
4 mistakes, I would like to add a repoman check and a matching QA policy
5 regarding how slots should be used in dependencies.
6
7 The check would apply to EAPI 5 and newer ebuilds only. Considering
8 the past uproar against having slotted dependencies against
9 single-slot packages, it would apply only to dependencies that match
10 more than one slot of a package.
11
12
13 With the new policy, the simple form of dependencies:
14
15 dev-libs/foo
16
17 would be only allowed if dev-libs/foo has only one slot.
18
19 If the atom matches more than one slot of a package, one of the
20 following forms would need to be used:
21
22 1. dev-libs/bar:* -- if any version of bar is acceptable,
23 and you can replace bar:1 with bar:2 without rebuilding,
24
25 2. dev-libs/bar:= -- if any version of bar is acceptable,
26 and you need to rebuild bar when changing slots (and subslots),
27
28 3. dev-libs/bar:slot -- if a single slot of bar is acceptable,
29 and you can change subslots without rebuilding,
30
31 4. dev-libs/bar:slot= -- if a single slot of bar is acceptable,
32 and you need subslot rebuilds,
33
34 5. dev-libs/bar:slot/subslot -- if a single subslot of bar is
35 acceptable, useful mostly for binary packages and pass-through
36 virtuals.
37
38 ...which means that the only 'new' requirement would be that ':*'
39 operator becomes mandatory in favor of plain deps that have semi-
40 -undefined behavior.
41
42
43 It should be noted that the check uses complete dependency atom to
44 count the number of slots. That is, a dependency alike:
45
46 >=x11-libs/gtk+-3.4
47
48 would match only one slot and cause no repoman warnings. This is mostly
49 intended to keep the check simple and avoid false positives.
50
51
52 If anyone wishes to test the current code, the last version of patch
53 can be found at [1]. It will likely hit portage in -9999 as soon
54 as dol-sen approves it.
55
56 [1]:http://article.gmane.org/gmane.linux.gentoo.portage.devel/4369
57
58 --
59 Best regards,
60 Michał Górny

Attachments

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

Replies