1 |
Stephen Bennett wrote: |
2 |
> Since GLEP 42's original author and sponsor has left the project, I've |
3 |
> taken it over, and would like to have another go at getting it |
4 |
> implemented. I've just updated the version in CVS[1], which should be |
5 |
> making its way onto the www nodes, but with any luck the full text |
6 |
> should be attached here for convenience. |
7 |
> |
8 |
> So, I'd like to ask for any further input on this, and if noone has any |
9 |
> major issues with it, I'd like to put it into the Council's queue for |
10 |
> discussion at the next opportunity. |
11 |
> |
12 |
> Changes since the previous posted version: |
13 |
> |
14 |
> * Added details of a reference implementation. |
15 |
> |
16 |
> |
17 |
> ------------------------------------------------------------------------ |
18 |
> |
19 |
> GLEP: 42 |
20 |
> Title: Critical News Reporting |
21 |
> Version: $Revision: 1.10 $ |
22 |
> Author: Ciaran McCreesh <ciaranm@g.o> |
23 |
> Last-Modified: $Date: 2006/06/12 22:03:07 $ |
24 |
> Status: Draft |
25 |
> Type: Standards Track |
26 |
> Content-Type: text/x-rst |
27 |
> Created: 31-Oct-2005 |
28 |
> Post-History: 1-Nov-2005, 5-Nov-2005, 7-Nov-2005, 11-Dec-2005, 13-Dec-2005, 18-Dec-2005, 5-Jan-2006, 2-Mar-2006, 6-Mar-2006, 12-Jun-2006 |
29 |
> |
30 |
> Abstract |
31 |
> ======== |
32 |
> |
33 |
> This GLEP proposes a new way of informing users about important updates and news |
34 |
> related to the tree. |
35 |
> |
36 |
> Motivation |
37 |
> ========== |
38 |
> |
39 |
> Although most package updates are clean and require little user action, |
40 |
> occasionally an upgrade requires user intervention. Recent examples of the |
41 |
> latter include the ``gcc-3.4`` stabilisation on ``x86`` and the ``mysql-4.1`` |
42 |
> database format changes. |
43 |
> |
44 |
> There are currently several ways of delivering important news items to our |
45 |
> users, none of them particularly effective: |
46 |
> |
47 |
> * Gentoo Weekly News |
48 |
> * The ``gentoo-announce``, ``gentoo-user`` and ``gentoo-dev`` mailing lists |
49 |
> * The Gentoo Forums |
50 |
> * The main Gentoo website |
51 |
> * RSS feeds of Gentoo news |
52 |
> * ``einfo`` and ``ewarn`` messages in ``pkg_setup`` or ``pkg_postinst`` |
53 |
> |
54 |
> A more reliable way of getting news of critical updates out to users is required |
55 |
> to avoid repeats of various prior upgrade debacles. This GLEP proposes a |
56 |
> solution based around pushing news items out to the user via the ``rsync`` tree. |
57 |
> |
58 |
> .. Important:: This GLEP does not seek to replace or modify ``einfo`` messages |
59 |
> which are displayed post-install. That is a separate issue which is handled |
60 |
> by ``elog`` [#bug-11359]_. |
61 |
> |
62 |
> Requirements |
63 |
> ============ |
64 |
> |
65 |
> An adequate solution must meet all of the following requirements: |
66 |
> |
67 |
> Preemptive |
68 |
> Users should be told of changes *before* they break a system, not after the |
69 |
> damage has already been done. Ideally, the system administrator would be |
70 |
> given ample warning to plan difficult upgrades and changes, rather than only |
71 |
> being told just before action is necessary. |
72 |
> |
73 |
> No user subscription required |
74 |
> It has already been demonstrated [#forums-apache2]_ that many users do not |
75 |
> read the ``gentoo-announce`` mailing list or ``RSS`` feeds. A solution that |
76 |
> requires subscription has no advantage over current methods. |
77 |
> |
78 |
> No user monitoring required |
79 |
> It has already been demonstrated [#forums-apache2]_ that many users do not |
80 |
> read news items posted to the Gentoo website, or do not read news items |
81 |
> until it is too late. A solution that relies upon active monitoring of a |
82 |
> particular source has no advantage over current methods. |
83 |
> |
84 |
> Relevant |
85 |
> System administrators who do not use a particular package should not have to |
86 |
> read news items which affect purely that package. Some news items may be of |
87 |
> relevance to most or all users, but those that are not should not be forced |
88 |
> upon users unnecessarily. |
89 |
> |
90 |
> Lightweight |
91 |
> It is not reasonable to expect all users to have an MTA, web browser, email |
92 |
> client, cron daemon or text processing suite available on their system. |
93 |
> Users must not be forced to install unreasonable extra software to be able |
94 |
> to read news items. |
95 |
> |
96 |
> No privacy violations |
97 |
> Users of the solution should not be required to provide information about |
98 |
> their systems (for example, IP addresses or installed packages). |
99 |
> |
100 |
> Multiple delivery method support |
101 |
> Some users may wish to view news items via email, some via a terminal and |
102 |
> some via a web browser. A solution should either support all of these |
103 |
> methods or (better still) make it simple to write clients for displaying |
104 |
> news items in different ways. |
105 |
> |
106 |
> The following characteristics would be desirable: |
107 |
> |
108 |
> Internationalisable |
109 |
> Being able to provide messages in multiple languages may be beneficial. |
110 |
> |
111 |
> Quality control |
112 |
> There should be some way to ensure that badly written or irrelevant messages |
113 |
> are not sent out, for example by inexperienced developers or those whose |
114 |
> English language skills are below par. |
115 |
> |
116 |
> Simple for developers |
117 |
> Posting news items should be as simple as is reasonably possible. |
118 |
> |
119 |
> Simple for users |
120 |
> Reading relevant news items should be as simple as is reasonably possible. |
121 |
> |
122 |
> Compatibility with existing and future news sources |
123 |
> A news system would ideally be able to be integrated with existing news |
124 |
> sources (for example, Forums, GWN, the main Gentoo website) without |
125 |
> excessive difficulty. Similarly, easy interoperation with any future news |
126 |
> sources should not be precluded. |
127 |
> |
128 |
> Specification |
129 |
> ============= |
130 |
> |
131 |
> Overview |
132 |
> -------- |
133 |
> |
134 |
> News items are published and delivered to users as follows: |
135 |
> |
136 |
> 1. A news item is written. The format to be used is described below. |
137 |
> |
138 |
> 2. The news item is reviewed, following the process described in |
139 |
> `News Item Quality Control`_. |
140 |
> |
141 |
> 3. The news item is committed to a CVS (or Subversion [#glep-36]_) repository. |
142 |
> From here, it is merged with the rsync tree. This is described in `News Item |
143 |
> Distribution`_. |
144 |
> |
145 |
> 4. Users fetch the news item when they sync. This ensures that the news items in |
146 |
> question are pushed to the user before the user accidentally makes an |
147 |
> unwanted change. No changes to the existing rsync process are required by |
148 |
> this GLEP. |
149 |
> |
150 |
> 5. The package manager filters the news item and, if it is relevant, marks the |
151 |
> news item for reading. The package manager should also display a notice |
152 |
> informing the user that there are unread news items. |
153 |
> |
154 |
> 6. The news item is handled by the user's choice of news item reader. See `News |
155 |
> Item Clients`_. |
156 |
> |
157 |
> Required Portage Enhancements |
158 |
> ----------------------------- |
159 |
> |
160 |
> The following extensions to Portage are required: |
161 |
> |
162 |
> * Every repository (including overlays) will require a unique identifier. It is |
163 |
> assumed that an identifier will be a string consisting of characters from |
164 |
> ``a`` to ``z``, ``A`` to ``Z``, ``0`` to ``9``, ``+`` (plus), ``-`` (hyphen) |
165 |
> ``_`` (underscore). |
166 |
> |
167 |
done |
168 |
|
169 |
> * Portage must provide a way for external programs to obtain a list of all |
170 |
> repository identifiers for a given system. It is assumed that this will be in |
171 |
> the form of a ``portageq`` command (e.g. ``portageq get_repo_ids``). |
172 |
> |
173 |
|
174 |
not done, and if we implemented it, would be a hack (although |
175 |
compromisable in this scheme, would be essentially a fake portageq command) |
176 |
|
177 |
> * Portage must provide a way for external programs to obtain the base path for |
178 |
> a repository with a given ID. It is assumed that this will be in the form of |
179 |
> a ``portageq`` command (e.g. ``portageq get_repo_root gentoo-x86``). |
180 |
|
181 |
same as above |
182 |
|
183 |
> |
184 |
> * Portage must extend ``portageq has_version`` to support restrictions to a |
185 |
> given repository ID. |
186 |
|
187 |
and again |
188 |
|
189 |
> |
190 |
> * Portage must extend ``portageq`` to implement a command which returns whether |
191 |
> or not the profile used for a given repository ID is exactly the given profile |
192 |
> (e.g. ``portageq profile_used default-linux/sparc/sparc64/2004.3 |
193 |
> gentoo-x86``). |
194 |
|
195 |
and again |
196 |
|
197 |
> |
198 |
> These extensions are assumed during the following specification. |
199 |
> |
200 |
|
201 |
I have no problem with basically writing up 'fake' portageq calls. |
202 |
However often people tell me overlays are important, they don't serve as |
203 |
multipile repos and don't have metadata/news, so they are excluded in |
204 |
this specification (intentially?). Portage doesn't do multiple repo's |
205 |
so any repo-related call will be a 'fake' one, that just returns the |
206 |
expected data, unless someone has a better method (looks at other |
207 |
portage devs). |
208 |
|
209 |
> |
210 |
> News Item Quality Control |
211 |
> ------------------------- |
212 |
> |
213 |
> There have been complaints regarding the comprehensibility of some upgrade |
214 |
> notices and news items in the past. This is understandable — not every Gentoo |
215 |
> developer speaks English as a first language. However, for the sake of clarity, |
216 |
> professionalism and avoiding making us look like prats, it is important that any |
217 |
> language problems be corrected before inflicting a news item upon end users. |
218 |
> |
219 |
> Thus, at least 72 hours before a proposed news item is committed, it must be |
220 |
> posted to the ``gentoo-dev`` mailing list and ``Cc:``\ed to ``pr@g.o`` |
221 |
> (exceptions may be made in exceptional circumstances). Any complaints — for |
222 |
> example regarding wording, clarity or accuracy — **must** be addressed before |
223 |
> the news item goes live. |
224 |
> |
225 |
> News items must only be for **important** changes that may cause serious upgrade |
226 |
> or compatibility problems. Ordinary upgrade messages and non-critical news items |
227 |
> should remain in ``einfo`` notices. The importance of the message to its |
228 |
> intended audience should be justified with the proposal. |
229 |
> |
230 |
> .. Important:: The filtering system means that it is appropriate to send out |
231 |
> news items which are aimed at users of an uncommon package or architecture. |
232 |
> Thus, the justification should be in the form "this message is important to |
233 |
> YourSQL users because ...", not "YourSQL is important because ...". |
234 |
> |
235 |
|
236 |
I am not sure if I pointed this out before, but I feel that news items |
237 |
should be of a pragmatic nature. IE they should be useful but not |
238 |
frequent. It should not be overly difficult to post a news item for a |
239 |
particular incident. If news items are constantly being shot down due |
240 |
to "importance" or some other reason that lacks what I would call a |
241 |
reasonable blocking reason ( ie bad grammar, clarity problems, |
242 |
inaccuracies ) it will discourage developers from submitting them. |
243 |
While I am against completely crap news items, I would rather see more |
244 |
news items than very few. |
245 |
|
246 |
> |
247 |
> Integration with Existing Systems |
248 |
> ================================= |
249 |
> |
250 |
> It would be simple to convert these news items into the format used for news |
251 |
> items on the Gentoo website or posts for the ``gentoo-announce`` mailing list. |
252 |
> |
253 |
> There is an existing automated tool [#forums-glsa]_ for posting GLSAs to the |
254 |
> forums. A similar tool can be used for these news items. |
255 |
> |
256 |
|
257 |
I would prefer to hear arguments about whether news items should be |
258 |
posted to announce or to a seperate ML. I would also like to see |
259 |
integration via a "news" link on p.g.o. I would be willing to assist in |
260 |
the latter. |
261 |
-- |
262 |
gentoo-dev@g.o mailing list |