| … | |
… | |
| 30 | <tbody valign="top"> |
30 | <tbody valign="top"> |
| 31 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">42</td> |
31 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">42</td> |
| 32 | </tr> |
32 | </tr> |
| 33 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Critical News Reporting</td> |
33 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Critical News Reporting</td> |
| 34 | </tr> |
34 | </tr> |
| 35 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">$Revision: 1.4 $</td> |
35 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">$Revision: 1.5 $</td> |
| 36 | </tr> |
36 | </tr> |
| 37 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Ciaran McCreesh <ciaranm at gentoo.org></td> |
37 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Ciaran McCreesh <ciaranm at gentoo.org></td> |
| 38 | </tr> |
38 | </tr> |
| 39 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs/xml/htdocs/proj/en/glep/glep-0042.txt?cvsroot=gentoo">$Date: 2005/12/11 01:38:18 $</a></td> |
39 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs/xml/htdocs/proj/en/glep/glep-0042.txt?cvsroot=gentoo">$Date: 2005/12/13 03:21:59 $</a></td> |
| 40 | </tr> |
40 | </tr> |
| 41 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
41 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
| 42 | </tr> |
42 | </tr> |
| 43 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
43 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
| 44 | </tr> |
44 | </tr> |
| 45 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="http://www.python.org/peps/glep-0012.html">text/x-rst</a></td> |
45 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="http://www.python.org/peps/glep-0012.html">text/x-rst</a></td> |
| 46 | </tr> |
46 | </tr> |
| 47 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">31-Oct-2005</td> |
47 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">31-Oct-2005</td> |
| 48 | </tr> |
48 | </tr> |
| 49 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">1-Nov-2005, 5-Nov-2005, 7-Nov-2005, 11-Dec-2005</td> |
49 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">1-Nov-2005, 5-Nov-2005, 7-Nov-2005, 11-Dec-2005, 13-Dec-2005</td> |
| 50 | </tr> |
50 | </tr> |
| 51 | </tbody> |
51 | </tbody> |
| 52 | </table> |
52 | </table> |
| 53 | <hr /> |
53 | <hr /> |
| 54 | <div class="contents topic" id="contents"> |
54 | <div class="contents topic" id="contents"> |
| … | |
… | |
| 99 | <div class="section" id="motivation"> |
99 | <div class="section" id="motivation"> |
| 100 | <h1><a class="toc-backref" href="#id21" name="motivation">Motivation</a></h1> |
100 | <h1><a class="toc-backref" href="#id21" name="motivation">Motivation</a></h1> |
| 101 | <p>Although most package updates are clean and require little user action, |
101 | <p>Although most package updates are clean and require little user action, |
| 102 | occasionally an upgrade requires user intervention during the upgrade process. |
102 | occasionally an upgrade requires user intervention during the upgrade process. |
| 103 | Recent examples of the latter include the <tt class="docutils literal"><span class="pre">gcc-3.4</span></tt> stabilisation on <tt class="docutils literal"><span class="pre">x86</span></tt> |
103 | Recent examples of the latter include the <tt class="docutils literal"><span class="pre">gcc-3.4</span></tt> stabilisation on <tt class="docutils literal"><span class="pre">x86</span></tt> |
| 104 | and the <tt class="docutils literal"><span class="pre">mysql-5</span></tt> database format changes.</p> |
104 | and the <tt class="docutils literal"><span class="pre">mysql-4.1</span></tt> database format changes.</p> |
| 105 | <p>There are currently several ways of delivering important news items to our |
105 | <p>There are currently several ways of delivering important news items to our |
| 106 | users, none of them particularly effective:</p> |
106 | users, none of them particularly effective:</p> |
| 107 | <ul class="simple"> |
107 | <ul class="simple"> |
| 108 | <li>Gentoo Weekly News</li> |
108 | <li>Gentoo Weekly News</li> |
| 109 | <li>The <tt class="docutils literal"><span class="pre">gentoo-announce</span></tt>, <tt class="docutils literal"><span class="pre">gentoo-user</span></tt> and <tt class="docutils literal"><span class="pre">gentoo-dev</span></tt> mailing lists</li> |
109 | <li>The <tt class="docutils literal"><span class="pre">gentoo-announce</span></tt>, <tt class="docutils literal"><span class="pre">gentoo-user</span></tt> and <tt class="docutils literal"><span class="pre">gentoo-dev</span></tt> mailing lists</li> |
| 110 | <li>The Gentoo Forums</li> |
110 | <li>The Gentoo Forums</li> |
| 111 | <li>The main Gentoo website</li> |
111 | <li>The main Gentoo website</li> |
| 112 | <li>RSS feeds of Gentoo news</li> |
112 | <li>RSS feeds of Gentoo news</li> |
|
|
113 | <li><tt class="docutils literal"><span class="pre">einfo</span></tt> and <tt class="docutils literal"><span class="pre">ewarn</span></tt> messages in <tt class="docutils literal"><span class="pre">pkg_setup</span></tt> or <tt class="docutils literal"><span class="pre">pkg_postinst</span></tt></li> |
| 113 | </ul> |
114 | </ul> |
| 114 | <p>A more reliable way of getting news of critical updates out to users is required |
115 | <p>A more reliable way of getting news of critical updates out to users is required |
| 115 | to avoid repeats of the various recent upgrade debacles. This GLEP proposes a |
116 | to avoid repeats of the various recent upgrade debacles. This GLEP proposes a |
| 116 | solution based around pushing news items out to the user via the <tt class="docutils literal"><span class="pre">rsync</span></tt> tree.</p> |
117 | solution based around pushing news items out to the user via the <tt class="docutils literal"><span class="pre">rsync</span></tt> tree.</p> |
| 117 | <div class="important"> |
118 | <div class="important"> |
| … | |
… | |
| 205 | <p>Each news item will have a unique identifier. This identifier will be in the |
206 | <p>Each news item will have a unique identifier. This identifier will be in the |
| 206 | form <tt class="docutils literal"><span class="pre">yyyy-mm-dd-short-name</span></tt>, where <tt class="docutils literal"><span class="pre">yyyy</span></tt> is the year (e.g. <tt class="docutils literal"><span class="pre">2005</span></tt>), |
207 | form <tt class="docutils literal"><span class="pre">yyyy-mm-dd-short-name</span></tt>, where <tt class="docutils literal"><span class="pre">yyyy</span></tt> is the year (e.g. <tt class="docutils literal"><span class="pre">2005</span></tt>), |
| 207 | <tt class="docutils literal"><span class="pre">mm</span></tt> is the month (<tt class="docutils literal"><span class="pre">01</span></tt> through <tt class="docutils literal"><span class="pre">12</span></tt>) and dd is the day of the month |
208 | <tt class="docutils literal"><span class="pre">mm</span></tt> is the month (<tt class="docutils literal"><span class="pre">01</span></tt> through <tt class="docutils literal"><span class="pre">12</span></tt>) and dd is the day of the month |
| 208 | (<tt class="docutils literal"><span class="pre">01</span></tt> through <tt class="docutils literal"><span class="pre">31</span></tt>). The <tt class="docutils literal"><span class="pre">short-name</span></tt> is a very short name describing the |
209 | (<tt class="docutils literal"><span class="pre">01</span></tt> through <tt class="docutils literal"><span class="pre">31</span></tt>). The <tt class="docutils literal"><span class="pre">short-name</span></tt> is a very short name describing the |
| 209 | news item (e.g. <tt class="docutils literal"><span class="pre">yoursql-updates</span></tt>), consisting only of the characters <tt class="docutils literal"><span class="pre">a-z</span></tt>, |
210 | news item (e.g. <tt class="docutils literal"><span class="pre">yoursql-updates</span></tt>), consisting only of the characters <tt class="docutils literal"><span class="pre">a-z</span></tt>, |
| 210 | <tt class="docutils literal"><span class="pre">0-9</span></tt> and <tt class="docutils literal"><span class="pre">-</span></tt> (hyphen).</p> |
211 | <tt class="docutils literal"><span class="pre">0-9</span></tt>, <tt class="docutils literal"><span class="pre">+</span></tt> (plus), <tt class="docutils literal"><span class="pre">:</span></tt> (colon) and <tt class="docutils literal"><span class="pre">-</span></tt> (hyphen).</p> |
| 211 | </div> |
212 | </div> |
| 212 | <div class="section" id="news-item-directories"> |
213 | <div class="section" id="news-item-directories"> |
| 213 | <h2><a class="toc-backref" href="#id26" name="news-item-directories">News Item Directories</a></h2> |
214 | <h2><a class="toc-backref" href="#id26" name="news-item-directories">News Item Directories</a></h2> |
| 214 | <p>Each news item will be represented by a directory whose name is the same as the |
215 | <p>Each news item will be represented by a directory whose name is the same as the |
| 215 | news item's identifier.</p> |
216 | news item's identifier.</p> |
| … | |
… | |
| 375 | <p>The main rsync tree will <strong>not</strong> use the <tt class="docutils literal"><span class="pre">yyyy/mm/</span></tt> subdirectory layout.</p> |
376 | <p>The main rsync tree will <strong>not</strong> use the <tt class="docutils literal"><span class="pre">yyyy/mm/</span></tt> subdirectory layout.</p> |
| 376 | </div> |
377 | </div> |
| 377 | <div class="section" id="client-side"> |
378 | <div class="section" id="client-side"> |
| 378 | <h3><a class="toc-backref" href="#id34" name="client-side">Client Side</a></h3> |
379 | <h3><a class="toc-backref" href="#id34" name="client-side">Client Side</a></h3> |
| 379 | <p>Whenever relevant unread news items are found, the package manager will create a |
380 | <p>Whenever relevant unread news items are found, the package manager will create a |
| 380 | file named <tt class="docutils literal"><span class="pre">/var/lib/portage/news/news.unread</span></tt> (if it does not already exist) |
381 | file named <tt class="docutils literal"><span class="pre">/var/lib/gentoo/news/news-magic-chicken.unread</span></tt> (if it does not |
|
|
382 | already exist) and append the news item identifier (eg |
| 381 | and append the news item identifier (eg <tt class="docutils literal"><span class="pre">2005-11-01-yoursql-updates</span></tt>) on a new |
383 | <tt class="docutils literal"><span class="pre">2005-11-01-yoursql-updates</span></tt>) on a new line.</p> |
| 382 | line.</p> |
|
|
| 383 | <div class="note"> |
384 | <div class="note"> |
| 384 | <p class="first admonition-title">Note</p> |
385 | <p class="first admonition-title">Note</p> |
| 385 | <p class="last">Future changes to Portage involving support for multiple repositories |
386 | <p class="last">Future changes to Portage involving support for multiple repositories |
| 386 | may require one news list per repository. Assuming repositories have some |
387 | may introduce repository names. In this case, the <tt class="docutils literal"><span class="pre">magic-chicken</span></tt> part of the |
| 387 | kind of unique identifier, this file could be named <tt class="docutils literal"><span class="pre">news-repoid.unread</span></tt>.</p> |
388 | filename should be replaced by a string representation of the repository |
|
|
389 | name. Thus, news item clients should use a wildcard rather than hardcoding |
|
|
390 | the <tt class="docutils literal"><span class="pre">magic-chicken</span></tt> string.</p> |
| 388 | </div> |
391 | </div> |
| 389 | <p>Notification that new relevant news items will be displayed via the |
392 | <p>Notification that new relevant news items will be displayed via the |
| 390 | <tt class="docutils literal"><span class="pre">emerge</span></tt> tool in a similar way to the existing "configuration files need |
393 | <tt class="docutils literal"><span class="pre">emerge</span></tt> tool in a similar way to the existing "configuration files need |
| 391 | updating" messages:</p> |
394 | updating" messages:</p> |
| 392 | <pre class="literal-block"> |
395 | <pre class="literal-block"> |
| … | |
… | |
| 396 | <p>Checks for new news messages should be displayed:</p> |
399 | <p>Checks for new news messages should be displayed:</p> |
| 397 | <ul class="simple"> |
400 | <ul class="simple"> |
| 398 | <li>After an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">sync</span></tt></li> |
401 | <li>After an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">sync</span></tt></li> |
| 399 | <li>After an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">--pretend</span></tt></li> |
402 | <li>After an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">--pretend</span></tt></li> |
| 400 | <li>Before an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre"><target></span></tt> (which may also include a red warning message)</li> |
403 | <li>Before an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre"><target></span></tt> (which may also include a red warning message)</li> |
|
|
404 | <li>Before an <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">--ask</span> <span class="pre"><target></span></tt> sequence</li> |
| 401 | </ul> |
405 | </ul> |
| 402 | <p>The package manager may use a timestamp check file to avoid having to process |
406 | <p>The package manager may use a timestamp check file to avoid having to process |
| 403 | news items unnecessarily.</p> |
407 | news items unnecessarily.</p> |
| 404 | <p>The package manager must keep track of news items that have already been added |
408 | <p>The package manager must keep track of news items that have already been added |
| 405 | to the unread list to avoid repeatedly marking a deleted news item. This could |
409 | to the unread list to avoid repeatedly marking a deleted news item. This could |
| 406 | be handled via a <tt class="docutils literal"><span class="pre">news.skip</span></tt> file, but implementation is not specified by this |
410 | be handled via a <tt class="docutils literal"><span class="pre">news-magic-chicken.skip</span></tt> file, but implementation is not |
| 407 | GLEP.</p> |
411 | specified by this GLEP.</p> |
| 408 | <p>Users who really don't care about news items can use <tt class="docutils literal"><span class="pre">rsync_excludes</span></tt> to |
412 | <p>Users who really don't care about news items can use <tt class="docutils literal"><span class="pre">rsync_excludes</span></tt> to |
| 409 | filter out the <tt class="docutils literal"><span class="pre">metadata/news/</span></tt> directory.</p> |
413 | filter out the <tt class="docutils literal"><span class="pre">metadata/news/</span></tt> directory.</p> |
| 410 | </div> |
414 | </div> |
| 411 | </div> |
415 | </div> |
| 412 | <div class="section" id="news-item-clients"> |
416 | <div class="section" id="news-item-clients"> |
| 413 | <h2><a class="toc-backref" href="#id35" name="news-item-clients">News Item Clients</a></h2> |
417 | <h2><a class="toc-backref" href="#id35" name="news-item-clients">News Item Clients</a></h2> |
| 414 | <p>Once a news item is marked for reading, third party tools (or traditional core |
418 | <p>Once a news item is marked for reading, third party tools (or traditional core |
| 415 | Unix tools) can be used to display and view the news files.</p> |
419 | Unix tools) can be used to display and view the news files.</p> |
| 416 | <p>When a news item is read, its name should be removed from the <tt class="docutils literal"><span class="pre">news.unread</span></tt> |
420 | <p>When a news item is read, its name should be removed from the |
| 417 | file. News clients may add the name to a <tt class="docutils literal"><span class="pre">news.read</span></tt> file in the same |
421 | <tt class="docutils literal"><span class="pre">news-magic-chicken.unread</span></tt> file. If a news client acts as an interactive |
| 418 | directory with the same file format.</p> |
422 | reader rather than a gateway, it should then add the name to a |
|
|
423 | <tt class="docutils literal"><span class="pre">news-magic-chicken.read</span></tt> file in the same directory with the same file |
|
|
424 | format (again, <tt class="docutils literal"><span class="pre">magic-chicken</span></tt> should be a wildcard rather than hardcoded).</p> |
| 419 | <p>An <tt class="docutils literal"><span class="pre">eselect</span></tt> <a class="footnote-reference" href="#eselect" id="id15" name="id15">[3]</a> module shall be created as the 'suggested' display |
425 | <p>An <tt class="docutils literal"><span class="pre">eselect</span></tt> <a class="footnote-reference" href="#eselect" id="id15" name="id15">[3]</a> module shall be created as the 'suggested' display |
| 420 | tool; other display tools (for example, a news to email forwarder, which would |
426 | tool; other display tools (for example, a news to email forwarder, which would |
| 421 | be ideal for users who sync on a <tt class="docutils literal"><span class="pre">cron</span></tt>) are left as options for those who |
427 | be ideal for users who sync on a <tt class="docutils literal"><span class="pre">cron</span></tt>) are left as options for those who |
| 422 | desire them.</p> |
428 | desire them.</p> |
| 423 | </div> |
429 | </div> |
| … | |
… | |
| 595 | |
601 | |
| 596 | </div> |
602 | </div> |
| 597 | <div class="footer"> |
603 | <div class="footer"> |
| 598 | <hr class="footer" /> |
604 | <hr class="footer" /> |
| 599 | <a class="reference" href="glep-0042.txt">View document source</a>. |
605 | <a class="reference" href="glep-0042.txt">View document source</a>. |
| 600 | Generated on: 2005-12-11 01:37 UTC. |
606 | Generated on: 2005-12-13 03:21 UTC. |
| 601 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
607 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
| 602 | |
608 | |
| 603 | </div> |
609 | </div> |
| 604 | </body> |
610 | </body> |
| 605 | </html> |
611 | </html> |