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

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

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

Revision 1.1 Revision 1.6
1<?xml version="1.0" encoding="utf-8" ?> 1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<!-- 4
5This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8-->
9<head> 5<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> 7 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 46 -- Allow upstream tags in metadata.xml</title> 8 <title>GLEP 46 -- Allow upstream tags in metadata.xml</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 9 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14</head> 10</head>
15<body bgcolor="white"> 11<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 12<table class="navigation" cellpadding="0" cellspacing="0"
20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" 16<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
21 border="0" width="150" height="35" /></a></td> 17 border="0" width="150" height="35" /></a></td>
22<td class="textlinks" align="left"> 18<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 19[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
24[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] 20[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
25[<b><a href="./glep-0046.txt">GLEP Source</a></b>] 21[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0046.txt">GLEP Source</a></b>]
26</td></tr></table> 22</td></tr></table>
27<table class="rfc2822 docutils field-list" frame="void" rules="none"> 23<table class="rfc2822 docutils field-list" frame="void" rules="none">
28<col class="field-name" /> 24<col class="field-name" />
29<col class="field-body" /> 25<col class="field-body" />
30<tbody valign="top"> 26<tbody valign="top">
31<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">46</td> 27<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">46</td>
32</tr> 28</tr>
33<tr class="field"><th class="field-name">Title:</th><td class="field-body">Allow upstream tags in metadata.xml</td> 29<tr class="field"><th class="field-name">Title:</th><td class="field-body">Allow upstream tags in metadata.xml</td>
34</tr> 30</tr>
35<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.0</td> 31<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td>
36</tr> 32</tr>
37<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-0046.txt?cvsroot=gentoo">2005/12/26 20:00:00</a></td> 33<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.cgi/xml/htdocs/proj/en/glep/glep-0046.txt?cvsroot=gentoo">2007/04/21 03:13:16</a></td>
38</tr> 34</tr>
39<tr class="field"><th class="field-name">Author:</th><td class="field-body">Marcelo Goes &lt;vanquirius&#32;&#97;t&#32;gentoo.org&gt;, Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</td> 35<tr class="field"><th class="field-name">Author:</th><td class="field-body">Marcelo Goes &lt;vanquirius&#32;&#97;t&#32;gentoo.org&gt;, Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</td>
40</tr> 36</tr>
41<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 37<tr class="field"><th class="field-name">Status:</th><td class="field-body">Deferred</td>
42</tr> 38</tr>
43<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 39<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
44</tr> 40</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> 41<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td>
46</tr> 42</tr>
47<tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Dec-2005</td> 43<tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Dec-2005</td>
44</tr>
45<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">26-Dec-2005, 5-Mar-2006</td>
48</tr> 46</tr>
49</tbody> 47</tbody>
50</table> 48</table>
51<hr /> 49<hr />
52<div class="contents topic" id="contents"> 50<div class="contents topic">
53<p class="topic-title first"><a name="contents">Contents</a></p> 51<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
54<ul class="simple"> 52<ul class="simple">
55<li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> 53<li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li>
56<li><a class="reference" href="#motivation" id="id3" name="id3">Motivation</a></li> 54<li><a class="reference" href="#motivation" id="id3" name="id3">Motivation</a></li>
57<li><a class="reference" href="#specification" id="id4" name="id4">Specification</a></li> 55<li><a class="reference" href="#specification" id="id4" name="id4">Specification</a></li>
58<li><a class="reference" href="#backwards-compatibility" id="id5" name="id5">Backwards Compatibility</a></li> 56<li><a class="reference" href="#backwards-compatibility" id="id5" name="id5">Backwards Compatibility</a></li>
59<li><a class="reference" href="#copyright" id="id6" name="id6">Copyright</a></li> 57<li><a class="reference" href="#copyright" id="id6" name="id6">Copyright</a></li>
60</ul> 58</ul>
61</div> 59</div>
62<div class="section" id="abstract"> 60<div class="section">
63<h1><a class="toc-backref" href="#id2" name="abstract">Abstract</a></h1> 61<h1><a class="toc-backref" href="#id2" id="abstract" name="abstract">Abstract</a></h1>
62<p>Tree <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files are currently used to specify maintainer and
63description information for packages. This GLEP proposes extensions to
64<p><tt class="docutils literal"><span class="pre">metadata.xml</span></tt> should allow the use of tags to add information related to 64<tt class="docutils literal"><span class="pre">metadata.xml</span></tt> to allow storage of information about upstream.</p>
65upstream, such as who the upstream maintainers are, the upstream changelog and
66where to report bugs.</p>
67</div> 65</div>
68<div class="section" id="motivation"> 66<div class="section">
69<h1><a class="toc-backref" href="#id3" name="motivation">Motivation</a></h1> 67<h1><a class="toc-backref" href="#id3" id="motivation" name="motivation">Motivation</a></h1>
70<p>Allowing developers to add upstream information in <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> will make it 68<p>The range of upstream-related data currently available to developers and
71easier, faster and more reliable to share it with other developers. Having 69tool authors is currently limited to <tt class="docutils literal"><span class="pre">DESCRIPTION</span></tt> and <tt class="docutils literal"><span class="pre">HOMEPAGE</span></tt> in
72information from upstream should avoid duplicated work in tasks such as browsing 70ebuilds.</p>
73upstream's Homepage and mailing lists.</p> 71<p>There have been several attempts at creating tools that check a
72package's versions against Freshmeat to see whether an ebuild version
73bump is required. Currently identifying a package's Freshmeat entry is a
74matter of guesswork, and not something that can reliably be automated.</p>
75<p>Similarly, various scripts exist to check a package's status against a
76specialist external data source. One of the authors, for example, has a
77shell script hack that tries to determine whether any <tt class="docutils literal"><span class="pre">app-vim</span></tt>
78packages need bumping by checking the associated <tt class="docutils literal"><span class="pre">vim.org</span></tt> script
79page. Again, tying packages to external data source entries is not
80particulaly straight forward.</p>
81<p>Making additional upstream-related data easily available will have other
82benefits:</p>
83<ul class="simple">
84<li>It will allow systems such as the Packages website to provide more
85useful information to end users.</li>
86<li>It will reduce the time spent by developers trying to find how to
87contact upstream.</li>
88</ul>
74</div> 89</div>
75<div class="section" id="specification"> 90<div class="section">
76<h1><a class="toc-backref" href="#id4" name="specification">Specification</a></h1> 91<h1><a class="toc-backref" href="#id4" id="specification" name="specification">Specification</a></h1>
77<p><tt class="docutils literal"><span class="pre">metadata.dtd</span></tt> should allow the use of a upstream tag in <tt class="docutils literal"><span class="pre">metadata.xml</span></tt>. 92<p><tt class="docutils literal"><span class="pre">metadata.dtd</span></tt> should allow the use of a upstream tag in
78Inside the upstream tag, developers should be able to add upstream information 93<tt class="docutils literal"><span class="pre">metadata.xml</span></tt>. Inside the upstream tag, developers should be able to
79in the tags named <tt class="docutils literal"><span class="pre">maintainer,</span> <span class="pre">``changelog</span></tt>, <tt class="docutils literal"><span class="pre">bugs-to</span></tt> and <tt class="docutils literal"><span class="pre">remote-id</span></tt>.</p> 94add upstream related information.</p>
80<p>This GLEP defines the following four tags for <tt class="docutils literal"><span class="pre">upstream</span></tt>: 95<p>This GLEP defines the following four tags for <tt class="docutils literal"><span class="pre">upstream</span></tt>:
81<tt class="docutils literal"><span class="pre">maintainer</span></tt>, <tt class="docutils literal"><span class="pre">changelog</span></tt>, <tt class="docutils literal"><span class="pre">bugs-to</span></tt> and <tt class="docutils literal"><span class="pre">remote-id</span></tt>, none of which are 96<tt class="docutils literal"><span class="pre">maintainer</span></tt>, <tt class="docutils literal"><span class="pre">changelog</span></tt>, <tt class="docutils literal"><span class="pre">bugs-to</span></tt> and <tt class="docutils literal"><span class="pre">remote-id</span></tt>, none of
82mandatory. Future GLEPs may extend this -- tools processing metadata.xml should 97which are mandatory. Future GLEPs may extend this -- tools processing
83ignore unrecognized elements.</p> 98metadata.xml should ignore unrecognized elements.</p>
84<p><tt class="docutils literal"><span class="pre">maintainer</span></tt> can contain the tags <tt class="docutils literal"><span class="pre">name</span></tt> and <tt class="docutils literal"><span class="pre">email</span></tt>, indicating the 99<p><tt class="docutils literal"><span class="pre">maintainer</span></tt> can contain the tags <tt class="docutils literal"><span class="pre">name</span></tt> and <tt class="docutils literal"><span class="pre">email</span></tt>, indicating
85person/organization responsible for upstream maintainership of the package.</p> 100the person or organization responsible for upstream maintainership of
101the package.</p>
86<p><tt class="docutils literal"><span class="pre">name</span></tt> should contain a block of text with upstream's name.</p> 102<p><tt class="docutils literal"><span class="pre">name</span></tt> should contain a block of text with upstream's name.</p>
87<p><tt class="docutils literal"><span class="pre">email</span></tt> should contain an e-mail address in the format <a class="reference" href="mailto:foo&#64;bar.bar">foo&#64;bar.bar</a>.</p> 103<p><tt class="docutils literal"><span class="pre">email</span></tt> should contain an e-mail address in the format <a class="reference" href="mailto:foo&#64;bar.bar">foo&#64;bar.bar</a>.</p>
88<p><tt class="docutils literal"><span class="pre">changelog</span></tt> should contain a URL prefixed with http or https where the 104<p><tt class="docutils literal"><span class="pre">changelog</span></tt> should contain a URL prefixed with <tt class="docutils literal"><span class="pre">http://</span></tt> or
89location of the upstream changelog can be found.</p> 105<tt class="docutils literal"><span class="pre">https://</span></tt> where the location of the upstream changelog can be found.</p>
90<p><tt class="docutils literal"><span class="pre">bugs-to</span></tt> should contain a place where bugs can be filed, a URL prefixed with 106<p><tt class="docutils literal"><span class="pre">bugs-to</span></tt> should contain a place where bugs can be filed, a URL
91http or https or an e-mail address.</p> 107prefixed with <tt class="docutils literal"><span class="pre">http://</span></tt> or <tt class="docutils literal"><span class="pre">https://</span></tt> or an e-mail address prefixed
108with <tt class="docutils literal"><span class="pre">mailto:</span></tt>.</p>
92<p><tt class="docutils literal"><span class="pre">remote-id</span></tt> should specify a type of package identification tracker and the 109<p><tt class="docutils literal"><span class="pre">remote-id</span></tt> should specify a type of package identification tracker
93identification that corresponds to the package in question. <tt class="docutils literal"><span class="pre">remote-id</span></tt> should 110and the identification that corresponds to the package in question.
94make it easier to index information like its identification in freshmeat or its 111<tt class="docutils literal"><span class="pre">remote-id</span></tt> should make it easier to index information such as its
95cpan identification.</p> 112Freshmeat ID or its CPAN name.</p>
96<p>For example:</p> 113<p>The <tt class="docutils literal"><span class="pre">remote-id</span></tt> element has a <tt class="docutils literal"><span class="pre">type</span></tt> attribute, which is a string
114identifying the type of upstream source. Examples are <tt class="docutils literal"><span class="pre">freshmeat</span></tt>, in
115which case the element content should be the Freshmeat ID or <tt class="docutils literal"><span class="pre">vim</span></tt>, in
116which case the element content should be the <tt class="docutils literal"><span class="pre">vim.org</span></tt> script
117identifier. This GLEP does not specify a complete list of legal values
118for <tt class="docutils literal"><span class="pre">type</span></tt> -- developers should email the <tt class="docutils literal"><span class="pre">gentoo-dev</span></tt> mailing list
119before using a new <tt class="docutils literal"><span class="pre">type</span></tt> value.</p>
120<p>For example, a <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> upstream snippet may look like:</p>
97<pre class="literal-block"> 121<pre class="literal-block">
98&lt;upstream&gt; 122&lt;upstream&gt;
99&lt;maintainer&gt; 123 &lt;maintainer&gt;
100&lt;name&gt;Foo Bar&lt;/name&gt; 124 &lt;name&gt;Foo Bar&lt;/name&gt;
101&lt;email&gt;foo&#64;bar.bar&lt;/email&gt; 125 &lt;email&gt;foo&#64;bar.bar&lt;/email&gt;
102&lt;/maintainer&gt; 126 &lt;/maintainer&gt;
103&lt;changelog&gt;http://foo.bar/changelog.txt&lt;/changelog&gt; 127 &lt;changelog&gt;http://foo.bar/changelog.txt&lt;/changelog&gt;
104&lt;bugs-to&gt;https://bugs.foo.bar&lt;/bugs-to&gt; 128 &lt;bugs-to&gt;https://bugs.foo.bar&lt;/bugs-to&gt;
105&lt;remote-id type=&quot;freshmeat&quot;&gt;12345&lt;/remote-id&gt; 129 &lt;remote-id type=&quot;freshmeat&quot;&gt;12345&lt;/remote-id&gt;
106&lt;remote-id type=&quot;sourceforge&quot;&gt;foobar&lt;/remote-id&gt; 130 &lt;remote-id type=&quot;sourceforge&quot;&gt;foobar&lt;/remote-id&gt;
107&lt;/upstream&gt; 131&lt;/upstream&gt;
108</pre> 132</pre>
109</div> 133</div>
110<div class="section" id="backwards-compatibility"> 134<div class="section">
111<h1><a class="toc-backref" href="#id5" name="backwards-compatibility">Backwards Compatibility</a></h1> 135<h1><a class="toc-backref" href="#id5" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
112<p>No changes are necessary to existing <tt class="docutils literal"><span class="pre">metadata.xml</span></tt>. Information in the new 136<p>No changes are necessary to existing <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files. Information
113tags should not be mandatory.</p> 137in the new tags is not be mandatory. Any sane tool that currently
138handles <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files will simply ignore unrecognised elements.</p>
114</div> 139</div>
115<div class="section" id="copyright"> 140<div class="section">
116<h1><a class="toc-backref" href="#id6" name="copyright">Copyright</a></h1> 141<h1><a class="toc-backref" href="#id6" id="copyright" name="copyright">Copyright</a></h1>
117<p>This document has been placed in the public domain.</p> 142<p>This document has been placed in the public domain.</p>
143<!-- vim: set ft=glep tw=72 : -->
118</div> 144</div>
119 145
120</div> 146</div>
121<div class="footer"> 147<div class="footer">
122<hr class="footer" /> 148<hr class="footer" />
123<a class="reference" href="glep-0046.txt">View document source</a>. 149<a class="reference" href="glep-0046.txt">View document source</a>.
124Generated on: 2005-12-27 00:24 UTC. 150Generated on: 2007-10-13 13:39 UTC.
125Generated 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. 151Generated 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.
126 152
127</div> 153</div>
128</body> 154</body>
129</html> 155</html>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20