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

Replies