1 |
Dnia 2015-01-21, o godz. 11:05:01 |
2 |
Alexis Ballier <aballier@g.o> napisał(a): |
3 |
|
4 |
> > > > 2. Subslots work correctly. Rebuilds are forced when the chosen |
5 |
> > > > library is upgraded. Moreover, USE flag change causes a rebuild |
6 |
> > > > when user decides to change the ffmpeg provider. |
7 |
> > > |
8 |
> > > No offense, but this argument is complete crap. You should rather |
9 |
> > > fix portage bugs than propose to introduce tree-wide changes to |
10 |
> > > hide them... More precisely: || ( a:= b c:= d ) is perfectly |
11 |
> > > defined (in the "what it means" sense, not in PMS sense). When the |
12 |
> > > package is built, if 'a' is satisfied then a (and its subslot) is |
13 |
> > > added to the subslot list of the package; ditto for c. You end up |
14 |
> > > with a list of subslot deps, that you can store in vdb or whatever, |
15 |
> > > and use that to decide when to rebuild the package. |
16 |
> > |
17 |
> > Following a specification is not a bug. I could argue here a lot |
18 |
> > but... just implement it. And return to us when you do. We had an |
19 |
> > item for this for EAPI 6, and it was removed because nobody |
20 |
> > volunteered to implement it. In fact, nobody even were able to fully |
21 |
> > specify what it should do... but if you want to discuss that, please |
22 |
> > start a new thread, possibly at the -pms list. |
23 |
> |
24 |
> Above is a simple algorithm that works in all cases. What you're asking |
25 |
> me to do is "go beg pms list to allow something they don't want because |
26 |
> the subslot/:= spec was poorly written and thought of". I already gave |
27 |
> you the solution, don't count on me for the administrative work :=) |
28 |
> (NB: everytime I tried to improve/fix something in pms I failed |
29 |
> miserably, so that I have no other choice but giving up on this, check |
30 |
> bgo) |
31 |
|
32 |
No, it works in the one case you thought of. Two quick issues: |
33 |
|
34 |
1. What does || ( a b:= c:= ) mean? i.e. only some having subslots. |
35 |
|
36 |
2. What does || ( a:= b:= ) mean when a and b can be both installed? |
37 |
|
38 |
Adding a very specific PMS rule for two packages doesn't sound like |
39 |
a very good idea to me. |
40 |
|
41 |
> Moreover, when I bumped ffmpeg subslot, portage did rebuild all those |
42 |
> packages with || ( := := ) deps properly for me. So, you'll have to be |
43 |
> a bit more specific on what goes wrong than 'broken || ( libav:= |
44 |
> ffmpeg:= )'... |
45 |
|
46 |
I already told you that before. Try switching from ffmpeg to libav, |
47 |
and see what mess it causes. I'll summarize it for you: |
48 |
|
49 |
1. if you have dynamic-deps enabled, portage will want to install both |
50 |
ffmpeg (because of :=) and libav (because of ||). The effective |
51 |
deps will look like: |
52 |
|
53 |
|| ( ffmpeg:0/51= libav ) ffmpeg:0/51= |
54 |
|
55 |
2. If you have dynamic-deps disabled, portage will happily switch impl |
56 |
without rebuilding revdeps (breakage). Afterwards, it will allow |
57 |
upgrading the other dep (libav) without rebuilds. The effective deps |
58 |
will look like: |
59 |
|
60 |
|| ( ffmpeg:0/51= libav ) |
61 |
|
62 |
-- |
63 |
Best regards, |
64 |
Michał Górny |