1 |
11.08.2015 17:56, Ian Stakenvicius пишет: |
2 |
> On 11/08/15 08:58 AM, Sergey Popov wrote: |
3 |
>> 11.08.2015 15:30, Michael Palimaka пишет: |
4 |
>>> On 11/08/15 20:10, Sergey Popov wrote: |
5 |
>>>> Err, i have read the whole thread and still does not get a |
6 |
>>>> point, why i am wrong. |
7 |
>>> |
8 |
>>> You clearly have not. The reasoning behind Qt team's policy is |
9 |
>>> described on the page and has been reiterated on this list. You |
10 |
>>> are undermining what little confidence there is in the QA team by |
11 |
>>> making decisions with no consultation about problems you do not |
12 |
>>> understand. |
13 |
>>> |
14 |
>>>> It's old battle like we have beforce with "gtk" meaning "any |
15 |
>>>> versions of GTK flag". This behaviour should be killed with |
16 |
>>>> fire. |
17 |
>>>> |
18 |
>>>> Let's me reiterate some of the cases: |
19 |
>>>> |
20 |
>>>> 1. Package can be build without Qt GUI at all, but either Qt4 |
21 |
>>>> or Qt5 can be chosen, but not both. |
22 |
>>>> |
23 |
>>>> Fix this with REQUIRED_USE, do not enable any of Qt flags by |
24 |
>>>> default |
25 |
>>> |
26 |
>>> Problem: this requires manual intervention if the user has both |
27 |
>>> qt4 and qt5 USE flags enabled. |
28 |
>>> |
29 |
> |
30 |
>> User choice of using USE flags is NOT a problem |
31 |
> |
32 |
>>>> |
33 |
>>>> 2. Package can not be build without Qt GUI - either Qt4 or Qt5 |
34 |
>>>> is required, but not both |
35 |
>>>> |
36 |
>>>> Same thing here, different REQUIRED_USE operator. But - enable |
37 |
>>>> one of the flags by default to ease life of users. |
38 |
>>> |
39 |
>>> Problem: this requires manual intervention if the user has both |
40 |
>>> qt4 and qt5 USE flags enabled. |
41 |
> |
42 |
>> Same here |
43 |
> |
44 |
>>>> |
45 |
>>>> 3. Package can be build with Qt4 or Qt5 or both AT THE SAME |
46 |
>>>> TIME(if such package even exists?) |
47 |
>>>> |
48 |
>>>> Do not use REQUIRED_USE here, not needed. |
49 |
>>>> |
50 |
>>>> Now, please tell me, where am i wrong? |
51 |
>>>> |
52 |
>>> |
53 |
>>> The problem is manual intervention is required if the user has |
54 |
>>> both qt4 and qt5 USE flags enabled - and this is a common |
55 |
>>> configuration. It is not acceptable to make a user manually add |
56 |
>>> numerous package.use entries when all they want to do is install |
57 |
>>> KDE. |
58 |
> |
59 |
>> And here |
60 |
> |
61 |
>>> I agree Qt's policy is not a perfect solution, but in the absence |
62 |
>>> of some feature allowing a preference to be set when there is a |
63 |
>>> conflict it's the best we've got. |
64 |
>>> |
65 |
> |
66 |
>> If you want to go this way, then please provide helper functions |
67 |
>> in eclasses to set dependencies properly for all common use cases. |
68 |
>> That will ease life both of developers and users. |
69 |
> |
70 |
> |
71 |
> Why do you need this? |
72 |
> |
73 |
> #1, if you really want RDEPEND to only include the deps the package |
74 |
> will actually use, then you do this: |
75 |
> |
76 |
> old: |
77 |
> |
78 |
> qt5? ( list of qt5 atoms ) |
79 |
> qt4? ( list of qt4 atoms ) |
80 |
> |
81 |
> ..to new: |
82 |
> |
83 |
> qt5? ( list of qt5 atoms ) |
84 |
> !qt5? ( |
85 |
> qt4? ( list of qt4 atoms ) |
86 |
> ) |
87 |
> |
88 |
> |
89 |
> BUT I would advise against this. If a user has specified both qt4 and |
90 |
> qt5 in USE, then I see no problem with the VDB having both qt4 and qt5 |
91 |
> atoms listed as dependencies. End-users that want a clean VDB can |
92 |
> just make sure they only enable one flag, but end-users that don't |
93 |
> care will have packages that just work. |
94 |
> |
95 |
|
96 |
great, in that case emerge --depclean becomes completely useless, |
97 |
because of unneeded vdb deps. Those DEPENDs that i have provided was at |
98 |
least consistent in terms of dependencies(that does not mean that they |
99 |
are not ugly, though) |
100 |
|
101 |
>> Leaving constructing of dependencies to developers in all cases |
102 |
>> will cause only pain in your solution. |
103 |
> |
104 |
> It really wont, see above. At minimum, it's barely any more work than |
105 |
> it is with a REQUIRED_USE based solution. |
106 |
> |
107 |
|
108 |
I repeat that i said earlier: if this voodoo magic will be hidden in |
109 |
some eclass - it is fine. If developers will be forced to add this |
110 |
depstring over and over again - it will be PITA. |
111 |
|
112 |
-- |
113 |
Best regards, Sergey Popov |
114 |
Gentoo developer |
115 |
Gentoo Desktop Effects project lead |
116 |
Gentoo Quality Assurance project lead |
117 |
Gentoo Proxy maintainers project lead |