Skip to contentSkip to conversation

oe-selftest: add a test for recipes without maintainers

PATCH New Alexander Kanavin 1 participant 4 messages Jan 4, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 oe-selftest: add a test for recipes without maintainers

'bitbake -c checkpkg world' is moved to class initializer to avoid it being run twice in a row.

---
 meta/lib/oeqa/selftest/cases/distrodata.py | 32 +++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)
meta/lib/oeqa/selftest/cases/distrodata.py +27 -5
index 12540adc7d8..cf8b4a21763 100644
@@ -9,6 +9,12 @@ class Distrodata(OESelftestTestCase):
     @classmethod
     def setUpClass(cls):
         super(Distrodata, cls).setUpClass()
+        feature = 'INHERIT += "distrodata"\n'
+        feature += 'LICENSE_FLAGS_WHITELIST += " commercial"\n'
+
+        cls.write_config(cls, feature)
+        bitbake('-c checkpkg world')
+
 
     @OETestID(1902)
     def test_checkpkg(self):
@@ -18,11 +24,6 @@ class Distrodata(OESelftestTestCase):
         Product:     oe-core
         Author:      Alexander Kanavin <[email protected]>
         """
-        feature = 'INHERIT += "distrodata"\n'
-        feature += 'LICENSE_FLAGS_WHITELIST += " commercial"\n'
-
-        self.write_config(feature)
-        bitbake('-c checkpkg world')
         checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:]
         regressed_failures = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == 'UNKNOWN_BROKEN']
         regressed_successes = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == 'KNOWN_BROKEN']
@@ -40,3 +41,24 @@ The following packages have been checked successfully for upstream versions,
 but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please remove that line from the recipes.
 """ + "\n".join(regressed_successes)
         self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)
+
+    def test_maintainers(self):
+        """
+        Summary:     Test that recipes have a maintainer
+        Expected:    All recipes (except a few special static/testing ones) should have a maintainer listed in maintainers.inc file.
+        Product:     oe-core
+        Author:      Alexander Kanavin <[email protected]>
+        """
+        def is_exception(pkg):
+            exceptions = ["packagegroup-", "initramfs-", "systemd-machine-units", "container-image-testpkg", "postinst", "devtool-test-", "selftest-ed"]
+            for i in exceptions:
+                 if i in pkg:
+                     return True
+            return False
+
+        checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:]
+        no_maintainer_list = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[14] == '' and not is_exception(pkg_data[0])]
+        msg = """
+The following packages do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file.
+""" + "\n".join(no_maintainer_list)
+        self.assertTrue(len(no_maintainer_list) == 0, msg)
Signature · 1 line
2.15.1
#1 lore raw

PATCH 2/4 maintainers.inc: remove python recipes no longer provided in oe-core

---
 meta/conf/distro/include/maintainers.inc | 17 -----------------
 1 file changed, 17 deletions(-)
meta/conf/distro/include/maintainers.inc +0 -17
index 87b80cb97a3..5f9b796f801 100644
@@ -600,31 +600,14 @@ RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen <[email protected]>
 RECIPE_MAINTAINER_pn-puzzles = "Jussi Kukkonen <[email protected]>"
 RECIPE_MAINTAINER_pn-python = "Alejandro Hernandez <[email protected]>"
 RECIPE_MAINTAINER_pn-python-native = "Alejandro Hernandez <[email protected]>"
-RECIPE_MAINTAINER_pn-python-async = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-distribute = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-git = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-gitdb = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-imaging = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-mako = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-native = "Alejandro Hernandez <[email protected]>"
 RECIPE_MAINTAINER_pn-python-nose = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python-numpy = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-pexpect = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-ptyprocess = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-pycairo = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-pycurl = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-pygtk = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-pyrex = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python-scons = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python-scons-native = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python-setuptools = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-six = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-smartpm = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-smmap = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python3 = "Alejandro Hernandez <[email protected]>"
 RECIPE_MAINTAINER_pn-python3-async = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python3-dbus = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-distribute = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python3-docutils = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python3-git = "Jose Lamego <[email protected]>"
 RECIPE_MAINTAINER_pn-python3-gitdb = "Jose Lamego <[email protected]>"
Signature · 1 line
2.15.1
#2 lore raw

PATCH 3/4 maintainers.inc: assign python recipes to Derek Straka

In reply to Alexander Kanavin
---
 meta/conf/distro/include/maintainers.inc | 48 ++++++++++++++++----------------
 1 file changed, 24 insertions(+), 24 deletions(-)
meta/conf/distro/include/maintainers.inc +24 -24
index 5f9b796f801..4fb7cd32813 100644
@@ -598,30 +598,30 @@ RECIPE_MAINTAINER_pn-ptest-runner = "Leonardo Sandoval <leonardo.sandoval.gonzal
 RECIPE_MAINTAINER_pn-pulseaudio = "Tanu Kaskinen <[email protected]>"
 RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen <[email protected]>"
 RECIPE_MAINTAINER_pn-puzzles = "Jussi Kukkonen <[email protected]>"
-RECIPE_MAINTAINER_pn-python = "Alejandro Hernandez <[email protected]>"
-RECIPE_MAINTAINER_pn-python-native = "Alejandro Hernandez <[email protected]>"
-RECIPE_MAINTAINER_pn-python-nose = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-numpy = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-scons = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-scons-native = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python-setuptools = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3 = "Alejandro Hernandez <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-async = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-dbus = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-docutils = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-git = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-gitdb = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-iniparse = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-mako = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-native = "Alejandro Hernandez <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-nose = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-numpy = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-pip = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-pycairo = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-pygobject = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-setuptools = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-six = "Jose Lamego <[email protected]>"
-RECIPE_MAINTAINER_pn-python3-smmap = "Jose Lamego <[email protected]>"
+RECIPE_MAINTAINER_pn-python = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python-native = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python-nose = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python-numpy = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python-scons = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python-scons-native = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python-setuptools = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3 = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-async = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-dbus = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-docutils = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-git = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-gitdb = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-iniparse = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-mako = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-native = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-nose = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-numpy = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-pip = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-pycairo = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-pygobject = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-setuptools = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-six = "Derek Straka <[email protected]>"
+RECIPE_MAINTAINER_pn-python3-smmap = "Derek Straka <[email protected]>"
 RECIPE_MAINTAINER_pn-qemu = "Leonardo Sandoval <[email protected]>"
 RECIPE_MAINTAINER_pn-qemu-helper-native = "Leonardo Sandoval <[email protected]>"
 RECIPE_MAINTAINER_pn-qemuwrapper-cross = "Leonardo Sandoval <[email protected]>"
Signature · 1 line
2.15.1
#3 lore raw

PATCH 4/4 gobject-introspection: correct the --lib-dirs-envvar patch

In reply to Alexander Kanavin

The first version introduced a new branch in if-else statement, and so discarded the actions in the branch taken previously. This seemed to have no adverse effect for now, but let's do it right.

---
 ...01-giscanner-add-a-lib-dirs-envvar-option.patch | 26 +++++++++++-----------
 1 file changed, 13 insertions(+), 13 deletions(-)
meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch +13 -13
index e1776bc9b40..4ec527dcc0f 100644
@@ -1,4 +1,4 @@
-From a02076fe916ade6c3f78f6d35072ec53482e9446 Mon Sep 17 00:00:00 2001
+From e48f1e18f5ea41656f0ba10fe61d69d2604b0064 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <[email protected]>
 Date: Wed, 3 Jan 2018 17:02:01 +0200
 Subject: [PATCH] giscanner: add a --lib-dirs-envvar option
@@ -11,17 +11,18 @@ which can be picked up and used by the wrapper.
 
 Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin <[email protected]>
+
 ---
- giscanner/ccompiler.py   | 6 ++++--
+ giscanner/ccompiler.py   | 4 ++--
  giscanner/dumper.py      | 3 ++-
  giscanner/scannermain.py | 3 +++
- 3 files changed, 9 insertions(+), 3 deletions(-)
+ 3 files changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index 29de0ee..e969337 100644
+index 29de0ee..928eae8 100644
 --- a/giscanner/ccompiler.py
 +++ b/giscanner/ccompiler.py
-@@ -109,14 +109,16 @@ class CCompiler(object):
+@@ -109,7 +109,7 @@ class CCompiler(object):
  
              self._cflags_no_deprecation_warnings = "-Wno-deprecated-declarations"
  
@@ -30,16 +31,15 @@ index 29de0ee..e969337 100644
          # An "internal" link is where the library to be introspected
          # is being built in the current directory.
  
-         runtime_path_envvar = []
-         runtime_paths = []
- 
--        if self.check_is_msvc():
-+        if lib_dirs_envvar:
-+            runtime_path_envvar = [lib_dirs_envvar]
-+        elif self.check_is_msvc():
+@@ -119,7 +119,7 @@ class CCompiler(object):
+         if self.check_is_msvc():
              runtime_path_envvar = ['LIB', 'PATH']
          else:
-             runtime_path_envvar = ['LD_LIBRARY_PATH']
+-            runtime_path_envvar = ['LD_LIBRARY_PATH']
++            runtime_path_envvar = ['LD_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
+             # Search the current directory first
+             # (This flag is not supported nor needed for Visual C++)
+             args.append('-L.')
 diff --git a/giscanner/dumper.py b/giscanner/dumper.py
 index 7f77bd2..db96df6 100644
 --- a/giscanner/dumper.py
Signature · 1 line
2.15.1