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 |