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

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

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

Revision 1.4 Revision 1.5
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 &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</td> 37<tr class="field"><th class="field-name">Author:</th><td class="field-body">Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</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,
102occasionally an upgrade requires user intervention during the upgrade process. 102occasionally an upgrade requires user intervention during the upgrade process.
103Recent 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> 103Recent 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>
104and the <tt class="docutils literal"><span class="pre">mysql-5</span></tt> database format changes.</p> 104and 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
106users, none of them particularly effective:</p> 106users, 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
115to avoid repeats of the various recent upgrade debacles. This GLEP proposes a 116to avoid repeats of the various recent upgrade debacles. This GLEP proposes a
116solution based around pushing news items out to the user via the <tt class="docutils literal"><span class="pre">rsync</span></tt> tree.</p> 117solution 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
206form <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>), 207form <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
209news 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>, 210news 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
215news item's identifier.</p> 216news 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
380file named <tt class="docutils literal"><span class="pre">/var/lib/portage/news/news.unread</span></tt> (if it does not already exist) 381file named <tt class="docutils literal"><span class="pre">/var/lib/gentoo/news/news-magic-chicken.unread</span></tt> (if it does not
382already exist) and append the news item identifier (eg
381and 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>
382line.</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
386may require one news list per repository. Assuming repositories have some 387may introduce repository names. In this case, the <tt class="docutils literal"><span class="pre">magic-chicken</span></tt> part of the
387kind of unique identifier, this file could be named <tt class="docutils literal"><span class="pre">news-repoid.unread</span></tt>.</p> 388filename should be replaced by a string representation of the repository
389name. Thus, news item clients should use a wildcard rather than hardcoding
390the <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 &quot;configuration files need 393<tt class="docutils literal"><span class="pre">emerge</span></tt> tool in a similar way to the existing &quot;configuration files need
391updating&quot; messages:</p> 394updating&quot; 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">&lt;target&gt;</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">&lt;target&gt;</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">&lt;target&gt;</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
403news items unnecessarily.</p> 407news 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
405to the unread list to avoid repeatedly marking a deleted news item. This could 409to the unread list to avoid repeatedly marking a deleted news item. This could
406be handled via a <tt class="docutils literal"><span class="pre">news.skip</span></tt> file, but implementation is not specified by this 410be handled via a <tt class="docutils literal"><span class="pre">news-magic-chicken.skip</span></tt> file, but implementation is not
407GLEP.</p> 411specified 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
409filter out the <tt class="docutils literal"><span class="pre">metadata/news/</span></tt> directory.</p> 413filter 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
415Unix tools) can be used to display and view the news files.</p> 419Unix 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
417file. 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
418directory with the same file format.</p> 422reader 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
424format (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
420tool; other display tools (for example, a news to email forwarder, which would 426tool; other display tools (for example, a news to email forwarder, which would
421be ideal for users who sync on a <tt class="docutils literal"><span class="pre">cron</span></tt>) are left as options for those who 427be ideal for users who sync on a <tt class="docutils literal"><span class="pre">cron</span></tt>) are left as options for those who
422desire them.</p> 428desire 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>.
600Generated on: 2005-12-11 01:37 UTC. 606Generated on: 2005-12-13 03:21 UTC.
601Generated 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. 607Generated 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>

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

  ViewVC Help
Powered by ViewVC 1.1.20