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

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

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

Revision 1.2 Revision 1.3
31<tbody valign="top"> 31<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">31</td> 32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">31</td>
33</tr> 33</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Character Sets for Portage Tree Items</td> 34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Character Sets for Portage Tree Items</td>
35</tr> 35</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td> 36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td>
37</tr> 37</tr>
38<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 class="field"><th class="field-name">Author:</th><td class="field-body">Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</td>
39</tr> 39</tr>
40<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-0031.txt?cvsroot=gentoo">2004/11/01 20:24:06</a></td> 40<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-0031.txt?cvsroot=gentoo">2004/11/11 21:38:05</a></td>
41</tr> 41</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Approved</td>
43</tr> 43</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 45</tr>
46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td> 46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td>
47</tr> 47</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">27-October-2004</td> 48<tr class="field"><th class="field-name">Created:</th><td class="field-body">27-October-2004</td>
49</tr> 49</tr>
50<tr class="field"><th class="field-name">Post-Date:</th><td class="field-body">28-October-2004, 1-November-2004</td> 50<tr class="field"><th class="field-name">Post-Date:</th><td class="field-body">28-October-2004, 1-November-2004, 11-November-2004</td>
51</tr> 51</tr>
52</tbody> 52</tbody>
53</table> 53</table>
54<hr /> 54<hr />
55<div class="contents topic" id="contents"> 55<div class="contents topic" id="contents">
56<p class="topic-title first"><a name="contents">Contents</a></p> 56<p class="topic-title first"><a name="contents">Contents</a></p>
57<ul class="simple"> 57<ul class="simple">
58<li><a class="reference" href="#abstract" id="id9" name="id9">Abstract</a></li> 58<li><a class="reference" href="#abstract" id="id9" name="id9">Abstract</a></li>
59<li><a class="reference" href="#status" id="id10" name="id10">Status</a></li>
59<li><a class="reference" href="#motivation" id="id10" name="id10">Motivation</a></li> 60<li><a class="reference" href="#motivation" id="id11" name="id11">Motivation</a></li>
60<li><a class="reference" href="#specification" id="id11" name="id11">Specification</a><ul> 61<li><a class="reference" href="#specification" id="id12" name="id12">Specification</a><ul>
61<li><a class="reference" href="#changelog-and-metadata-character-sets" id="id12" name="id12">ChangeLog and Metadata Character Sets</a></li> 62<li><a class="reference" href="#changelog-and-metadata-character-sets" id="id13" name="id13">ChangeLog and Metadata Character Sets</a></li>
62<li><a class="reference" href="#ebuild-and-eclass-character-sets" id="id13" name="id13">Ebuild and Eclass Character Sets</a></li> 63<li><a class="reference" href="#ebuild-and-eclass-character-sets" id="id14" name="id14">Ebuild and Eclass Character Sets</a></li>
63<li><a class="reference" href="#files-entries-character-sets" id="id14" name="id14">files/ Entries Character Sets</a></li> 64<li><a class="reference" href="#files-entries-character-sets" id="id15" name="id15">files/ Entries Character Sets</a></li>
64<li><a class="reference" href="#suitable-characters-for-file-and-directory-names" id="id15" name="id15">Suitable Characters for File and Directory Names</a></li> 65<li><a class="reference" href="#suitable-characters-for-file-and-directory-names" id="id16" name="id16">Suitable Characters for File and Directory Names</a></li>
65</ul> 66</ul>
66</li> 67</li>
67<li><a class="reference" href="#backwards-compatibility" id="id16" name="id16">Backwards Compatibility</a></li> 68<li><a class="reference" href="#backwards-compatibility" id="id17" name="id17">Backwards Compatibility</a></li>
68<li><a class="reference" href="#references" id="id17" name="id17">References</a></li> 69<li><a class="reference" href="#references" id="id18" name="id18">References</a></li>
69<li><a class="reference" href="#copyright" id="id18" name="id18">Copyright</a></li> 70<li><a class="reference" href="#copyright" id="id19" name="id19">Copyright</a></li>
70</ul> 71</ul>
71</div> 72</div>
72<div class="section" id="abstract"> 73<div class="section" id="abstract">
73<h1><a class="toc-backref" href="#id9" name="abstract">Abstract</a></h1> 74<h1><a class="toc-backref" href="#id9" name="abstract">Abstract</a></h1>
74<p>A set of guidelines regarding what characters are permissible in the 75<p>A set of guidelines regarding what characters are permissible in the
75portage tree and how they should be encoded is required.</p> 76portage tree and how they should be encoded is required.</p>
76</div> 77</div>
78<div class="section" id="status">
79<h1><a class="toc-backref" href="#id10" name="status">Status</a></h1>
80<p>Approved on 8-Nov-2004 assuming that implementation will include
81documentation for correctly encoding files within nano.</p>
82</div>
77<div class="section" id="motivation"> 83<div class="section" id="motivation">
78<h1><a class="toc-backref" href="#id10" name="motivation">Motivation</a></h1> 84<h1><a class="toc-backref" href="#id11" name="motivation">Motivation</a></h1>
79<p>At present we have several developers and many more users whose names 85<p>At present we have several developers and many more users whose names
80require characters (for example, accents) which are not part of the 86require characters (for example, accents) which are not part of the
81standard 'safe' 0..127 ASCII range. There is no current standard on how 87standard 'safe' 0..127 ASCII range. There is no current standard on how
82these should be represented, leading to inconsistency across the tree.</p> 88these should be represented, leading to inconsistency across the tree.</p>
83<p>Although the issues involved have been discussed informally many times, no 89<p>Although the issues involved have been discussed informally many times, no
84official decision has been made.</p> 90official decision has been made.</p>
85</div> 91</div>
86<div class="section" id="specification"> 92<div class="section" id="specification">
87<h1><a class="toc-backref" href="#id11" name="specification">Specification</a></h1> 93<h1><a class="toc-backref" href="#id12" name="specification">Specification</a></h1>
88<div class="section" id="changelog-and-metadata-character-sets"> 94<div class="section" id="changelog-and-metadata-character-sets">
89<h2><a class="toc-backref" href="#id12" name="changelog-and-metadata-character-sets">ChangeLog and Metadata Character Sets</a></h2> 95<h2><a class="toc-backref" href="#id13" name="changelog-and-metadata-character-sets">ChangeLog and Metadata Character Sets</a></h2>
90<p>It is proposed that UTF-8 (<a class="footnote-reference" href="#id5" id="id1" name="id1">[1]</a>) is used for encoding ChangeLog and 96<p>It is proposed that UTF-8 (<a class="footnote-reference" href="#id5" id="id1" name="id1">[1]</a>) is used for encoding ChangeLog and
91metadata.xml files inside the portage tree.</p> 97metadata.xml files inside the portage tree.</p>
92<p>UTF-8 allows the full range of Unicode (<a class="footnote-reference" href="#id6" id="id2" name="id2">[2]</a>) characters to be expressed, 98<p>UTF-8 allows the full range of Unicode (<a class="footnote-reference" href="#id6" id="id2" name="id2">[2]</a>) characters to be expressed,
93which is necessary given the diversity of the Gentoo developer- and 99which is necessary given the diversity of the Gentoo developer- and
94user-base. It is character-compatible with ASCII for the 0..127 100user-base. It is character-compatible with ASCII for the 0..127
97widely supported, widely used and an official standard.</p> 103widely supported, widely used and an official standard.</p>
98<p>The ISO-8859-* character sets (<a class="footnote-reference" href="#id7" id="id3" name="id3">[3]</a>) would <em>not</em> be appropriate since they 104<p>The ISO-8859-* character sets (<a class="footnote-reference" href="#id7" id="id3" name="id3">[3]</a>) would <em>not</em> be appropriate since they
99cannot express the full range of required characters.</p> 105cannot express the full range of required characters.</p>
100</div> 106</div>
101<div class="section" id="ebuild-and-eclass-character-sets"> 107<div class="section" id="ebuild-and-eclass-character-sets">
102<h2><a class="toc-backref" href="#id13" name="ebuild-and-eclass-character-sets">Ebuild and Eclass Character Sets</a></h2> 108<h2><a class="toc-backref" href="#id14" name="ebuild-and-eclass-character-sets">Ebuild and Eclass Character Sets</a></h2>
103<p>For the same reasons as previously, it is proposed that UTF-8 is used as 109<p>For the same reasons as previously, it is proposed that UTF-8 is used as
104the official encoding for ebuild and eclass files.</p> 110the official encoding for ebuild and eclass files.</p>
105<p>However, developers should be warned that any code which is parsed by bash 111<p>However, developers should be warned that any code which is parsed by bash
106(in other words, non-comments), and any output which is echoed to the 112(in other words, non-comments), and any output which is echoed to the
107screen (for example, einfo messages) or given to portage (for example any 113screen (for example, einfo messages) or given to portage (for example any
108of the standard global variables) must not use anything outside the 114of the standard global variables) must not use anything outside the
109regular ASCII 0..127 range for compatibility purposes.</p> 115regular ASCII 0..127 range for compatibility purposes.</p>
110</div> 116</div>
111<div class="section" id="files-entries-character-sets"> 117<div class="section" id="files-entries-character-sets">
112<h2><a class="toc-backref" href="#id14" name="files-entries-character-sets">files/ Entries Character Sets</a></h2> 118<h2><a class="toc-backref" href="#id15" name="files-entries-character-sets">files/ Entries Character Sets</a></h2>
113<p>Patches must clearly be in the same character set as the file they are 119<p>Patches must clearly be in the same character set as the file they are
114patching. For other files/ entries (for example, GNOME desktop files), 120patching. For other files/ entries (for example, GNOME desktop files),
115consistency with the upstream-recommended character set is most sensible.</p> 121consistency with the upstream-recommended character set is most sensible.</p>
116</div> 122</div>
117<div class="section" id="suitable-characters-for-file-and-directory-names"> 123<div class="section" id="suitable-characters-for-file-and-directory-names">
118<h2><a class="toc-backref" href="#id15" name="suitable-characters-for-file-and-directory-names">Suitable Characters for File and Directory Names</a></h2> 124<h2><a class="toc-backref" href="#id16" name="suitable-characters-for-file-and-directory-names">Suitable Characters for File and Directory Names</a></h2>
119<p>Characters outside the ASCII 0..127 range cannot safely be used for file 125<p>Characters outside the ASCII 0..127 range cannot safely be used for file
120or directory names. (Of course, not all characters inside the ASCII 0..127 126or directory names. (Of course, not all characters inside the ASCII 0..127
121range can be used safely either.)</p> 127range can be used safely either.)</p>
122</div> 128</div>
123</div> 129</div>
124<div class="section" id="backwards-compatibility"> 130<div class="section" id="backwards-compatibility">
125<h1><a class="toc-backref" href="#id16" name="backwards-compatibility">Backwards Compatibility</a></h1> 131<h1><a class="toc-backref" href="#id17" name="backwards-compatibility">Backwards Compatibility</a></h1>
126<p>The existing tree uses a mixture of encodings. It would be straightforward 132<p>The existing tree uses a mixture of encodings. It would be straightforward
127to fix existing ChangeLogs and metadata files to use UTF-8.</p> 133to fix existing ChangeLogs and metadata files to use UTF-8.</p>
128<p>The <tt class="literal"><span class="pre">echangelog</span></tt> tool is character-set agnostic. In order to properly 134<p>The <tt class="literal"><span class="pre">echangelog</span></tt> tool is character-set agnostic. In order to properly
129enter UTF-8, developers would have to switch to a UTF-8 shell session. 135enter UTF-8, developers would have to switch to a UTF-8 shell session.
130This only applies if the developer is entering new text which uses 'fancy' 136This only applies if the developer is entering new text which uses 'fancy'
136The <tt class="literal"><span class="pre">vim</span></tt> and <tt class="literal"><span class="pre">emacs</span></tt> editors, which appear to be most widely used, 142The <tt class="literal"><span class="pre">vim</span></tt> and <tt class="literal"><span class="pre">emacs</span></tt> editors, which appear to be most widely used,
137are both capable of handling UTF-8 cleanly -- for vim, this could be 143are both capable of handling UTF-8 cleanly -- for vim, this could be
138configured automatically via the <tt class="literal"><span class="pre">gentoo-syntax</span></tt> (<a class="footnote-reference" href="#id8" id="id4" name="id4">[4]</a>) package.</p> 144configured automatically via the <tt class="literal"><span class="pre">gentoo-syntax</span></tt> (<a class="footnote-reference" href="#id8" id="id4" name="id4">[4]</a>) package.</p>
139</div> 145</div>
140<div class="section" id="references"> 146<div class="section" id="references">
141<h1><a class="toc-backref" href="#id17" name="references">References</a></h1> 147<h1><a class="toc-backref" href="#id18" name="references">References</a></h1>
142<table class="footnote" frame="void" id="id5" rules="none"> 148<table class="footnote" frame="void" id="id5" rules="none">
143<colgroup><col class="label" /><col /></colgroup> 149<colgroup><col class="label" /><col /></colgroup>
144<tbody valign="top"> 150<tbody valign="top">
145<tr><td class="label"><a class="fn-backref" href="#id1" name="id5">[1]</a></td><td><a class="reference" href="http://www.faqs.org/rfcs/rfc3629.html">RFC 3629</a>: UTF-8, a transformation format of ISO 10646 151<tr><td class="label"><a class="fn-backref" href="#id1" name="id5">[1]</a></td><td><a class="reference" href="http://www.faqs.org/rfcs/rfc3629.html">RFC 3629</a>: UTF-8, a transformation format of ISO 10646
146<a class="reference" href="http://www.ietf.org/rfc/rfc3629.txt">http://www.ietf.org/rfc/rfc3629.txt</a></td></tr> 152<a class="reference" href="http://www.ietf.org/rfc/rfc3629.txt">http://www.ietf.org/rfc/rfc3629.txt</a></td></tr>
165<a class="reference" href="https://developer.berlios.de/projects/gentoo-syntax/">https://developer.berlios.de/projects/gentoo-syntax/</a></td></tr> 171<a class="reference" href="https://developer.berlios.de/projects/gentoo-syntax/">https://developer.berlios.de/projects/gentoo-syntax/</a></td></tr>
166</tbody> 172</tbody>
167</table> 173</table>
168</div> 174</div>
169<div class="section" id="copyright"> 175<div class="section" id="copyright">
170<h1><a class="toc-backref" href="#id18" name="copyright">Copyright</a></h1> 176<h1><a class="toc-backref" href="#id19" name="copyright">Copyright</a></h1>
171<p>This document has been placed in the public domain.</p> 177<p>This document has been placed in the public domain.</p>
172<blockquote> 178<blockquote>
173vim: set tw=74 fileencoding=utf-8 :</blockquote> 179vim: set tw=74 fileencoding=utf-8 :</blockquote>
174</div> 180</div>
175</div> 181</div>
176 182
177<hr class="footer" /> 183<hr class="footer" />
178<div class="footer"> 184<div class="footer">
179<a class="reference" href="glep-0031.txt">View document source</a>. 185<a class="reference" href="glep-0031.txt">View document source</a>.
180Generated on: 2004-11-01 20:17 UTC. 186Generated on: 2004-11-11 21:31 UTC.
181Generated 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. 187Generated 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.
182</div> 188</div>
183</body> 189</body>
184</html> 190</html>
185 191

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.20