From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id EE0E61397F2 for ; Fri, 21 Aug 2015 08:31:48 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 985A2E0852; Fri, 21 Aug 2015 08:31:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 847C0E0835 for ; Fri, 21 Aug 2015 08:31:34 +0000 (UTC) Received: from [192.168.1.2] (c-73-53-75-119.hsd1.wa.comcast.net [73.53.75.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: zlg) by smtp.gentoo.org (Postfix) with ESMTPSA id D7E4D340887 for ; Fri, 21 Aug 2015 08:31:33 +0000 (UTC) Subject: Re: [gentoo-dev] QA bikeshed: killing USE=dedicated in favor of uniform USE=client+server To: gentoo-dev@lists.gentoo.org References: <20150820194244.622b8f86.mgorny@gentoo.org> From: "Daniel Campbell (zlg)" X-Enigmail-Draft-Status: N1110 Message-ID: <55D6E1E4.7090108@gentoo.org> Date: Fri, 21 Aug 2015 01:31:32 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: <20150820194244.622b8f86.mgorny@gentoo.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Archives-Salt: 6d1f3913-7dd7-4566-b305-04fe8649af73 X-Archives-Hash: 15a0297f81ae18dc5669874b7652db4f -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 08/20/2015 10:42 AM, Michał Górny wrote: > 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? > Based on what I'm seeing in this thread, the problem seems to center around the description and application of the `dedicated` flag. I'm fully in favor of the `server` and `client` flags because they're clear and consistent. *However*, it was mentioned elsewhere in the thread that some games don't allow a client and a server at the same time. Personally I find that behavior odd and indicative of poor design, and I think packages that can't be built that way should have REQUIRED_USE or simply a `foo-server` package to unambiguously show that they're server-only. I'd rather see something to make client+server work for every single game instead of forcing people to use other packages or pick and choose; I see no reason why a gamer should have to choose between client and server. There's a perfectly legitimate use case of someone who hosts their own server but also plays the game, either on their own server or on someone else's. With an 'either or' approach, that use case is impossible. Those ebuilds need to be fixed. If any games I played were that way, I'd gladly help out with that. As it stands, I haven't figured out how to get a few games I'd like to see in the tree (Wizorb and A Virus Named Tom). With the games.eclass deprecated, I don't really have a "good practice" guide for making gaming ebuilds. - -- Daniel Campbell - Gentoo Developer OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJV1uHfAAoJEAEkDpRQOeFwdK8P/2iiwl3Nt1om4GOPe4OkZA8u a+ad28vmiFMOTchBU8Gdouom0ZFPIWNluxCfLzUNc5kMArDAUXUSqAudaloyYTVx q7x+6ihHGAchefVHT9xPVh/ny0gmKEIkLL6lFkPGGfP7cpv2Rucn4djIr6RPS4WV Ju3tZZifiemUUlfoOx836mUGOeRtWP8AcbeuAYu+ruB6gJmryQKUbuD6ezIEmgVy MAFjYCQZ4gx1NyzjlN1v5j+eLeDh+HoTQlJkECc2NWY1ULOkdWvjCpRMcjmKXDgI db6Cazs70jqQr/QIX7XcRPyemnci/wZqzJ6uzVZSM2LSn74Tbqvyu3ch5wzDKMlS VnF3LRx7YlM1+ggqVxFxOm3rjjLsUHdnoSzPYQCW0TwLPU+acwFHtDDUqBxkRyEg UCXa1I60AAbXf4QjPQG5S3P9eOKAal4iPfsf8IiQSHMpOUwgrA+4qK+amhr3nkwg g5TsWB9GkBndlYKxQyXiDwTPuZvZtDhjbfhddhLa/bmWV4LpcaTSDgRrmFXkv4oP 9cNdygCa2TdBMfd/9duenedaHgDhhvVNPhSsDPHTAP0vesXr7ntK41V9RDMgm0w5 CZAPYOr6Ew5v2SeK+hFwoVfjdpmmCHGtrqBjIfyzHTUuHj/YSFTDxRWaZVjS/m6o vXKxlcB2TySZX6pCZRje =LqFQ -----END PGP SIGNATURE-----