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

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.6 - (show annotations) (download) (as text)
Sun Oct 14 17:00:15 2007 UTC (10 years, 8 months ago) by antarus
Branch: MAIN
Changes since 1.5: +6 -253 lines
File MIME type: text/html
the canary on 53 went well, changing the rest

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">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
8 <title>GLEP 46 -- Allow upstream tags in metadata.xml</title>
9 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
10 </head>
11 <body bgcolor="white">
12 <table class="navigation" cellpadding="0" cellspacing="0"
13 width="100%" border="0">
14 <tr><td class="navicon" width="150" height="35">
15 <a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
16 <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
17 border="0" width="150" height="35" /></a></td>
18 <td class="textlinks" align="left">
19 [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
20 [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
21 [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0046.txt">GLEP Source</a></b>]
22 </td></tr></table>
23 <table class="rfc2822 docutils field-list" frame="void" rules="none">
24 <col class="field-name" />
25 <col class="field-body" />
26 <tbody valign="top">
27 <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">46</td>
28 </tr>
29 <tr class="field"><th class="field-name">Title:</th><td class="field-body">Allow upstream tags in metadata.xml</td>
30 </tr>
31 <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td>
32 </tr>
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>
34 </tr>
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>
36 </tr>
37 <tr class="field"><th class="field-name">Status:</th><td class="field-body">Deferred</td>
38 </tr>
39 <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
40 </tr>
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>
42 </tr>
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>
46 </tr>
47 </tbody>
48 </table>
49 <hr />
50 <div class="contents topic">
51 <p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
52 <ul class="simple">
53 <li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li>
54 <li><a class="reference" href="#motivation" id="id3" name="id3">Motivation</a></li>
55 <li><a class="reference" href="#specification" id="id4" name="id4">Specification</a></li>
56 <li><a class="reference" href="#backwards-compatibility" id="id5" name="id5">Backwards Compatibility</a></li>
57 <li><a class="reference" href="#copyright" id="id6" name="id6">Copyright</a></li>
58 </ul>
59 </div>
60 <div class="section">
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
63 description information for packages. This GLEP proposes extensions to
64 <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> to allow storage of information about upstream.</p>
65 </div>
66 <div class="section">
67 <h1><a class="toc-backref" href="#id3" id="motivation" name="motivation">Motivation</a></h1>
68 <p>The range of upstream-related data currently available to developers and
69 tool 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
70 ebuilds.</p>
71 <p>There have been several attempts at creating tools that check a
72 package's versions against Freshmeat to see whether an ebuild version
73 bump is required. Currently identifying a package's Freshmeat entry is a
74 matter 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
76 specialist external data source. One of the authors, for example, has a
77 shell script hack that tries to determine whether any <tt class="docutils literal"><span class="pre">app-vim</span></tt>
78 packages need bumping by checking the associated <tt class="docutils literal"><span class="pre">vim.org</span></tt> script
79 page. Again, tying packages to external data source entries is not
80 particulaly straight forward.</p>
81 <p>Making additional upstream-related data easily available will have other
82 benefits:</p>
83 <ul class="simple">
84 <li>It will allow systems such as the Packages website to provide more
85 useful information to end users.</li>
86 <li>It will reduce the time spent by developers trying to find how to
87 contact upstream.</li>
88 </ul>
89 </div>
90 <div class="section">
91 <h1><a class="toc-backref" href="#id4" id="specification" name="specification">Specification</a></h1>
92 <p><tt class="docutils literal"><span class="pre">metadata.dtd</span></tt> should allow the use of a upstream tag in
93 <tt class="docutils literal"><span class="pre">metadata.xml</span></tt>. Inside the upstream tag, developers should be able to
94 add upstream related information.</p>
95 <p>This GLEP defines the following four tags for <tt class="docutils literal"><span class="pre">upstream</span></tt>:
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
97 which are mandatory. Future GLEPs may extend this -- tools processing
98 metadata.xml should ignore unrecognized elements.</p>
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
100 the person or organization responsible for upstream maintainership of
101 the package.</p>
102 <p><tt class="docutils literal"><span class="pre">name</span></tt> should contain a block of text with upstream's name.</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>
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
105 <tt class="docutils literal"><span class="pre">https://</span></tt> where the location of the upstream changelog can be found.</p>
106 <p><tt class="docutils literal"><span class="pre">bugs-to</span></tt> should contain a place where bugs can be filed, a URL
107 prefixed 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
108 with <tt class="docutils literal"><span class="pre">mailto:</span></tt>.</p>
109 <p><tt class="docutils literal"><span class="pre">remote-id</span></tt> should specify a type of package identification tracker
110 and the identification that corresponds to the package in question.
111 <tt class="docutils literal"><span class="pre">remote-id</span></tt> should make it easier to index information such as its
112 Freshmeat ID or its CPAN name.</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
114 identifying the type of upstream source. Examples are <tt class="docutils literal"><span class="pre">freshmeat</span></tt>, in
115 which case the element content should be the Freshmeat ID or <tt class="docutils literal"><span class="pre">vim</span></tt>, in
116 which case the element content should be the <tt class="docutils literal"><span class="pre">vim.org</span></tt> script
117 identifier. This GLEP does not specify a complete list of legal values
118 for <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
119 before 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>
121 <pre class="literal-block">
122 &lt;upstream&gt;
123 &lt;maintainer&gt;
124 &lt;name&gt;Foo Bar&lt;/name&gt;
125 &lt;email&gt;foo&#64;bar.bar&lt;/email&gt;
126 &lt;/maintainer&gt;
127 &lt;changelog&gt;http://foo.bar/changelog.txt&lt;/changelog&gt;
128 &lt;bugs-to&gt;https://bugs.foo.bar&lt;/bugs-to&gt;
129 &lt;remote-id type=&quot;freshmeat&quot;&gt;12345&lt;/remote-id&gt;
130 &lt;remote-id type=&quot;sourceforge&quot;&gt;foobar&lt;/remote-id&gt;
131 &lt;/upstream&gt;
132 </pre>
133 </div>
134 <div class="section">
135 <h1><a class="toc-backref" href="#id5" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
136 <p>No changes are necessary to existing <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files. Information
137 in the new tags is not be mandatory. Any sane tool that currently
138 handles <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files will simply ignore unrecognised elements.</p>
139 </div>
140 <div class="section">
141 <h1><a class="toc-backref" href="#id6" id="copyright" name="copyright">Copyright</a></h1>
142 <p>This document has been placed in the public domain.</p>
143 <!-- vim: set ft=glep tw=72 : -->
144 </div>
146 </div>
147 <div class="footer">
148 <hr class="footer" />
149 <a class="reference" href="glep-0046.txt">View document source</a>.
150 Generated on: 2007-10-13 13:39 UTC.
151 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.
153 </div>
154 </body>
155 </html>

  ViewVC Help
Powered by ViewVC 1.1.20