Gentoo Archives: gentoo-portage-dev

From: Wim Muskee <wimmuskee@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [PATCH] repoman: add HOMEPAGE.missingurischeme check
Date: Sat, 07 Jan 2017 11:08:26
Message-Id: CAKzfqkcJa9w7eZ3pmF2m=N3j83SKXmk7OSiqXu3x6h3NLOpvqw@mail.gmail.com
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": (

Replies