1 |
On 11/08/15 22:58, Sergey Popov wrote: |
2 |
> 11.08.2015 15:30, Michael Palimaka пишет: |
3 |
>> On 11/08/15 20:10, Sergey Popov wrote: |
4 |
>>> Err, i have read the whole thread and still does not get a point, why i |
5 |
>>> am wrong. |
6 |
>> |
7 |
>> You clearly have not. The reasoning behind Qt team's policy is described |
8 |
>> on the page and has been reiterated on this list. You are undermining |
9 |
>> what little confidence there is in the QA team by making decisions with |
10 |
>> no consultation about problems you do not understand. |
11 |
>> |
12 |
>>> It's old battle like we have beforce with "gtk" meaning "any versions of |
13 |
>>> GTK flag". This behaviour should be killed with fire. |
14 |
>>> |
15 |
>>> Let's me reiterate some of the cases: |
16 |
>>> |
17 |
>>> 1. Package can be build without Qt GUI at all, but either Qt4 or Qt5 can |
18 |
>>> be chosen, but not both. |
19 |
>>> |
20 |
>>> Fix this with REQUIRED_USE, do not enable any of Qt flags by default |
21 |
>> |
22 |
>> Problem: this requires manual intervention if the user has both qt4 and |
23 |
>> qt5 USE flags enabled. |
24 |
>> |
25 |
> |
26 |
> User choice of using USE flags is NOT a problem |
27 |
|
28 |
I invite you to reproduce the problem yourself then make the judgement. |
29 |
Using REQUIRED_USE like this makes the affected packages unusable. |
30 |
|
31 |
>>> |
32 |
>>> 2. Package can not be build without Qt GUI - either Qt4 or Qt5 is |
33 |
>>> required, but not both |
34 |
>>> |
35 |
>>> Same thing here, different REQUIRED_USE operator. But - enable one of |
36 |
>>> the flags by default to ease life of users. |
37 |
>> |
38 |
>> Problem: this requires manual intervention if the user has both qt4 and |
39 |
>> qt5 USE flags enabled. |
40 |
> |
41 |
> Same here |
42 |
> |
43 |
>>> |
44 |
>>> 3. Package can be build with Qt4 or Qt5 or both AT THE SAME TIME(if such |
45 |
>>> package even exists?) |
46 |
>>> |
47 |
>>> Do not use REQUIRED_USE here, not needed. |
48 |
>>> |
49 |
>>> Now, please tell me, where am i wrong? |
50 |
>>> |
51 |
>> |
52 |
>> The problem is manual intervention is required if the user has both qt4 |
53 |
>> and qt5 USE flags enabled - and this is a common configuration. It is |
54 |
>> not acceptable to make a user manually add numerous package.use entries |
55 |
>> when all they want to do is install KDE. |
56 |
> |
57 |
> And here |
58 |
> |
59 |
>> I agree Qt's policy is not a perfect solution, but in the absence of |
60 |
>> some feature allowing a preference to be set when there is a conflict |
61 |
>> it's the best we've got. |
62 |
>> |
63 |
> |
64 |
> If you want to go this way, then please provide helper functions in |
65 |
> eclasses to set dependencies properly for all common use cases. That |
66 |
> will ease life both of developers and users. |
67 |
> |
68 |
> Leaving constructing of dependencies to developers in all cases will |
69 |
> cause only pain in your solution. |
70 |
> |
71 |
> Look at the example with berkdb/gdbm, that i have posted recently. |
72 |
> |
73 |
> If both of flags are not set - we stick to default. |
74 |
> Should this be set in EVERY ebuild explicitly? |
75 |
> |
76 |
> Maybe provide some sugar like $(qt_use_default qtgui 5), where |
77 |
> qt_use_default is the name of function, qtgui is the package and 5 is |
78 |
> the slot for default choice, where either BOTH of flags(qt4, qt5) are |
79 |
> enabled or disabled |
80 |
|
81 |
How does this solve the REQUIRED_USE problem? Or is your only objection |
82 |
is that resulting dependency string is "too hard"? |
83 |
|
84 |
Don't forget that as a project with no special authority, Qt's policy |
85 |
remains a suggestion for the vast majority of maintainers. If someone |
86 |
wishes to provide support for only one Qt version or abuse their users |
87 |
with REQUIRED_USE they are still free to do so. |