Gentoo Archives: gentoo-dev

From: Daniel Campbell <zlg@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [QA] Official support for migrating ebuilds out of games.eclass
Date: Thu, 30 Jun 2016 08:05:11
Message-Id: 0e9e8361-e608-fc11-f4e0-8f017ed27401@gentoo.org
In Reply to: Re: [gentoo-dev] [QA] Official support for migrating ebuilds out of games.eclass by "Michał Górny"
1 On 06/29/2016 10:11 PM, Michał Górny wrote:
2 > On Wed, 29 Jun 2016 15:47:43 -0700
3 > Daniel Campbell <zlg@g.o> wrote:
4 >
5 >> On 06/29/2016 10:11 AM, Michał Górny wrote:
6 >>> Hello, everyone.
7 >>>
8 >>> Over half a year has passed since Council decided upon the fate of
9 >>> games in Gentoo. Over that period, the games team has neither showed
10 >>> any will to respect the Council decisions, nor officially appealed to
11 >>> them.
12 >>>
13 >>> For this reason, the QA team would like to officially start supporting
14 >>> the migration of ebuilds out of games.eclass. Any developer wishing to
15 >>> help is more than welcome to take any games.eclass ebuild, bump its
16 >>> revision and remove the games.eclass-specific bits from it. Updating to
17 >>> EAPI 6 would also be welcome. A short update guide is provided at
18 >>> the end of mail.
19 >>>
20 >>> Please note that since this is considered a matter of QA action with
21 >>> a long waiting period, no explicit approval from games team is
22 >>> necessary to commit the conversion, nor games team is allowed to reject
23 >>> or revert such commits as long as they are valid.
24 >>>
25 >>> If you need any help doing that and the games team refuses to provide
26 >>> it, please do not hesitate to contact me or ask in #gentoo-qa. If you
27 >>> are interested in helping out with games, feel free to join games team
28 >>> since it still lacks new members.
29 >>>
30 >>> Thank you for all the help.
31 >>>
32 >>>
33 >>> Migration notes
34 >>> ---------------
35 >>>
36 >>> TL;DR: nothing special required, remove games.eclass and all
37 >>> unnecessary games.eclass customization, and follow upstream. Make sure
38 >>> not to break stuff.
39 >>>
40 >>>
41 >>> The Council decisions can be summarized the following way:
42 >>>
43 >>> 1. The 'games' group, formerly used to control access to games, must
44 >>> not be used. Games should be executable for all users like any other
45 >>> program [1].
46 >>>
47 >>> 1a. For score files and similar writable shared data, the 'gamestat'
48 >>> group (enewgroup gamestat 36) can be used. The old 'games' group is not
49 >>> appropriate since sysadmins were expected to add users to it which
50 >>> defeated its purpose.
51 >>>
52 >>> 2. Gentoo path customization for games must be removed and regular
53 >>> install locations (without explicit control via GAMES_* variables)
54 >>> should be used [2]:
55 >>>
56 >>> 2a. /usr/games and /etc/games directories are forbidden,
57 >>>
58 >>> 2b. /usr/share/games can be used for data if that directory is used
59 >>> upstream,
60 >>>
61 >>> 2c. /var/games can be used for shared writable data.
62 >>>
63 >>>
64 >>> This is mostly achieved through removing games.eclass inherit,
65 >>> customization specific to it and replacing the helpers with generic PMS
66 >>> helpers (e.g. egamesconf -> econf, dogamesbin -> dobin).
67 >>> The 'gamesowners', 'gamesperms', 'prepgamesdirs' calls should be
68 >>> removed altogether.
69 >>>
70 >>> In some cases it will also be beneficial to remove patching added to
71 >>> support non-standard locations.
72 >>>
73 >>> Please remember to always rev-bump and not edit in place, to ensure
74 >>> proper upgrade. When dealing with dependencies, please make sure to
75 >>> check if the package does not rely on dependency installing data in
76 >>> a specific location. If that is the case, then you need to use
77 >>> appropriate >= deps to ensure clean upgrade.
78 >>>
79 >>> If you would like to report bugs requesting games.eclass removal,
80 >>> please make them block the tracker [3].
81 >>>
82 >>>
83 >>> [1]:https://projects.gentoo.org/council/meeting-logs/20151011-summary.txt
84 >>> [2]:https://projects.gentoo.org/council/meeting-logs/20151213-summary.txt
85 >>> [3]:https://bugs.gentoo.org/show_bug.cgi?id=574082
86 >>>
87 >> I'm glad to see some reach-out here and taking responsibility for
88 >> decisions. However, what does the QA team have to say about systems that
89 >> want games on other media (such as an SSD or separate HDD), or wish to
90 >> restrict the use of games on their system to certain accounts?
91 >>
92 >> Bumping EAPI won't magically allow those to happen, and removing the
93 >> eclass *will* break those use cases. What's the "blessed" way to do those?
94 >
95 > If you want to do custom stuff, you're on your own. There are tricks to
96 > do that (package.env, bashrc). Don't expect developers to patch packages
97 > to satisfy your corner case.
98 >
99
100 Why not document those tricks in the same section of the wiki that
101 indicates games.eclass's deprecation? A heads-up with a link?
102 _Something_. This isn't my use case, but we owe it to users to give them
103 ways forward when we break things, even if they aren't what we
104 personally use. If another developer (or team of developers) rendered
105 your use case(s) unsupported or flippantly wrote it off as a corner case
106 (with no documentation on restoring your previous use case), what would
107 you do?
108
109 Other breakages have been handled much better, such as the separate /usr
110 switch. Mentions of that were almost always followed up with "If you
111 wish to keep this, use an initramfs". That is an example of breakage
112 handled correctly: the change is explained, use cases that would break
113 were identified, and a way was given to users of that use case to move
114 forward and remain current.
115
116 Your handling of this eclass deprecation is little more than a heads-up,
117 "We're breaking your use case and we don't consider it worth writing a
118 paragraph's worth of documentation to guide you after the switch." Is
119 that what you find acceptable? Would you support a developer doing that
120 to another part of the tree?
121
122 Other changes in Gentoo have come along that were handled better *and*
123 were more impactful. This situation deserves no less consideration.
124 --
125 Daniel Campbell - Gentoo Developer
126 OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
127 fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies