am I doing this right?

X-Gentoo-Bug: 533554
X-Gentoo-Bug-URL: https://bugs.gentoo.org/533554
---
>From 6765f3ac1e77ce743d44f47c5dda79a573b8629c Mon Sep 17 00:00:00 2001
From: Wim Muskee <wimmus...@gmail.com>
Date: Sat, 7 Jan 2017 12:02:41 +0100
Subject: [PATCH] repoman: add HOMEPAGE.missingurischeme check

---
 repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py | 11 +++++++++--
 repoman/pym/repoman/qa_data.py                               |  2 ++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
index e991a30..3e2cea8 100644
--- a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
+++ b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
@@ -12,7 +12,7 @@
 from repoman.qa_data import missingvars

 NON_ASCII_RE = re.compile(r'[^\x00-\x7f]')
-
+URISCHEME_RE = re.compile(r'^[a-z\-]+://')

 class EbuildMetadata(ScanBase):

@@ -62,10 +62,17 @@ def virtual(self, **kwargs):
                                        self.qatracker.add_error(myqakey, 
ebuild.relative_path)
                return False

+       def homepage_urischeme(self, **kwargs):
+               ebuild = kwargs.get('ebuild').get()
+               if kwargs.get('catdir') != "virtual" and \
+                       URISCHEME_RE.match(ebuild.metadata.get("HOMEPAGE")) is 
None:
+                               
self.qatracker.add_error("HOMEPAGE.missingurischeme",
ebuild.relative_path )
+               return False
+
        @property
        def runInPkgs(self):
                return (False, [])

        @property
        def runInEbuilds(self):
-               return (True, [self.invalidchar, self.missing, self.old_virtual,
self.virtual])
+               return (True, [self.invalidchar, self.missing, self.old_virtual,
self.virtual, self.homepage_urischeme])
diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py
index c3f4207..29a95ab 100644
--- a/repoman/pym/repoman/qa_data.py
+++ b/repoman/pym/repoman/qa_data.py
@@ -115,6 +115,8 @@
                "Ebuilds that have a missing or empty HOMEPAGE variable"),
        "HOMEPAGE.virtual": (
                "Virtuals that have a non-empty HOMEPAGE variable"),
+       "HOMEPAGE.missingurischeme": (
+               "HOMEPAGE is missing an URI scheme"),
        "PDEPEND.suspect": (
                "PDEPEND contains a package that usually only belongs in 
DEPEND."),
        "LICENSE.syntax": (

Reply via email to