Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [RFC] metadata.xml changes related to improved checks
Date: Sat, 19 Mar 2016 13:10:23
Message-Id: 20160319140959.3603443b.mgorny@gentoo.org
1 Hello, everyone.
2
3 Since the GLEP 68 mail didn't bring much discussion, I would like to
4 point out explicitly a few things that might require some. They are
5 mostly listed in backwards compatibility section of the GLEP [1],
6 and they were caught by XML Schemas [2].
7
8 I would like to know your opinion on the problems and suggested
9 solutions. If there is agreement, I will proceed with either fixing
10 metadata.xml files whenever fixing it myself will be possible, or file
11 a bug whenever it will require maintainer's attention.
12
13
14 The most important issues are:
15
16 1. Upstream <maintainer/> entries were never allowed to use
17 <description/>. DTD wasn't able to enforce this but XML Schema is,
18 and so I'd like to officially start requiring this.
19
20 1a. In some cases, this is used to request CC-ing upstream maintainers
21 on bugs. I think that's a bad idea since people don't usually look at
22 upstream tags for such an information, and any automated assignment
23 tool will not even consider them. As an alternative, I'd copy upstream
24 maintainers to downstream maintainer entries with appropriate
25 description. This way, both bug-wranglers and any automated tool would
26 CC them reliably.
27
28 2. There are some <pkg/> elements being used along with slot
29 specifiers, USE dependencies and some more other weird stuff.
30 The <pkg/> element was intended to be used to allow cross-linking
31 descriptions to packages.gentoo.org, and as such supports only plain
32 qualified package name (to link to p.g.o page about the package
33 in question).
34
35 2a. For <pkg/> elements with slots specified, USE dependencies
36 and versions, I'd like to move the extra bits out of <pkg/>. For
37 example, <pkg>x11-libs/gtk+:3</pkg> -> <pkg>x11-libs/gtk+</pkg>:3,
38 <pkg>=app-foo/bar-1</pkg> -> =<pkg>app-foo/bar</pkg>-1.
39
40 2b. There's one case when <pkg/> contains wildcard like app-foo/bar-*
41 to reference multiple packages. Since this won't really work, I'd
42 remove <pkg/> tag there and leave it as plain text.
43
44 3. There are a few restrict="" uses along with USE dependencies
45 and slot dependencies. Since metadata.xml is not properly
46 EAPI-versioned, the most correct way would be to assume EAPI=0. I don't
47 see an obvious fix for most of the packages, so I guess I will file
48 bugs for all of them.
49
50 3a. Furthermore, USE dependencies depend on configuration, and as such
51 have limited machine processing capabilities (i.e. when assigning bugs
52 for ebuilds).
53
54 4. The <natural-name/> element is being removed. Over 1.5yr of its
55 existence, it was used only in 4 packages, and only to copy over PN in
56 different capitalization.
57
58 5. A few packages use multiple <bugs-to/> URLs. This element was
59 intended to be used at most once, e.g. to provide a 'file bug upstream'
60 link. Having multiple URLs is confusing, as we provide no clear
61 annotation on which to use. I will file bugs about packages that do
62 that.
63
64
65 Please let me know what you think about this.
66
67
68 [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:68#Known_incompatibilities
69 [2]:https://github.com/mgorny/gentoo-xml-schema
70
71 --
72 Best regards,
73 Michał Górny
74 <http://dev.gentoo.org/~mgorny/>