oe-selftest: add a test for recipes without maintainers
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.
Signed-off-by Alexander Kanavin <[email protected]>
--- meta/lib/oeqa/selftest/cases/distrodata.py | 32 +++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-)
meta/lib/oeqa/selftest/cases/distrodata.py +27 -5
@@ -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
PATCH 2/4 maintainers.inc: remove python recipes no longer provided in oe-core
Signed-off-by Alexander Kanavin <[email protected]>
--- meta/conf/distro/include/maintainers.inc | 17 ----------------- 1 file changed, 17 deletions(-)
meta/conf/distro/include/maintainers.inc +0 -17
@@ -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
PATCH 3/4 maintainers.inc: assign python recipes to Derek Straka
In reply to Alexander KanavinSigned-off-by Alexander Kanavin <[email protected]>
--- meta/conf/distro/include/maintainers.inc | 48 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-)
meta/conf/distro/include/maintainers.inc +24 -24
@@ -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
PATCH 4/4 gobject-introspection: correct the --lib-dirs-envvar patch
In reply to Alexander KanavinThe 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.
Signed-off-by Alexander Kanavin <[email protected]>
--- ...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
@@ -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