1 |
Author: zmedico |
2 |
Date: 2009-01-10 10:14:17 +0000 (Sat, 10 Jan 2009) |
3 |
New Revision: 12413 |
4 |
|
5 |
Modified: |
6 |
main/trunk/bin/repoman |
7 |
main/trunk/man/repoman.1 |
8 |
Log: |
9 |
Add a new 'metadata.warning' category and a check which detects local USE |
10 |
descriptions that are not used in any ebuilds. Thanks to Markus Meier |
11 |
<maekke@g.o> for the initial patch. |
12 |
|
13 |
|
14 |
Modified: main/trunk/bin/repoman |
15 |
=================================================================== |
16 |
--- main/trunk/bin/repoman 2009-01-10 09:11:08 UTC (rev 12412) |
17 |
+++ main/trunk/bin/repoman 2009-01-10 10:14:17 UTC (rev 12413) |
18 |
@@ -315,6 +315,7 @@ |
19 |
"ebuild.badheader":"This ebuild has a malformed header", |
20 |
"metadata.missing":"Missing metadata.xml files", |
21 |
"metadata.bad":"Bad metadata.xml files", |
22 |
+ "metadata.warning":"Warnings in metadata.xml files", |
23 |
"virtual.versioned":"PROVIDE contains virtuals with versions", |
24 |
"virtual.exists":"PROVIDE contains existing package names", |
25 |
"virtual.unavailable":"PROVIDE contains a virtual which contains no profile default", |
26 |
@@ -351,6 +352,7 @@ |
27 |
"file.size", |
28 |
"inherit.autotools", |
29 |
"java.eclassesnotused", |
30 |
+"metadata.warning", |
31 |
"virtual.versioned", |
32 |
"virtual.exists", |
33 |
"virtual.unavailable", |
34 |
@@ -1063,11 +1065,14 @@ |
35 |
fails["metadata.bad"].append(x+"/metadata.xml") |
36 |
|
37 |
del metadata_bad |
38 |
+ muselist = frozenset(muselist) |
39 |
|
40 |
changelog_path = os.path.join(checkdir_relative, "ChangeLog") |
41 |
changelog_modified = changelog_path in modified_changelogs |
42 |
|
43 |
allmasked = True |
44 |
+ # detect unused local USE-descriptions |
45 |
+ used_useflags = set() |
46 |
|
47 |
for y in ebuildlist: |
48 |
relative_path = os.path.join(x, y + ".ebuild") |
49 |
@@ -1368,6 +1373,7 @@ |
50 |
default_use.append(myflag) |
51 |
if flag_name not in uselist: |
52 |
myuse.append(flag_name) |
53 |
+ used_useflags.update(myuse) |
54 |
|
55 |
# uselist checks - metadata |
56 |
for mypos in range(len(myuse)-1,-1,-1): |
57 |
@@ -1576,6 +1582,12 @@ |
58 |
stats["ebuild.allmasked"]+=1 |
59 |
fails["ebuild.allmasked"].append(x) |
60 |
|
61 |
+ # check if there are unused local USE-descriptions in metadata.xml |
62 |
+ for myflag in muselist.difference(used_useflags): |
63 |
+ stats["metadata.warning"] += 1 |
64 |
+ fails["metadata.warning"].append( |
65 |
+ "unused local USE-description: '%s'" % myflag) |
66 |
+ |
67 |
if options.mode == "manifest": |
68 |
sys.exit(dofail) |
69 |
|
70 |
|
71 |
Modified: main/trunk/man/repoman.1 |
72 |
=================================================================== |
73 |
--- main/trunk/man/repoman.1 2009-01-10 09:11:08 UTC (rev 12412) |
74 |
+++ main/trunk/man/repoman.1 2009-01-10 10:14:17 UTC (rev 12413) |
75 |
@@ -263,6 +263,9 @@ |
76 |
.B metadata.missing |
77 |
Missing metadata.xml files |
78 |
.TP |
79 |
+.B metadata.warning |
80 |
+Warnings in metadata.xml files |
81 |
+.TP |
82 |
.B upstream.workaround |
83 |
The ebuild works around an upstream bug, an upstream bug should be filed and |
84 |
tracked in bugs.gentoo.org |