This patch creates a new package group -ptest to contain the tests for
each package.
---
meta/classes/distutils-common-base.bbclass |5 -
meta/classes/image.bbclass |6 --
meta/classes/package.bbclass |8 ++--
meta/classes/task.bbclass |2 +-
meta/conf/bitbake.conf | 14 --
5 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/meta/classes/distutils-common-base.bbclass
b/meta/classes/distutils-common-base.bbclass
index f66a5cd..7db015b 100644
--- a/meta/classes/distutils-common-base.bbclass
+++ b/meta/classes/distutils-common-base.bbclass
@@ -5,7 +5,7 @@ EXTRA_OEMAKE =
export STAGING_INCDIR
export STAGING_LIBDIR
-PACKAGES = ${PN}-dev ${PN}-dbg ${PN}-doc ${PN}
+PACKAGES = ${PN}-dev ${PN}-dbg ${PN}-ptest ${PN}-doc ${PN}
FILES_${PN} = ${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*
@@ -19,3 +19,6 @@ FILES_${PN}-dbg += \
${PYTHON_SITEPACKAGES_DIR}/*/.debug \
${PYTHON_SITEPACKAGES_DIR}/*/*/.debug \
+FILES_${PN}-ptest += \
+ ${PYTHON_SITEPACKAGES_DIR}/${PTEST_NAME} \
+
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 72720f1..c154bc2 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -29,13 +29,13 @@ ROOTFS_BOOTSTRAP_INSTALL =
${@base_contains(IMAGE_FEATURES, package-manageme
FEATURE_INSTALL = ${@'
'.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES',
d), d))}
FEATURE_INSTALL_OPTIONAL = ${@'
'.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES',
d), d))}
-# packages to install from features, excluding dev/dbg/doc
+# packages to install from features, excluding dev/dbg/doc/ptest
NORMAL_FEATURE_INSTALL = ${@'
'.join(oe.packagegroup.required_packages(normal_groups(d), d))}
NORMAL_FEATURE_INSTALL_OPTIONAL = ${@'
'.join(oe.packagegroup.optional_packages(normal_groups(d), d))}
def normal_groups(d):
Return all the IMAGE_FEATURES, with the exception of our special
package groups
-extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs'])
+extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs',
'ptest-pkgs'])
features = set(oe.data.typed_value('IMAGE_FEATURES', d))
return features.difference(extras)
@@ -53,6 +53,8 @@ def complementary_globs(featurevar, d):
globs.append('*-doc')
elif feature == 'dbg-pkgs':
globs.append('*-dbg')
+elif feature == 'ptest-pkgs':
+globs.append('*-ptest')
return ' '.join(globs)
IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs(IMAGE_FEATURES, d)}'
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d122cd9..6483a1f 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1236,7 +1236,7 @@ python package_do_filedeps() {
# Determine dependencies
for pkg in packages.split():
-if pkg.endswith('-dbg') or pkg.endswith('-doc') or
pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or
pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or
pkg.startswith('kernel-module-'):
+if pkg.endswith('-dbg') or pkg.endswith('-doc') or
pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or
pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or
pkg.startswith('kernel-module-') or pkg.endswith('-ptest'):
continue
provides_files = []
@@ -1330,7 +1330,7 @@ python package_do_shlibs() {
combos.append(-.join(options[0:i]))
return combos
-if (file.endswith('.dylib') or file.endswith('.so')) and not
pkg.endswith('-dev') and not pkg.endswith('-dbg'):
+if (file.endswith('.dylib') or file.endswith('.so')) and not
pkg.endswith('-dev') and not pkg.endswith('-dbg') and not
pkg.endswith('-ptest'):
# Drop suffix
name = file.rsplit(.,1)[0]
# Find all combinations
@@ -1648,6 +1648,8 @@ python package_depchains() {
depend = depend.replace('-dev', '')
if depend.endswith('-dbg'):
depend = depend.replace('-dbg', '')
+if depend.endswith('-ptest'):
+depend = depend.replace('-ptest', '')
pkgname = getname(depend, suffix)
#bb.note(Adding %s for %s % (pkgname, depend))
if pkgname not in rreclist and pkgname != pkg:
@@ -1669,6 +1671,8 @@ python package_depchains() {
depend = depend.replace('-dev', '')
if depend.endswith('-dbg'):
depend = depend.replace('-dbg', '')
+if depend.endswith('-ptest'):
+depend = depend.replace('-ptest', '')
pkgname = getname(depend, suffix)
#bb.note(Adding %s for %s % (pkgname, depend))
if pkgname not in rreclist and pkgname != pkg:
diff --git a/meta/classes/task.bbclass b/meta/classes/task.bbclass