Currently a PKGBUILD warning is shown when the package depends on git
instead of makedepends on it. Since we also have the redundant_makedepends
rule we should not write it again in makedepends. This patch checkes depends
array too so this warning could be suppressed.
---
 Namcap/rules/makedepends.py               | 2 ++
 Namcap/tests/pkgbuild/test_makedepends.py | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/Namcap/rules/makedepends.py b/Namcap/rules/makedepends.py
index 53676c2..8b938a0 100644
--- a/Namcap/rules/makedepends.py
+++ b/Namcap/rules/makedepends.py
@@ -68,6 +68,8 @@ class VCSMakedepends(PkgbuildRule):
 
                for v in protocols:
                        d = vcs[v]
+                       if 'depends' in pkginfo and d in pkginfo["depends"]:
+                               continue
                        if 'makedepends' not in pkginfo:
                                missing.append(d)
                                continue
diff --git a/Namcap/tests/pkgbuild/test_makedepends.py 
b/Namcap/tests/pkgbuild/test_makedepends.py
index d443b2b..73a3ba2 100644
--- a/Namcap/tests/pkgbuild/test_makedepends.py
+++ b/Namcap/tests/pkgbuild/test_makedepends.py
@@ -111,4 +111,12 @@ package() {
                self.assertEqual(r.warnings, [])
                self.assertEqual(r.infos, [])
 
+       def test_example3(self):
+               # Example 3
+               r = self.run_on_pkg(self.pkgbuild1 + 'depends=(bzr git 
mercurial)')
+               self.assertEqual(r.errors, [])
+               self.assertEqual(r.warnings,
+                       [("missing-vcs-makedeps %s", 'subversion')])
+               self.assertEqual(r.infos, [])
+
 # vim: set ts=4 sw=4 noet:
-- 
2.25.1

Reply via email to