Gentoo Archives: gentoo-dev

From: "Daniel Campbell (zlg)" <zlg@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] QA bikeshed: killing USE=dedicated in favor of uniform USE=client+server
Date: Fri, 21 Aug 2015 08:31:48
Message-Id: 55D6E1E4.7090108@gentoo.org
In Reply to: [gentoo-dev] QA bikeshed: killing USE=dedicated in favor of uniform USE=client+server by "Michał Górny"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 08/20/2015 10:42 AM, Michał Górny wrote:
5 > Hi,
6 >
7 > Right now, a number of game packages are using USE=dedicated to
8 > control 'installing a dedicated game server only'. Aside to that,
9 > some game packages also have USE=server that controls building the
10 > server itself. Non-game package use USE=client and USE=server.
11 >
12 > In order to improve uniformity of USE flags across different
13 > packages, the QA team would like to deprecate USE=dedicated and use
14 > USE=client and USE=server as appropriate.
15 >
16 > The problems I see with USE=dedicated are:
17 >
18 > - it is game-specific. The term 'dedicated server' is not used
19 > amongst other server/client model packages.
20 >
21 > - It uses negative logic. Instead of enabling something, it
22 > disables client. Pretty much 'dedicated' == 'noclient'. Negative
23 > logic is confusing.
24 >
25 > - In packages having USE=server as well, it can lead to really
26 > absurd combinations, like what does 'USE=dedicated -server' mean?
27 > Will it build no executables at all? If we add
28 > REQUIRED_USE='dedicated? ( server )', this gets quite unfriendly.
29 >
30 > As an alternative, we would use USE=client and USE=server along
31 > with proper IUSE defaults to control client & server builds
32 > appropriately. Both flags use positive logic, and REQUIRED_USE='||
33 > ( client server )' is rather clear.
34 >
35 > Does anyone see any real problems with that?
36 >
37 Based on what I'm seeing in this thread, the problem seems to center
38 around the description and application of the `dedicated` flag. I'm
39 fully in favor of the `server` and `client` flags because they're
40 clear and consistent.
41
42 *However*, it was mentioned elsewhere in the thread that some games
43 don't allow a client and a server at the same time. Personally I find
44 that behavior odd and indicative of poor design, and I think packages
45 that can't be built that way should have REQUIRED_USE or simply a
46 `foo-server` package to unambiguously show that they're server-only.
47
48 I'd rather see something to make client+server work for every single
49 game instead of forcing people to use other packages or pick and
50 choose; I see no reason why a gamer should have to choose between
51 client and server. There's a perfectly legitimate use case of someone
52 who hosts their own server but also plays the game, either on their
53 own server or on someone else's. With an 'either or' approach, that
54 use case is impossible. Those ebuilds need to be fixed. If any games I
55 played were that way, I'd gladly help out with that.
56
57 As it stands, I haven't figured out how to get a few games I'd like to
58 see in the tree (Wizorb and A Virus Named Tom). With the games.eclass
59 deprecated, I don't really have a "good practice" guide for making
60 gaming ebuilds.
61
62 - --
63 Daniel Campbell - Gentoo Developer
64 OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
65 fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6
66 -----BEGIN PGP SIGNATURE-----
67 Version: GnuPG v2
68
69 iQIcBAEBCAAGBQJV1uHfAAoJEAEkDpRQOeFwdK8P/2iiwl3Nt1om4GOPe4OkZA8u
70 a+ad28vmiFMOTchBU8Gdouom0ZFPIWNluxCfLzUNc5kMArDAUXUSqAudaloyYTVx
71 q7x+6ihHGAchefVHT9xPVh/ny0gmKEIkLL6lFkPGGfP7cpv2Rucn4djIr6RPS4WV
72 Ju3tZZifiemUUlfoOx836mUGOeRtWP8AcbeuAYu+ruB6gJmryQKUbuD6ezIEmgVy
73 MAFjYCQZ4gx1NyzjlN1v5j+eLeDh+HoTQlJkECc2NWY1ULOkdWvjCpRMcjmKXDgI
74 db6Cazs70jqQr/QIX7XcRPyemnci/wZqzJ6uzVZSM2LSn74Tbqvyu3ch5wzDKMlS
75 VnF3LRx7YlM1+ggqVxFxOm3rjjLsUHdnoSzPYQCW0TwLPU+acwFHtDDUqBxkRyEg
76 UCXa1I60AAbXf4QjPQG5S3P9eOKAal4iPfsf8IiQSHMpOUwgrA+4qK+amhr3nkwg
77 g5TsWB9GkBndlYKxQyXiDwTPuZvZtDhjbfhddhLa/bmWV4LpcaTSDgRrmFXkv4oP
78 9cNdygCa2TdBMfd/9duenedaHgDhhvVNPhSsDPHTAP0vesXr7ntK41V9RDMgm0w5
79 CZAPYOr6Ew5v2SeK+hFwoVfjdpmmCHGtrqBjIfyzHTUuHj/YSFTDxRWaZVjS/m6o
80 vXKxlcB2TySZX6pCZRje
81 =LqFQ
82 -----END PGP SIGNATURE-----

Replies