Gentoo Archives: gentoo-dev

From: "Daniel Campbell (zlg)" <zlg@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] useflag policies
Date: Mon, 03 Aug 2015 07:34:10
Message-Id: 55BF196B.5090905@gentoo.org
In Reply to: Re: [gentoo-dev] useflag policies by Andrew Savchenko
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-----

Replies

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