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 |