Gentoo Archives: gentoo-dev

From: Sergey Popov <pinkbyte@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: useflag policies
Date: Thu, 13 Aug 2015 08:24:28
Message-Id: 55CC542C.1070105@gentoo.org
In Reply to: Re: [gentoo-dev] Re: useflag policies by Ian Stakenvicius
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Re: useflag policies Ian Stakenvicius <axs@g.o>