Gentoo Archives: gentoo-dev

From: "Göktürk Yüksek" <gokturk@××××××××××.edu>
To: devmanual@g.o
Cc: gentoo-dev@l.g.o
Subject: [gentoo-dev] [PATCH v1 3/3] ebuild-writing/misc-files/metadata: rewrite the section per GLEP 67 #572144
Date: Mon, 04 Apr 2016 04:36:06
Message-Id: 1459744469-21780-4-git-send-email-gokturk@binghamton.edu
In Reply to: [gentoo-dev] [PATCH v1 0/3] devmanual: update the docs per GLEP 67 by "Göktürk Yüksek"
1 A major rewrite of the section. Here is a brief summary of changes:
2 - Remove the information about the <herd> tag per GLEP 67
3 - Restructure the section in the following order:
4 - metadata.xml syntax
5 - package metadata
6 - metadata examples
7 - maintainer-needed
8 - category metadata
9 - Update the tables for metadata.xml syntax per GLEP 67
10 - Rewrite the package metadata examples to reflect better on GLEP 67
11 and enhance with more explanations
12 - Assign meaningful titles to package metadata examples instead of
13 using "First Example", "Second Example" etc.
14 - Add a subsection for handling maintainer-needed in metadata.xml
15 per GLEP 67 and provide an example
16
17 This commit also makes #549490 obsolete.
18
19 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=572144
20 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=549490
21 Signed-off-by: Göktürk Yüksek <gokturk@××××××××××.edu>
22 ---
23 ebuild-writing/misc-files/metadata/text.xml | 408 ++++++++++++++++------------
24 1 file changed, 227 insertions(+), 181 deletions(-)
25
26 diff --git a/ebuild-writing/misc-files/metadata/text.xml b/ebuild-writing/misc-files/metadata/text.xml
27 index 2324f53..9d0dc19 100644
28 --- a/ebuild-writing/misc-files/metadata/text.xml
29 +++ b/ebuild-writing/misc-files/metadata/text.xml
30 @@ -10,20 +10,13 @@ package or category.
31 </p>
32
33 <section>
34 -<title>Package Metadata</title>
35 -<body>
36 -<p>
37 -For packages, <c>metadata.xml</c> can specify a long description and
38 -maintainer information. If a long description in any language is
39 -provided, an English long description must be present. A typical
40 -example might look like:
41 -</p>
42 -
43 -<subsection>
44 +<title>Syntax</title>
45 <body>
46
47 <p>
48 -A <path>metadata.xml</path> file can contain a number of tags:
49 +A metadata file follows the syntax defined in
50 +<uri link="https://www.gentoo.org/dtd/metadata.dtd">
51 +metadata.dtd</uri> and can contain a number of tags:
52 </p>
53
54 <table>
55 @@ -39,13 +32,10 @@ A <path>metadata.xml</path> file can contain a number of tags:
56 This is the root element of the <path>metadata.xml</path> file for
57 packages. It has no attributes. The following subtags are
58 allowed:
59 - <brite>&lt;herd&gt;</brite>,
60 <brite>&lt;maintainer&gt;</brite>,
61 <brite>&lt;longdescription&gt;</brite>,
62 <brite>&lt;use&gt;</brite>, and
63 <brite>&lt;upstream&gt;</brite>.
64 - There should be at least one <brite>&lt;herd&gt;</brite> or
65 - <brite>&lt;maintainer&gt;</brite> subtag.
66 </ti>
67 </tr>
68 <tr>
69 @@ -62,26 +52,21 @@ A <path>metadata.xml</path> file can contain a number of tags:
70 </tr>
71 <tr>
72 <ti>
73 - <brite>&lt;herd&gt;</brite>
74 - </ti>
75 - <ti>
76 - If a package is maintained by one or more herds, names of these herds
77 - can be specified with the <brite>&lt;herd&gt;</brite> tag. The names
78 - used in this tag must be the same as specified in the <uri
79 - link="https://sources.gentoo.org/viewcvs.py/*checkout*/gentoo/xml/htdocs/proj/en/metastructure/herds/herds.xml?content-type=text/plain&amp;rev=HEAD">herds.xml</uri>
80 - file.
81 - </ti>
82 -</tr>
83 -<tr>
84 - <ti>
85 <brite>&lt;maintainer&gt;</brite>
86 </ti>
87 <ti>
88 - Besides being part of a herd, a package can also be maintained directly.
89 - The maintainers of a package can be specified with the
90 - <brite>&lt;maintainer&gt;</brite> tag. This tag has one required subtag:
91 + This tag specifies the persons and/or projects responsible for
92 + the maintenance of a package. A package may contain zero or more
93 + <brite>&lt;maintainer&gt;</brite> tags. The <c>type</c> attribute must
94 + be specified and can be either <c>"person"</c> or
95 + <c>"project"</c>. There is one required subtag:
96 <brite>&lt;email&gt;</brite>. It has two optional subtags:
97 - <brite>&lt;name&gt;</brite>, and <brite>&lt;description&gt;</brite>.
98 + <brite>&lt;name&gt;</brite> and
99 + <brite>&lt;description&gt;</brite>. Unless specified otherwise, the
100 + maintainer who is listed in the metadata first shall be the
101 + assignee for the bugs for that package as per
102 + <uri link="https://wiki.gentoo.org/wiki/GLEP:67#Bug_assignment">
103 + GLEP 67</uri>.
104 </ti>
105 </tr>
106 <tr>
107 @@ -108,7 +93,9 @@ A <path>metadata.xml</path> file can contain a number of tags:
108 <ti><brite>&lt;longdescription&gt;</brite></ti>
109 <ti>
110 This tag contains a description of the package. This is to augment the
111 - DESCRIPTION field in the ebuilds themselves. This tag has two optional
112 + DESCRIPTION field in the ebuilds themselves. If a long description
113 + in any language is provided, an English long description must be
114 + present. This tag has two optional
115 subtags: <brite>&lt;pkg&gt;</brite> and <brite>&lt;cat&gt;</brite>.
116 </ti>
117 </tr>
118 @@ -207,8 +194,7 @@ A <path>metadata.xml</path> file can contain a number of tags:
119 </table>
120
121 <p>
122 -There are also some attributes that can be used with these tags. They are all
123 -optional:
124 +There are also some attributes that can be used with these tags:
125 </p>
126
127 <table>
128 @@ -235,7 +221,7 @@ optional:
129 <tr>
130 <ti>restrict</ti>
131 <ti>
132 - <brite>&lt;herd&gt;</brite>, <brite>&lt;maintainer&gt;</brite>,
133 + <brite>&lt;maintainer&gt;</brite>,
134 <brite>&lt;longdescription&gt;</brite>, <brite>&lt;flag&gt;</brite>
135 </ti>
136 <ti>
137 @@ -244,12 +230,7 @@ optional:
138 without this attribute must also exist. That tag without the restrict
139 attribute will serve as the default. The format of the restrict attribute
140 is that of the DEPEND flag, except that "&lt;" and
141 - "&gt;" need to be specified by &amp;lt; and &amp;gt;.<br />
142 - <br />
143 - For example, in the <c>sys-libs/db</c> package,
144 - <c>restrict="&amp;gt;=sys-libs/db-3.2.9-r5"</c> on the
145 - <brite>maintainer</brite> tag shows that I'm currently maintaining all
146 - versions greater then 3.2.9-r5.
147 + "&gt;" need to be specified by "&amp;lt;" and "&amp;gt;".
148 </ti>
149 </tr>
150 <tr>
151 @@ -286,208 +267,273 @@ optional:
152 Developers should email the gentoo-dev mailing list before using a new type value.
153 </ti>
154 </tr>
155 +<tr>
156 + <ti>type</ti>
157 + <ti>
158 + <brite>&lt;maintainer&gt;</brite>
159 + </ti>
160 + <ti>
161 + Defines the type of the maintainer for a package. There are only
162 + two valid values: "person" and "project". The latter denotes an
163 + official <uri link="::general-concepts/herds-and-projects">
164 + Gentoo project</uri>.
165 + </ti>
166 +</tr>
167
168 </table>
169
170 </body>
171 -</subsection>
172 -
173 -</body>
174 </section>
175 -
176 <section>
177 -<title>Metadata Examples</title>
178 +<title>Package Metadata</title>
179 +<body>
180 +<p>
181 +All packages <b>must</b> include a <c>metadata.xml</c> file which
182 +provides information about package description, maintainers, local USE
183 +flags, upstream etc.
184 +</p>
185 +
186 +<p>
187 +For developers' convenience, a skeleton file is provided in the
188 +Gentoo tree with the name
189 +<uri link="https://gitweb.gentoo.org/repo/gentoo.git/tree/skel.metadata.xml">
190 +skel.metadata.xml</uri>. The metadata file can also be created
191 +using the <c>app-portage/metagen</c> tool.
192 +</p>
193 +
194 +<p>
195 +Commits of package metadata files are handled by <c>repoman</c>. In
196 +order for metadata checks to be performed, <c>dev-libs/libxml2</c>
197 +must be installed on the system.
198 +</p>
199 +
200 <subsection>
201 -<title>First Example</title>
202 +<title>Package Metadata Examples</title>
203 +<body>
204 +
205 +<p>
206 +In the following sections, various examples of metadata.xml are
207 +provided. These examples are based on actual package metadata files to
208 +keep things as realistic as possible. However, they may not include
209 +these files verbatim and should be taken as hypothetical examples.
210 +</p>
211 +
212 +<subsubsection>
213 +<title>Projects as Maintainers</title>
214 <body>
215
216 <p>
217 -In this first example we provide you with the <path>metadata.xml</path> for
218 -OpenOffice of which the ebuilds are completely managed by a herd called
219 -<c>openoffice</c>:
220 +For the first example, a package maintained by a single project is
221 +presented. It is a simplified version of <path>metadata.xml</path> for
222 +the package <c>app-office/libreoffice</c>. The package maintainer is
223 +identified by the email address <c>office@g.o</c> with the name
224 +<c>Gentoo Office Project</c> as specified in the optional &lt;name&gt;
225 +subtag. It also provides a long package description.
226 </p>
227
228 <codesample lang="sgml">
229 -&lt;?xml version='1.0' encoding='UTF-8'?&gt;
230 -&lt;!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"&gt;
231 +&lt;?xml version="1.0" encoding="UTF-8"?&gt;
232 +&lt;!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"&gt;
233 &lt;pkgmetadata&gt;
234 - &lt;herd&gt;openoffice&lt;/herd&gt;
235 + &lt;maintainer type="project"&gt;
236 + &lt;email&gt;office@g.o&lt;/email&gt;
237 + &lt;name&gt;Gentoo Office Project&lt;/name&gt;
238 + &lt;/maintainer&gt;
239 &lt;longdescription&gt;
240 - OpenOffice is the opensource version of staroffice.
241 - This ebuild allows you to compile it yourself. Unfortunately this
242 - compilation can take up to a day depending on the speed of your
243 - computer. It will however make a snappier openoffice than the binary
244 - version.
245 + LibreOffice is the successor of OpenOffice.org. This ebuild
246 + allows you to compile it yourself. Unfortunately this compilation can
247 + take up to a day depending on the speed of your computer. It will
248 + however make a snappier LibreOffice than the binary version
249 &lt;/longdescription&gt;
250 &lt;/pkgmetadata&gt;
251 </codesample>
252
253 <p>
254 -The <c>openoffice</c> herd is defined in <path>herds.xml</path> by the
255 -<uri link="https://www.gentoo.org/proj/en/metastructure">Gentoo Metastructure Project</uri>:
256 +The email address <c>office@g.o</c> corresponds to the
257 +<c>Gentoo Office Project</c> as defined in
258 +<uri link="https://api.gentoo.org/metastructure/projects.xml">
259 +projects.xml</uri>. This file lists all the projects in Gentoo and it
260 +is generated from the
261 +<uri link="https://wiki.gentoo.org/wiki/Project:Gentoo">
262 +projects listing</uri> available on the Gentoo Wiki:
263 </p>
264
265 -<note>
266 -This example may be outdated when you read it. It's just an example!
267 -</note>
268 -
269 <codesample lang="sgml">
270 -&lt;herd&gt;
271 - &lt;name&gt;openoffice&lt;/name&gt;
272 - &lt;email&gt;openoffice@g.o&lt;/email&gt;
273 - &lt;description&gt;Openoffice related packages&lt;/description&gt;
274 - &lt;maintainer&gt;&lt;email&gt;pauldv@g.o&lt;/email&gt;&lt;/maintainer&gt;
275 - &lt;maintainer&gt;&lt;email&gt;suka@g.o&lt;/email&gt;&lt;/maintainer&gt;
276 -&lt;/herd&gt;
277 +&lt;project&gt;
278 + &lt;email&gt;office@g.o&lt;/email&gt;
279 + &lt;name&gt;Gentoo Office Project&lt;/name&gt;
280 + &lt;url&gt;https://wiki.gentoo.org/wiki/Project:Office&lt;/url&gt;
281 + &lt;description&gt;
282 + The Office project manages the office implementations
283 + and related packages in Gentoo.
284 + &lt;/description&gt;
285 + &lt;member&gt;
286 + &lt;email&gt;dilfridge@g.o&lt;/email&gt;
287 + &lt;name&gt;Andreas K. Hüttel&lt;/name&gt;
288 + &lt;role&gt;member&lt;/role&gt;
289 + &lt;/member&gt;
290 + &lt;member&gt;
291 + &lt;email&gt;scarabeus@g.o&lt;/email&gt;
292 + &lt;name&gt;Tomáš Chvátal&lt;/name&gt;
293 + &lt;role&gt;member&lt;/role&gt;
294 + &lt;/member&gt;
295 +&lt;/project&gt;
296 </codesample>
297
298 -<p>
299 -If you want to add (or remove) yourself from a herd, edit <path>herds.xml</path>
300 -located in <path>[gentoo]/xml/htdocs/proj/en/metastructure/herds</path> in Gentoo's CVS repository. Make sure you
301 -know the e-mail alias the herd listens to (for instance the "sound" herd has
302 -<mail link="sound@g.o">sound@g.o</mail>) and add yourself to the
303 -alias (by editing <path>/var/mail/alias/misc/&lt;alias name&gt;</path> on
304 -dev.gentoo.org).
305 -</p>
306 -
307 </body>
308 -</subsection>
309 -<subsection>
310 -<title>Second Example</title>
311 +</subsubsection>
312 +<subsubsection>
313 +<title>Local USE Flag Descriptions</title>
314 <body>
315
316 <p>
317 -For the second example, we will examine the <path>metadata.xml</path> of
318 -<c>app-portage/mirrorselect</c>. This ebuild is maintained by the
319 -<c>tools-portage</c> herd, but has a separate maintainer.
320 +The second example is formed after the <path>metadata.xml</path> of
321 +<c>sys-apps/portage</c>. It lists multiple maintainers where one is a
322 +developer and the other is a project. It illustrates how local USE
323 +flag descriptions are specified and also contains an upstream
324 +element. It is also worth pointing out the use of <c>mailto:</c>
325 +prefix in &lt;bugs-to&gt; tag due to the presence of an email address
326 +as opposed to a URL. Conversely, email addresses specified in the
327 +&lt;email&gt; tags require no such prefix.
328 </p>
329
330 <codesample lang="sgml">
331 -&lt;?xml version='1.0' encoding='UTF-8'?&gt;
332 -&lt;!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"&gt;
333 +&lt;?xml version="1.0" encoding="UTF-8"?&gt;
334 +&lt;!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"&gt;
335 &lt;pkgmetadata&gt;
336 - &lt;herd&gt;tools-portage&lt;/herd&gt;
337 - &lt;maintainer&gt;
338 - &lt;email&gt;johnm@g.o&lt;/email&gt;
339 - &lt;name&gt;John Mylchreest&lt;/name&gt;
340 + &lt;upstream&gt;
341 + &lt;bugs-to&gt;mailto:dev-portage@g.o&lt;/bugs-to&gt;
342 + &lt;changelog&gt;https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES&lt;/changelog&gt;
343 + &lt;doc&gt;https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage&lt;/doc&gt;
344 + &lt;/upstream&gt;
345 + &lt;maintainer type="person"&gt;
346 + &lt;email&gt;larry@g.o&lt;/email&gt;
347 + &lt;name&gt;Larry the Cow&lt;/name&gt;
348 &lt;/maintainer&gt;
349 - &lt;longdescription&gt;
350 - This utility is used to select the fastest mirror (distfiles) and provide a
351 - nicer front-end for mirror selection (both rsync + distfiles) to a user.
352 - &lt;/longdescription&gt;
353 + &lt;maintainer type="project"&gt;
354 + &lt;email&gt;dev-portage@g.o&lt;/email&gt;
355 + &lt;/maintainer&gt;
356 + &lt;use&gt;
357 + &lt;flag name="epydoc"&gt;Build html API documentation with epydoc.&lt;/flag&gt;
358 + &lt;flag name="ipc"&gt;Use inter-process communication between portage and running ebuilds.&lt;/flag&gt;
359 + &lt;flag name="pypy2_0"&gt;Use pypy-c2.0 as Python interpreter.&lt;/flag&gt;
360 + &lt;flag name="python2"&gt;Use python2 as Python interpreter.&lt;/flag&gt;
361 + &lt;flag name="python3"&gt;Use python3 as Python interpreter.&lt;/flag&gt;
362 + &lt;flag name="xattr"&gt;
363 + Preserve extended attributes (filesystem-stored metadata) when
364 + installing files. Usually only required for hardened systems.
365 + &lt;/flag&gt;
366 + &lt;/use&gt;
367 &lt;/pkgmetadata&gt;
368 </codesample>
369
370 </body>
371 -</subsection>
372 -<subsection>
373 -<title>Third Example</title>
374 +</subsubsection>
375 +<subsubsection>
376 +<title>Split Maintainership</title>
377 <body>
378
379 <p>
380 -For the third example, we will describe the <path>metadata.xml</path> of
381 -<c>sys-apps/hal</c>. This ebuild is maintained by the <c>gentopia</c> herd
382 -and contains USE flag descriptions.
383 +This example splits the maintainership based on package versions using
384 +the attribute <c>restrict</c>. According to the
385 +<path>metadata.xml</path> of <c>sys-boot/grub</c>, the ebuilds for
386 +version 2 and above are maintained by floppym@g.o whereas
387 +earlier versions are maintained by the Gentoo Base System
388 +project. Note the use of "&amp;gt;" as opposed to "&gt;" in
389 +<c>restrict</c>. The example also uses the &lt;pkg&gt; tag in USE flag
390 +descriptions and the &lt;remote-id&gt; tag in the upstream
391 +description.
392 </p>
393
394 <codesample lang="sgml">
395 -&lt;?xml version="1.0" encoding="UTF-8"&gt;
396 -&lt;!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"&gt;
397 +&lt;?xml version="1.0" encoding="UTF-8"?&gt;
398 +&lt;!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"&gt;
399 &lt;pkgmetadata&gt;
400 -&lt;herd&gt;gentopia&lt;/herd&gt;
401 -&lt;maintainer&gt;
402 - &lt;email&gt;compnerd@g.o&lt;/email&gt;
403 -&lt;/maintainer&gt;
404 -&lt;maintainer&gt;
405 - &lt;email&gt;steev@g.o&lt;/email&gt;
406 -&lt;/maintainer&gt;
407 -&lt;use&gt;
408 - &lt;flag name='acpi'&gt;Enables HAL to attempt to read from
409 - /proc/acpi/event, if unavailable, HAL will read events from
410 - &lt;pkg&gt;sys-power/acpid&lt;/pkg&gt;. If you need multiple acpi
411 - readers, ensure acpid is in your default runlevel along with HAL. This
412 - will also enable HAL to read Toshia and IBM acpi events which do not
413 - get sent via /proc/acpi/event&lt;/flag&gt;
414 - &lt;flag name='crypt'&gt;Allows HAL to mount volumes that are encrypted using
415 - LUKS. &lt;pkg&gt;sys-fs/cryptsetup-luks&lt;/pkg&gt; which has recently been renamed
416 - to &lt;pkg&gt;sys-fs/cryptsetup&lt;/pkg&gt; allows you to create such encrypted
417 - volumes. HAL will be able to handle volumes that are removable or
418 - fixed.&lt;/flag&gt;
419 - &lt;flag name='dell'&gt;Builds an installs the Dell addon, which reads data from
420 - the Dell SM BIOS via &lt;pkg&gt;sys-libs/libsmbios&lt;/pkg&gt;. It will read your
421 - service tag information and your hardware backlight data as well as
422 - allow you to modify the backlight settings on a Dell laptop.&lt;/flag&gt;
423 - &lt;flag name='disk-partition'&gt;Allows HAL to use libparted from
424 - &lt;pkg&gt;sys-apps/parted&lt;/pkg&gt; to read raw partition data from your disks
425 - and process that data. Future versions of HAL (possibly 0.5.11 and
426 - higher) will allow you to create, modify, delete and format partitions
427 - from a GUI interface agnostic of your desktop environment.&lt;/flag&gt;
428 - &lt;flag name='doc'&gt;Generates documentation that describes HAL's fdi
429 - format.&lt;/flag&gt;
430 - &lt;flag name='pcmcia'&gt;Allows HAL to process PCMCIA/CardBus slot data which
431 - includes inserts and removals and act on these events.&lt;/flag&gt;
432 - &lt;flag name='selinux'&gt;Installs SELinux policies and links HAL to the SELinux
433 - libraries.&lt;/flag&gt;
434 -&lt;/use&gt;
435 + &lt;maintainer restrict="&amp;gt;=sys-boot/grub-2" type="person"&gt;
436 + &lt;email&gt;floppym@g.o&lt;/email&gt;
437 + &lt;/maintainer&gt;
438 + &lt;maintainer type="project"&gt;
439 + &lt;email&gt;base-system@g.o&lt;/email&gt;
440 + &lt;name&gt;Gentoo Base System&lt;/name&gt;
441 + &lt;/maintainer&gt;
442 + &lt;use&gt;
443 + &lt;flag name="device-mapper"&gt;
444 + Enable support for device-mapper from &lt;pkg&gt;sys-fs/lvm2&lt;/pkg&gt;
445 + &lt;/flag&gt;
446 + &lt;flag name="efiemu"&gt;
447 + Build and install the efiemu runtimes
448 + &lt;/flag&gt;
449 + &lt;flag name="fonts"&gt;Build and install fonts for the gfxterm module&lt;/flag&gt;
450 + &lt;flag name="mount"&gt;
451 + Build and install the grub-mount utility
452 + &lt;/flag&gt;
453 + &lt;flag name="libzfs"&gt;
454 + Enable support for &lt;pkg&gt;sys-fs/zfs&lt;/pkg&gt;
455 + &lt;/flag&gt;
456 + &lt;flag name="multislot"&gt;
457 + Allow concurrent installation of &lt;pkg&gt;sys-boot/grub:0&lt;/pkg&gt; and
458 + &lt;pkg&gt;sys-boot/grub:2&lt;/pkg&gt; by renaming all programs.
459 + &lt;/flag&gt;
460 + &lt;flag name="themes"&gt;Build and install GRUB themes (starfield)&lt;/flag&gt;
461 + &lt;flag name="truetype"&gt;
462 + Build and install grub-mkfont conversion utility
463 + &lt;/flag&gt;
464 + &lt;/use&gt;
465 + &lt;upstream&gt;
466 + &lt;remote-id type="sourceforge"&gt;dejavu&lt;/remote-id&gt;
467 + &lt;/upstream&gt;
468 &lt;/pkgmetadata&gt;
469 </codesample>
470
471 </body>
472 +</subsubsection>
473 +</body>
474 </subsection>
475 <subsection>
476 -<title>Fourth Example</title>
477 +<title>Maintainer-Needed</title>
478 <body>
479
480 <p>
481 -This example demonstrates the usage of the upstream element:
482 +Maintainer-needed, or orphaned, packages have no maintainers
483 +responsible for them. Per
484 +<uri link="https://wiki.gentoo.org/wiki/GLEP:67#Case_of_maintainer-needed_packages">
485 +GLEP 67</uri>, these packages must not contain any &lt;maintainer&gt;
486 +subtags under &lt;pkgmetadata&gt; in their <c>metadata.xml</c>. By
487 +convention, a comment line containing the string "maintainer-needed"
488 +is inserted. Other tags which are relevant to the package may be
489 +present in the metadata. Bugs for these packages must be assigned to
490 +<c>maintainer-needed@g.o</c>. The QA team periodically generates the
491 +<uri link="https://qa-reports.gentoo.org/output/maintainer-needed.html">
492 +orphaned packages list</uri> along with their corresponding bugs as
493 +part of the QA reports.
494 </p>
495
496 <codesample lang="sgml">
497 -&lt;upstream&gt;
498 - &lt;maintainer status="inactive"&gt;
499 - &lt;email&gt;foo@×××.bar&lt;/email&gt;
500 - &lt;name&gt;Foo Bar&lt;/name&gt;
501 - &lt;/maintainer&gt;
502 - &lt;maintainer status="active"&gt;
503 - &lt;email&gt;foo@g.o&lt;/email&gt;
504 - &lt;name&gt;Foo Gentoo&lt;/name&gt;
505 - &lt;/maintainer&gt;
506 - &lt;changelog&gt;http://foo.bar/changelog.txt&lt;/changelog&gt;
507 - &lt;doc lang="en"&gt;http://foo.bar/doc/index.html&lt;/doc&gt;
508 - &lt;doc lang="de"&gt;http://foo.bar/doc/index.de.html&lt;/doc&gt;
509 - &lt;bugs-to&gt;https://bugs.foo.bar&lt;/bugs-to&gt;
510 - &lt;remote-id type="freshmeat"&gt;foobar&lt;/remote-id&gt;
511 - &lt;remote-id type="sourceforge"&gt;foobar&lt;/remote-id&gt;
512 -&lt;/upstream&gt;
513 +&lt;?xml version="1.0" encoding="UTF-8"?&gt;
514 +&lt;!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"&gt;
515 +&lt;pkgmetadata&gt;
516 + &lt;!-- maintainer-needed --&gt;
517 + &lt;upstream&gt;
518 + &lt;maintainer status="active"&gt;
519 + &lt;email&gt;rasmus@××××××××.edu&lt;/email&gt;
520 + &lt;name&gt;Matt Rasmussen&lt;/name&gt;
521 + &lt;/maintainer&gt;
522 + &lt;doc lang="en"&gt;http://keepnote.org/manual/&lt;/doc&gt;
523 + &lt;bugs-to&gt;https://code.google.com/p/keepnote/issues/list&lt;/bugs-to&gt;
524 + &lt;/upstream&gt;
525 + &lt;longdescription lang="en"&gt;
526 + KeepNote is a note taking application. With KeepNote, you can
527 + store your class notes, TODO lists, research notes, journal entries,
528 + paper outlines, etc in a simple notebook hierarchy with rich-text
529 + formatting, images, and more. Using full-text search, you can
530 + retrieve any note for later reference.
531 + &lt;/longdescription&gt;
532 +&lt;/pkgmetadata&gt;
533 </codesample>
534
535 </body>
536 </subsection>
537 -
538 -
539 -<p>
540 -All new packages <b>must</b> include a <c>metadata.xml</c> file. That file
541 -should specify at least one herd or one maintainer. It is however recommended,
542 -if at all possible, to find a herd willing to be listed.
543 -</p>
544 -
545 -<p>
546 -If a package has no maintainer, <c>maintainer-needed@g.o</c>
547 -should be listed as the maintainer.
548 -</p>
549 -
550 -<p>
551 -To easily create <c>metadata.xml </c>files, you can use
552 -<c>app-portage/metagen</c>. There is also a skeleton file, see
553 -<c>/usr/portage/skel.metadata.xml</c>.
554 -</p>
555 -
556 -<p>
557 -Commits of package metadata files are handled by <c>repoman</c>. You
558 -should ensure that you have <c>dev-libs/libxml2</c> installed so that
559 -the XML can be validated.
560 -</p>
561 -
562 +</body>
563 </section>
564
565 <section>
566 --
567 2.7.3

Replies

Subject Author
Re: [gentoo-dev] [PATCH v1 3/3] ebuild-writing/misc-files/metadata: rewrite the section per GLEP 67 #572144 "Göktürk Yüksek" <gokturk@××××××××××.edu>