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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations) (download) (as text)
Sun Oct 14 17:00:15 2007 UTC (6 years, 10 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 ciaranm 1.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">
4 antarus 1.6
5 ciaranm 1.1 <head>
6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 ciaranm 1.2 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
8 ciaranm 1.1 <title>GLEP 46 -- Allow upstream tags in metadata.xml</title>
9 antarus 1.6 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
10 ciaranm 1.1 </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 antarus 1.6 [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
21 ciaranm 1.2 [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0046.txt">GLEP Source</a></b>]
22 ciaranm 1.1 </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 antarus 1.6 <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td>
32 ciaranm 1.1 </tr>
33 antarus 1.6 <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 ciaranm 1.1 </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 antarus 1.5 <tr class="field"><th class="field-name">Status:</th><td class="field-body">Deferred</td>
38 ciaranm 1.1 </tr>
39     <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
40     </tr>
41 ciaranm 1.2 <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 ciaranm 1.1 </tr>
43     <tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Dec-2005</td>
44     </tr>
45 ciaranm 1.2 <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">26-Dec-2005, 5-Mar-2006</td>
46     </tr>
47 ciaranm 1.1 </tbody>
48     </table>
49     <hr />
50 ciaranm 1.2 <div class="contents topic">
51     <p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
52 ciaranm 1.1 <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 ciaranm 1.2 <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 ciaranm 1.1 <p>This GLEP defines the following four tags for <tt class="docutils literal"><span class="pre">upstream</span></tt>:
96 ciaranm 1.2 <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 ciaranm 1.1 <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 ciaranm 1.2 <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 ciaranm 1.1 <pre class="literal-block">
122     &lt;upstream&gt;
123 ciaranm 1.2 &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 ciaranm 1.1 &lt;/upstream&gt;
132     </pre>
133     </div>
134 ciaranm 1.2 <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 ciaranm 1.1 </div>
140 ciaranm 1.2 <div class="section">
141     <h1><a class="toc-backref" href="#id6" id="copyright" name="copyright">Copyright</a></h1>
142 ciaranm 1.1 <p>This document has been placed in the public domain.</p>
143 ciaranm 1.2 <!-- vim: set ft=glep tw=72 : -->
144 ciaranm 1.1 </div>
145    
146     </div>
147     <div class="footer">
148     <hr class="footer" />
149     <a class="reference" href="glep-0046.txt">View document source</a>.
150 antarus 1.6 Generated on: 2007-10-13 13:39 UTC.
151 ciaranm 1.1 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.
152    
153     </div>
154     </body>
155     </html>

  ViewVC Help
Powered by ViewVC 1.1.20