Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: qa@g.o
Subject: [gentoo-dev] QA bikeshed: killing USE=dedicated in favor of uniform USE=client+server
Date: Thu, 20 Aug 2015 17:43:13
Message-Id: 20150820194244.622b8f86.mgorny@gentoo.org
Hi,

Right now, a number of game packages are using USE=dedicated to control
'installing a dedicated game server only'. Aside to that, some game
packages also have USE=server that controls building the server itself.
Non-game package use USE=client and USE=server.

In order to improve uniformity of USE flags across different packages,
the QA team would like to deprecate USE=dedicated and use USE=client
and USE=server as appropriate.

The problems I see with USE=dedicated are:

- it is game-specific. The term 'dedicated server' is not used amongst
  other server/client model packages.

- It uses negative logic. Instead of enabling something, it disables
  client. Pretty much 'dedicated' == 'noclient'. Negative logic is
  confusing.

- In packages having USE=server as well, it can lead to really absurd
  combinations, like what does 'USE=dedicated -server' mean? Will it
  build no executables at all? If we add REQUIRED_USE='dedicated?
  ( server )', this gets quite unfriendly.

As an alternative, we would use USE=client and USE=server along with
proper IUSE defaults to control client & server builds appropriately.
Both flags use positive logic, and REQUIRED_USE='|| ( client server )'
is rather clear.

Does anyone see any real problems with that?

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

Replies