1 |
On Wed, 29 Jun 2016 22:37:27 -0700 |
2 |
Daniel Campbell <zlg@g.o> wrote: |
3 |
|
4 |
> On 06/29/2016 10:11 PM, Michał Górny wrote: |
5 |
> > On Wed, 29 Jun 2016 15:47:43 -0700 |
6 |
> > Daniel Campbell <zlg@g.o> wrote: |
7 |
> > |
8 |
> >> On 06/29/2016 10:11 AM, Michał Górny wrote: |
9 |
> >>> Hello, everyone. |
10 |
> >>> |
11 |
> >>> Over half a year has passed since Council decided upon the fate of |
12 |
> >>> games in Gentoo. Over that period, the games team has neither showed |
13 |
> >>> any will to respect the Council decisions, nor officially appealed to |
14 |
> >>> them. |
15 |
> >>> |
16 |
> >>> For this reason, the QA team would like to officially start supporting |
17 |
> >>> the migration of ebuilds out of games.eclass. Any developer wishing to |
18 |
> >>> help is more than welcome to take any games.eclass ebuild, bump its |
19 |
> >>> revision and remove the games.eclass-specific bits from it. Updating to |
20 |
> >>> EAPI 6 would also be welcome. A short update guide is provided at |
21 |
> >>> the end of mail. |
22 |
> >>> |
23 |
> >>> Please note that since this is considered a matter of QA action with |
24 |
> >>> a long waiting period, no explicit approval from games team is |
25 |
> >>> necessary to commit the conversion, nor games team is allowed to reject |
26 |
> >>> or revert such commits as long as they are valid. |
27 |
> >>> |
28 |
> >>> If you need any help doing that and the games team refuses to provide |
29 |
> >>> it, please do not hesitate to contact me or ask in #gentoo-qa. If you |
30 |
> >>> are interested in helping out with games, feel free to join games team |
31 |
> >>> since it still lacks new members. |
32 |
> >>> |
33 |
> >>> Thank you for all the help. |
34 |
> >>> |
35 |
> >>> |
36 |
> >>> Migration notes |
37 |
> >>> --------------- |
38 |
> >>> |
39 |
> >>> TL;DR: nothing special required, remove games.eclass and all |
40 |
> >>> unnecessary games.eclass customization, and follow upstream. Make sure |
41 |
> >>> not to break stuff. |
42 |
> >>> |
43 |
> >>> |
44 |
> >>> The Council decisions can be summarized the following way: |
45 |
> >>> |
46 |
> >>> 1. The 'games' group, formerly used to control access to games, must |
47 |
> >>> not be used. Games should be executable for all users like any other |
48 |
> >>> program [1]. |
49 |
> >>> |
50 |
> >>> 1a. For score files and similar writable shared data, the 'gamestat' |
51 |
> >>> group (enewgroup gamestat 36) can be used. The old 'games' group is not |
52 |
> >>> appropriate since sysadmins were expected to add users to it which |
53 |
> >>> defeated its purpose. |
54 |
> >>> |
55 |
> >>> 2. Gentoo path customization for games must be removed and regular |
56 |
> >>> install locations (without explicit control via GAMES_* variables) |
57 |
> >>> should be used [2]: |
58 |
> >>> |
59 |
> >>> 2a. /usr/games and /etc/games directories are forbidden, |
60 |
> >>> |
61 |
> >>> 2b. /usr/share/games can be used for data if that directory is used |
62 |
> >>> upstream, |
63 |
> >>> |
64 |
> >>> 2c. /var/games can be used for shared writable data. |
65 |
> >>> |
66 |
> >>> |
67 |
> >>> This is mostly achieved through removing games.eclass inherit, |
68 |
> >>> customization specific to it and replacing the helpers with generic PMS |
69 |
> >>> helpers (e.g. egamesconf -> econf, dogamesbin -> dobin). |
70 |
> >>> The 'gamesowners', 'gamesperms', 'prepgamesdirs' calls should be |
71 |
> >>> removed altogether. |
72 |
> >>> |
73 |
> >>> In some cases it will also be beneficial to remove patching added to |
74 |
> >>> support non-standard locations. |
75 |
> >>> |
76 |
> >>> Please remember to always rev-bump and not edit in place, to ensure |
77 |
> >>> proper upgrade. When dealing with dependencies, please make sure to |
78 |
> >>> check if the package does not rely on dependency installing data in |
79 |
> >>> a specific location. If that is the case, then you need to use |
80 |
> >>> appropriate >= deps to ensure clean upgrade. |
81 |
> >>> |
82 |
> >>> If you would like to report bugs requesting games.eclass removal, |
83 |
> >>> please make them block the tracker [3]. |
84 |
> >>> |
85 |
> >>> |
86 |
> >>> [1]:https://projects.gentoo.org/council/meeting-logs/20151011-summary.txt |
87 |
> >>> [2]:https://projects.gentoo.org/council/meeting-logs/20151213-summary.txt |
88 |
> >>> [3]:https://bugs.gentoo.org/show_bug.cgi?id=574082 |
89 |
> >>> |
90 |
> >> I'm glad to see some reach-out here and taking responsibility for |
91 |
> >> decisions. However, what does the QA team have to say about systems that |
92 |
> >> want games on other media (such as an SSD or separate HDD), or wish to |
93 |
> >> restrict the use of games on their system to certain accounts? |
94 |
> >> |
95 |
> >> Bumping EAPI won't magically allow those to happen, and removing the |
96 |
> >> eclass *will* break those use cases. What's the "blessed" way to do those? |
97 |
> > |
98 |
> > If you want to do custom stuff, you're on your own. There are tricks to |
99 |
> > do that (package.env, bashrc). Don't expect developers to patch packages |
100 |
> > to satisfy your corner case. |
101 |
> > |
102 |
> |
103 |
> Why not document those tricks in the same section of the wiki that |
104 |
> indicates games.eclass's deprecation? A heads-up with a link? |
105 |
|
106 |
Wiki is public. You are free to provide useful information if you like. |
107 |
I don't feel like working on unsupported hacks that won't work reliably |
108 |
and don't give much benefit to anyone. Just please keep that on |
109 |
a separate page so that people don't think it's officially supported. |
110 |
|
111 |
> _Something_. This isn't my use case, but we owe it to users to give them |
112 |
> ways forward when we break things, even if they aren't what we |
113 |
> personally use. |
114 |
|
115 |
So why are you mentioning it? It looks like you jump out of the blue |
116 |
like your life suddenly stopped to make sense, and go accusing random |
117 |
people of being part of a process that started a few years back. |
118 |
|
119 |
The games.eclass design supported many corner cases. They were weighed, |
120 |
and it was decided that we prefer to go for uniformity, standards |
121 |
compliance and simplicity, rather than working on support for a few |
122 |
corner cases on non-clearly selected packages. |
123 |
|
124 |
> If another developer (or team of developers) rendered |
125 |
> your use case(s) unsupported or flippantly wrote it off as a corner case |
126 |
> (with no documentation on restoring your previous use case), what would |
127 |
> you do? |
128 |
|
129 |
I either agree or disagree. If I disagree, I enter the discussion or |
130 |
start it as necessary, etc. It's all in the procedures. |
131 |
|
132 |
> Other breakages have been handled much better, such as the separate /usr |
133 |
> switch. Mentions of that were almost always followed up with "If you |
134 |
> wish to keep this, use an initramfs". That is an example of breakage |
135 |
> handled correctly: the change is explained, use cases that would break |
136 |
> were identified, and a way was given to users of that use case to move |
137 |
> forward and remain current. |
138 |
|
139 |
You are comparing two completely different changes. We are not |
140 |
*breaking* user's systems. Systems will still boot, games will still |
141 |
work. |
142 |
|
143 |
> Your handling of this eclass deprecation is little more than a heads-up, |
144 |
> "We're breaking your use case and we don't consider it worth writing a |
145 |
> paragraph's worth of documentation to guide you after the switch." Is |
146 |
> that what you find acceptable? Would you support a developer doing that |
147 |
> to another part of the tree? |
148 |
> |
149 |
> Other changes in Gentoo have come along that were handled better *and* |
150 |
> were more impactful. This situation deserves no less consideration. |
151 |
|
152 |
Are you talking about user or developer documentation? Because I'm |
153 |
really lost in your argumentation. |
154 |
|
155 |
-- |
156 |
Best regards, |
157 |
Michał Górny |
158 |
<http://dev.gentoo.org/~mgorny/> |