1 |
am I doing this right? |
2 |
|
3 |
X-Gentoo-Bug: 533554 |
4 |
X-Gentoo-Bug-URL: https://bugs.gentoo.org/533554 |
5 |
--- |
6 |
From 6765f3ac1e77ce743d44f47c5dda79a573b8629c Mon Sep 17 00:00:00 2001 |
7 |
From: Wim Muskee <wimmuskee@×××××.com> |
8 |
Date: Sat, 7 Jan 2017 12:02:41 +0100 |
9 |
Subject: [PATCH] repoman: add HOMEPAGE.missingurischeme check |
10 |
|
11 |
--- |
12 |
repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py | 11 +++++++++-- |
13 |
repoman/pym/repoman/qa_data.py | 2 ++ |
14 |
2 files changed, 11 insertions(+), 2 deletions(-) |
15 |
|
16 |
diff --git a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
17 |
b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
18 |
index e991a30..3e2cea8 100644 |
19 |
--- a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
20 |
+++ b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
21 |
@@ -12,7 +12,7 @@ |
22 |
from repoman.qa_data import missingvars |
23 |
|
24 |
NON_ASCII_RE = re.compile(r'[^\x00-\x7f]') |
25 |
- |
26 |
+URISCHEME_RE = re.compile(r'^[a-z\-]+://') |
27 |
|
28 |
class EbuildMetadata(ScanBase): |
29 |
|
30 |
@@ -62,10 +62,17 @@ def virtual(self, **kwargs): |
31 |
self.qatracker.add_error(myqakey, ebuild.relative_path) |
32 |
return False |
33 |
|
34 |
+ def homepage_urischeme(self, **kwargs): |
35 |
+ ebuild = kwargs.get('ebuild').get() |
36 |
+ if kwargs.get('catdir') != "virtual" and \ |
37 |
+ URISCHEME_RE.match(ebuild.metadata.get("HOMEPAGE")) is None: |
38 |
+ self.qatracker.add_error("HOMEPAGE.missingurischeme", |
39 |
ebuild.relative_path ) |
40 |
+ return False |
41 |
+ |
42 |
@property |
43 |
def runInPkgs(self): |
44 |
return (False, []) |
45 |
|
46 |
@property |
47 |
def runInEbuilds(self): |
48 |
- return (True, [self.invalidchar, self.missing, self.old_virtual, |
49 |
self.virtual]) |
50 |
+ return (True, [self.invalidchar, self.missing, self.old_virtual, |
51 |
self.virtual, self.homepage_urischeme]) |
52 |
diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py |
53 |
index c3f4207..29a95ab 100644 |
54 |
--- a/repoman/pym/repoman/qa_data.py |
55 |
+++ b/repoman/pym/repoman/qa_data.py |
56 |
@@ -115,6 +115,8 @@ |
57 |
"Ebuilds that have a missing or empty HOMEPAGE variable"), |
58 |
"HOMEPAGE.virtual": ( |
59 |
"Virtuals that have a non-empty HOMEPAGE variable"), |
60 |
+ "HOMEPAGE.missingurischeme": ( |
61 |
+ "HOMEPAGE is missing an URI scheme"), |
62 |
"PDEPEND.suspect": ( |
63 |
"PDEPEND contains a package that usually only belongs in DEPEND."), |
64 |
"LICENSE.syntax": ( |