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 |
> |