Gentoo Archives: gentoo-devhelp

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-devhelp@l.g.o
Subject: Re: [gentoo-devhelp] How to properly handle deps for stabilization or version bumps?
Date: Fri, 24 Apr 2015 12:12:57
Message-Id: 20150424171231.449b0947b8feb9f2c029516f@gentoo.org
In Reply to: [gentoo-devhelp] How to properly handle deps for stabilization or version bumps? by Andrew Savchenko
1 Hi,
2
3 On Sun, 12 Apr 2015 02:20:33 +0300 Andrew Savchenko wrote:
4 > Hello,
5 >
6 > I have a couple of concerns about a proper way of handling
7 > complicated dependencies during version bumps or stabilization.
8 >
9 > I. With some USE flags combinations package foo depends on bar and
10 > vice versa. While with a properly set deps (e.g. PDEPEND) this is
11 > not a problem for users during updates; but this is a problem
12 > during commits: repoman doesn't allow to commit multiple packages
13 > at once, so for a short period of time deptree will be broken
14 > during version bumps or stabilization.
15 >
16 > E.g.:
17 > sci-physics/root: PDEPEND on ~app-doc/root-docs
18 > app-doc/root-docs[api] DEPEND on ~sci-physics/root
19 >
20 > I see three possible solutions:
21 >
22 > 1) commit both packages with short window between (e.g. minute or
23 > two);
24 >
25 > 2) ask infra to block cvs <-> rsync tree syncs for a while;
26 >
27 > 3) temporarily mask USE="api" for root-docs, commit root-docs,
28 > commit root, unmask USE="api".
29 >
30 > Second option looks like overkill and IMO should be used only for
31 > large scale operations like mass eselect package moves.
32 >
33 > Third option is formally correct, but it requires double
34 > modification of tree-wide file where any mistake may broke the
35 > whole tree. I think this approach brings more risks than benefits
36 > for a simple issue described above.
37 >
38 > Currently I use first option, since probability of broking deptree
39 > is low and affected audience will be very limited.
40 >
41 > Any idea how to handle this issue better?
42 >
43 >
44 > II. What to do if package stabilization requires to stabilize deps
45 > maintained by other devs?
46 >
47 > Should I just file a bug with stabilization request to a
48 > corresponding dev or team?
49 >
50 > What to do if I have no version requirements for a
51 > version to be stabilized? E.g. app-doc/root-docs needs
52 > dev-haskell/pandoc-citeproc, but it seems to work with any version
53 > in tree. Probably in will be the best for a relevant team to pick
54 > up a stabilization candidate for their convenience.
55 >
56 > Should I add arches there? Since I'm not a maintainer of a
57 > dependency package I'm not sure if I can do that. Package may
58 > require some dependencies to be stabilized as well...
59 >
60 > If I'm sure that some package (e.g. dep of my package) works fine
61 > and I see that it has no unstable deps or critical bugs, may I CC
62 > arch teams and ask for stabilization myself? Pros here are that
63 > this will speed up stabilization process and lower overhead for
64 > other devs, cons are that package maintainer may be aware of some
65 > issues preventing stabilization of this specific version.
66
67 Any comments?
68 Should I redirect these questions to gentoo-dev mail list?
69
70 Best regards,
71 Andrew Savchenko

Replies