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