/[gentoo]/xml/htdocs/proj/en/glep/glep-0042.txt
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0042.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.5
1GLEP: 42 1GLEP: 42
2Title: Critical News Reporting 2Title: Critical News Reporting
3Version: $Revision: 1.4 $ 3Version: $Revision: 1.5 $
4Author: Ciaran McCreesh <ciaranm@gentoo.org> 4Author: Ciaran McCreesh <ciaranm@gentoo.org>
5Last-Modified: $Date: 2005/12/11 01:38:18 $ 5Last-Modified: $Date: 2005/12/13 03:21:59 $
6Status: Draft 6Status: Draft
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 31-Oct-2005 9Created: 31-Oct-2005
10Post-History: 1-Nov-2005, 5-Nov-2005, 7-Nov-2005, 11-Dec-2005 10Post-History: 1-Nov-2005, 5-Nov-2005, 7-Nov-2005, 11-Dec-2005, 13-Dec-2005
11 11
12Abstract 12Abstract
13======== 13========
14 14
15This GLEP proposes a new way of informing users about important updates and news 15This GLEP proposes a new way of informing users about important updates and news
19========== 19==========
20 20
21Although most package updates are clean and require little user action, 21Although most package updates are clean and require little user action,
22occasionally an upgrade requires user intervention during the upgrade process. 22occasionally an upgrade requires user intervention during the upgrade process.
23Recent examples of the latter include the ``gcc-3.4`` stabilisation on ``x86`` 23Recent examples of the latter include the ``gcc-3.4`` stabilisation on ``x86``
24and the ``mysql-5`` database format changes. 24and the ``mysql-4.1`` database format changes.
25 25
26There are currently several ways of delivering important news items to our 26There are currently several ways of delivering important news items to our
27users, none of them particularly effective: 27users, none of them particularly effective:
28 28
29* Gentoo Weekly News 29* Gentoo Weekly News
30* The ``gentoo-announce``, ``gentoo-user`` and ``gentoo-dev`` mailing lists 30* The ``gentoo-announce``, ``gentoo-user`` and ``gentoo-dev`` mailing lists
31* The Gentoo Forums 31* The Gentoo Forums
32* The main Gentoo website 32* The main Gentoo website
33* RSS feeds of Gentoo news 33* RSS feeds of Gentoo news
34* ``einfo`` and ``ewarn`` messages in ``pkg_setup`` or ``pkg_postinst``
34 35
35A more reliable way of getting news of critical updates out to users is required 36A more reliable way of getting news of critical updates out to users is required
36to avoid repeats of the various recent upgrade debacles. This GLEP proposes a 37to avoid repeats of the various recent upgrade debacles. This GLEP proposes a
37solution based around pushing news items out to the user via the ``rsync`` tree. 38solution based around pushing news items out to the user via the ``rsync`` tree.
38 39
141Each news item will have a unique identifier. This identifier will be in the 142Each news item will have a unique identifier. This identifier will be in the
142form ``yyyy-mm-dd-short-name``, where ``yyyy`` is the year (e.g. ``2005``), 143form ``yyyy-mm-dd-short-name``, where ``yyyy`` is the year (e.g. ``2005``),
143``mm`` is the month (``01`` through ``12``) and dd is the day of the month 144``mm`` is the month (``01`` through ``12``) and dd is the day of the month
144(``01`` through ``31``). The ``short-name`` is a very short name describing the 145(``01`` through ``31``). The ``short-name`` is a very short name describing the
145news item (e.g. ``yoursql-updates``), consisting only of the characters ``a-z``, 146news item (e.g. ``yoursql-updates``), consisting only of the characters ``a-z``,
146``0-9`` and ``-`` (hyphen). 147``0-9``, ``+`` (plus), ``:`` (colon) and ``-`` (hyphen).
147 148
148News Item Directories 149News Item Directories
149--------------------- 150---------------------
150 151
151Each news item will be represented by a directory whose name is the same as the 152Each news item will be represented by a directory whose name is the same as the
334 335
335Client Side 336Client Side
336''''''''''' 337'''''''''''
337 338
338Whenever relevant unread news items are found, the package manager will create a 339Whenever relevant unread news items are found, the package manager will create a
339file named ``/var/lib/portage/news/news.unread`` (if it does not already exist) 340file named ``/var/lib/gentoo/news/news-magic-chicken.unread`` (if it does not
340and append the news item identifier (eg ``2005-11-01-yoursql-updates``) on a new 341already exist) and append the news item identifier (eg
341line. 342``2005-11-01-yoursql-updates``) on a new line.
342 343
343.. Note:: Future changes to Portage involving support for multiple repositories 344.. Note:: Future changes to Portage involving support for multiple repositories
344 may require one news list per repository. Assuming repositories have some 345 may introduce repository names. In this case, the ``magic-chicken`` part of the
345 kind of unique identifier, this file could be named ``news-repoid.unread``. 346 filename should be replaced by a string representation of the repository
347 name. Thus, news item clients should use a wildcard rather than hardcoding
348 the ``magic-chicken`` string.
346 349
347Notification that new relevant news items will be displayed via the 350Notification that new relevant news items will be displayed via the
348``emerge`` tool in a similar way to the existing "configuration files need 351``emerge`` tool in a similar way to the existing "configuration files need
349updating" messages: 352updating" messages:
350 353
356Checks for new news messages should be displayed: 359Checks for new news messages should be displayed:
357 360
358* After an ``emerge sync`` 361* After an ``emerge sync``
359* After an ``emerge --pretend`` 362* After an ``emerge --pretend``
360* Before an ``emerge <target>`` (which may also include a red warning message) 363* Before an ``emerge <target>`` (which may also include a red warning message)
364* Before an ``emerge --ask <target>`` sequence
361 365
362The package manager may use a timestamp check file to avoid having to process 366The package manager may use a timestamp check file to avoid having to process
363news items unnecessarily. 367news items unnecessarily.
364 368
365The package manager must keep track of news items that have already been added 369The package manager must keep track of news items that have already been added
366to the unread list to avoid repeatedly marking a deleted news item. This could 370to the unread list to avoid repeatedly marking a deleted news item. This could
367be handled via a ``news.skip`` file, but implementation is not specified by this 371be handled via a ``news-magic-chicken.skip`` file, but implementation is not
368GLEP. 372specified by this GLEP.
369 373
370Users who really don't care about news items can use ``rsync_excludes`` to 374Users who really don't care about news items can use ``rsync_excludes`` to
371filter out the ``metadata/news/`` directory. 375filter out the ``metadata/news/`` directory.
372 376
373News Item Clients 377News Item Clients
374----------------- 378-----------------
375 379
376Once a news item is marked for reading, third party tools (or traditional core 380Once a news item is marked for reading, third party tools (or traditional core
377Unix tools) can be used to display and view the news files. 381Unix tools) can be used to display and view the news files.
378 382
379When a news item is read, its name should be removed from the ``news.unread`` 383When a news item is read, its name should be removed from the
380file. News clients may add the name to a ``news.read`` file in the same 384``news-magic-chicken.unread`` file. If a news client acts as an interactive
381directory with the same file format. 385reader rather than a gateway, it should then add the name to a
386``news-magic-chicken.read`` file in the same directory with the same file
387format (again, ``magic-chicken`` should be a wildcard rather than hardcoded).
382 388
383An ``eselect`` [#eselect]_ module shall be created as the 'suggested' display 389An ``eselect`` [#eselect]_ module shall be created as the 'suggested' display
384tool; other display tools (for example, a news to email forwarder, which would 390tool; other display tools (for example, a news to email forwarder, which would
385be ideal for users who sync on a ``cron``) are left as options for those who 391be ideal for users who sync on a ``cron``) are left as options for those who
386desire them. 392desire them.

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.20