Gentoo Archives: gentoo-devhelp

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

Replies