1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
On 08/02/2015 10:33 AM, Andrew Savchenko wrote: |
5 |
> On Mon, 3 Aug 2015 00:34:51 +0800 Ben de Groot wrote: |
6 |
>> Recently some team members of the Qt project have adopted these |
7 |
>> ebuild policies: |
8 |
>> https://wiki.gentoo.org/wiki/Project:Qt/Policies |
9 |
>> |
10 |
>> I have an issue with the policy adopted under "Requires one of |
11 |
>> two Qt versions". In my opinion, in the case where a package |
12 |
>> offers a choice between qt4 or qt5, we should express this in |
13 |
>> explicit useflags |
14 |
> |
15 |
> This is what the policy does: "Implement both qt4 and qt5 USE |
16 |
> flags" |
17 |
> |
18 |
>> and a REQUIRED_USE="^^ ( qt4 qt5 )". This offers the user the |
19 |
>> clearest choice. |
20 |
> |
21 |
> This will create insane amount of blockers if users have both |
22 |
> flags in make.conf (and this is a common scenario). |
23 |
> |
24 |
>> Other developers state that users are not interested in such |
25 |
>> implementation details, or that forced choice through |
26 |
>> REQUIRED_USE is too much of a hassle. This results in current |
27 |
>> ebuilds such as quassel to not make it clear that qt4 is an |
28 |
>> option. |
29 |
>> |
30 |
>> This goes against the principle of least surprise, as well as |
31 |
>> against QA recommendations. I would like to hear specifically |
32 |
>> from QA about how we should proceed, but comments from the wider |
33 |
>> developer community are also welcome. |
34 |
> |
35 |
> As far as I understand this is done to simplify user's experiense: |
36 |
> usually people set both USE="qt4 qt5" in global make.conf, because |
37 |
> they want qt in the first place. |
38 |
> |
39 |
> This policy will allow to USE both qt versions whichever is |
40 |
> available preferring newer one. Quite reasonable approach. |
41 |
> Alternatives (^^() and ??()) will require micromanagement (e.g. |
42 |
> pagkage.use.conf) for dozens if not hundreds of packages for no |
43 |
> good reason. If someone still needs to override such policy (e.g. |
44 |
> to use qt4 when both are available), this can be done by |
45 |
> per-package configuration. |
46 |
> |
47 |
> My idea is that packages should be fully controllable, but choises |
48 |
> of default behaviour should be done so, that in most cases |
49 |
> micromanagement will not be necessary. |
50 |
> |
51 |
> I like this qt policy and I'm not sure if it violates any current |
52 |
> rule. But even in such case this rule should be fixed. Moreover, |
53 |
> this problem is not limited for qt: we have exactly the same issue |
54 |
> with gtk2 vs gtk3 and probably some other technologies. |
55 |
> |
56 |
> Of course in theory it is possible to build package with two sets |
57 |
> of binaries supporting both qt4 and qt5, but I see little |
58 |
> practical need for that. |
59 |
> |
60 |
> So I propose to add somewhere to devmanual/policies the following |
61 |
> recommendation: "If package supports several versions of the same |
62 |
> technology (e.g. qt4 and qt5) and more than one is enabled by USE |
63 |
> flags, ebuild should prefer the later one (in terms of technology |
64 |
> generation).". |
65 |
> |
66 |
> Best regards, Andrew Savchenko |
67 |
> |
68 |
+1 |
69 |
- -- |
70 |
Daniel Campbell - Gentoo Developer |
71 |
OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net |
72 |
fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6 |
73 |
-----BEGIN PGP SIGNATURE----- |
74 |
Version: GnuPG v2 |
75 |
|
76 |
iQIcBAEBCAAGBQJVvxlqAAoJEAEkDpRQOeFwRqAP/jLkyzsJ0lPind06f8YvQ4aF |
77 |
Nog8g2pJHJUYXryJwCZpedj4Ju8QWnlE9qOLFO/PvKjNq1AddI7PB/BpUAK1HBuq |
78 |
9T319lQttGyZAFqEeYm3j1c7IcQInNSXaGLJnLVw19UWgUg1ZuTxiec7XJ7Qovmy |
79 |
D1BdZrMSVhxzSfCKN0kGM3IDxgInVWnEhPCiqDzDMT/U9j1K1sOFA/77/M+HbEvp |
80 |
LP26R/ICdznLNTRqAQxBn6TnZ0D6LMp+ngWCvSa07XCyn3O2K1cQA012l3hQ4/Jb |
81 |
+GP3mk6UM3rhn5saZ+2nJM5axFNylTFcJnqJFjU6//Q7q3C0Xh4sEuu8n3ywgiG4 |
82 |
8Mmta0i9TgGcIjfnCcDpMO6Yvs1g79Hgg3A87tCzJEaYRXWlHjGY+YsoYVIvPS6d |
83 |
qNdhG8+/8hhQUQy4gcmT7M5HZVkMj/hmju+X9bCPbDrJY6Xii90ZbvCZGiPBAJbm |
84 |
VebTPg5CAzybhqtYAOiygLKMqh1Sw8LrFlBSAMJpLr89CHN0ODuzQp+Rho6rYcp0 |
85 |
t2J8AWJHW2XJ8TePvDpCDkEog83c1sSxKPqsu8AHTPcw+Bvol4vpmUsv0BQlp9aa |
86 |
F4ZXxccqTzbZtwJ9x7jBGjlBl6H4Bu0OE/y7nUPG9aTldxMfnEgJeEktUtpAlWCu |
87 |
fYSYVLjlNUl9OtL/ElnI |
88 |
=fRV1 |
89 |
-----END PGP SIGNATURE----- |