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----- |