diff options
| -rw-r--r-- | meta/classes/image.bbclass | 6 | ||||
| -rw-r--r-- | meta/classes/packagegroup.bbclass | 2 | ||||
| -rw-r--r-- | meta/classes/ptest.bbclass | 34 | ||||
| -rw-r--r-- | meta/recipes-devtools/automake/automake/buildtest.patch | 33 | ||||
| -rw-r--r-- | meta/recipes-devtools/automake/automake_1.12.5.bb | 3 |
5 files changed, 74 insertions, 4 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 8bf718a64b..d3a416d371 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass | |||
| @@ -26,13 +26,13 @@ ROOTFS_BOOTSTRAP_INSTALL = "${@base_contains("IMAGE_FEATURES", "package-manageme | |||
| 26 | FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}" | 26 | FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}" |
| 27 | FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}" | 27 | FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}" |
| 28 | 28 | ||
| 29 | # packages to install from features, excluding dev/dbg/doc | 29 | # packages to install from features, excluding dev/dbg/doc/ptest |
| 30 | NORMAL_FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(normal_groups(d), d))}" | 30 | NORMAL_FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(normal_groups(d), d))}" |
| 31 | NORMAL_FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(normal_groups(d), d))}" | 31 | NORMAL_FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(normal_groups(d), d))}" |
| 32 | 32 | ||
| 33 | def normal_groups(d): | 33 | def normal_groups(d): |
| 34 | """Return all the IMAGE_FEATURES, with the exception of our special package groups""" | 34 | """Return all the IMAGE_FEATURES, with the exception of our special package groups""" |
| 35 | extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs']) | 35 | extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs', 'ptest-pkgs']) |
| 36 | features = set(oe.data.typed_value('IMAGE_FEATURES', d)) | 36 | features = set(oe.data.typed_value('IMAGE_FEATURES', d)) |
| 37 | return features.difference(extras) | 37 | return features.difference(extras) |
| 38 | 38 | ||
| @@ -54,6 +54,8 @@ def complementary_globs(featurevar, d): | |||
| 54 | globs.append('*-doc') | 54 | globs.append('*-doc') |
| 55 | elif feature == 'dbg-pkgs': | 55 | elif feature == 'dbg-pkgs': |
| 56 | globs.append('*-dbg') | 56 | globs.append('*-dbg') |
| 57 | elif feature == 'ptest-pkgs': | ||
| 58 | globs.append('*-ptest') | ||
| 57 | return ' '.join(globs) | 59 | return ' '.join(globs) |
| 58 | 60 | ||
| 59 | IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}' | 61 | IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}' |
diff --git a/meta/classes/packagegroup.bbclass b/meta/classes/packagegroup.bbclass index fc67302a2c..af6ee5dff1 100644 --- a/meta/classes/packagegroup.bbclass +++ b/meta/classes/packagegroup.bbclass | |||
| @@ -25,7 +25,7 @@ python () { | |||
| 25 | packages = d.getVar('PACKAGES', True).split() | 25 | packages = d.getVar('PACKAGES', True).split() |
| 26 | genpackages = [] | 26 | genpackages = [] |
| 27 | for pkg in packages: | 27 | for pkg in packages: |
| 28 | for postfix in ['-dbg', '-dev']: | 28 | for postfix in ['-dbg', '-dev', '-ptest']: |
| 29 | genpackages.append(pkg+postfix) | 29 | genpackages.append(pkg+postfix) |
| 30 | d.setVar('PACKAGES', ' '.join(packages+genpackages)) | 30 | d.setVar('PACKAGES', ' '.join(packages+genpackages)) |
| 31 | } | 31 | } |
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass new file mode 100644 index 0000000000..8bde489e90 --- /dev/null +++ b/meta/classes/ptest.bbclass | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | # Ptest packages are built indirectly by a distro_feature, | ||
| 2 | # no need for them to be a direct target of 'world' | ||
| 3 | EXCLUDE_FROM_WORLD = "1" | ||
| 4 | |||
| 5 | SUMMARY_${PN}-ptest ?= "${SUMMARY} - Package test files" | ||
| 6 | DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION} \ | ||
| 7 | This package contains a test directory ${PTEST_PATH} for package test purposes." | ||
| 8 | |||
| 9 | PTEST_PATH ?= "${libdir}/${PN}/ptest" | ||
| 10 | FILES_${PN}-ptest = "${PTEST_PATH}/*" | ||
| 11 | SECTION_${PN}-ptest = "devel" | ||
| 12 | ALLOW_EMPTY_${PN}-ptest = "1" | ||
| 13 | PTEST_ENABLED = "${@base_contains("DISTRO_FEATURES", "ptest", "1", "0", d)}" | ||
| 14 | RDEPENDS_${PN}-ptest_virtclass-native = "" | ||
| 15 | RDEPENDS_${PN}-ptest_virtclass-nativesdk = "" | ||
| 16 | |||
| 17 | PACKAGES += "${PN}-ptest" | ||
| 18 | |||
| 19 | FILES_${PN}-dbg += "${PTEST_PATH}/*/.debug \ | ||
| 20 | ${PTEST_PATH}/*/*/.debug \ | ||
| 21 | ${PTEST_PATH}/*/*/*/.debug \ | ||
| 22 | ${PTEST_PATH}/*/*/*/*/.debug \ | ||
| 23 | " | ||
| 24 | |||
| 25 | ptest_do_install() { | ||
| 26 | if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ]; then | ||
| 27 | install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest | ||
| 28 | if grep -q install-ptest: Makefile; then | ||
| 29 | oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest | ||
| 30 | fi | ||
| 31 | fi | ||
| 32 | } | ||
| 33 | |||
| 34 | EXPORT_FUNCTIONS ptest_do_install | ||
diff --git a/meta/recipes-devtools/automake/automake/buildtest.patch b/meta/recipes-devtools/automake/automake/buildtest.patch new file mode 100644 index 0000000000..1dd5337849 --- /dev/null +++ b/meta/recipes-devtools/automake/automake/buildtest.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | Split "check-TESTS" into a buildtest and runtest target, so that they can | ||
| 2 | be run separately. | ||
| 3 | |||
| 4 | Signed-off-by: Björn Stenberg <bjst@enea.com> | ||
| 5 | Upstream-Status: Pending | ||
| 6 | |||
| 7 | --- a/lib/am/check.am 2012-11-14 13:46:16.335475995 +0100 | ||
| 8 | +++ b/lib/am/check.am 2012-08-13 18:40:12.000000000 +0200 | ||
| 9 | @@ -44,7 +44,7 @@ | ||
| 10 | am__tty_colors = $(am__tty_colors_dummy) | ||
| 11 | endif !%?COLOR% | ||
| 12 | |||
| 13 | -.PHONY: check-TESTS | ||
| 14 | +.PHONY: check-TESTS buildtest-TESTS runtest-TESTS | ||
| 15 | |||
| 16 | if %?PARALLEL_TESTS% | ||
| 17 | |||
| 18 | @@ -465,7 +465,14 @@ | ||
| 19 | |||
| 20 | else !%?PARALLEL_TESTS% | ||
| 21 | |||
| 22 | -check-TESTS: $(TESTS) | ||
| 23 | +AM_RECURSIVE_TARGETS += buildtest runtest | ||
| 24 | + | ||
| 25 | +buildtest-TESTS: $(TESTS) | ||
| 26 | + | ||
| 27 | +check-TESTS: buildtest-TESTS | ||
| 28 | + $(MAKE) $(AM_MAKEFLAGS) runtest-TESTS | ||
| 29 | + | ||
| 30 | +runtest-TESTS: | ||
| 31 | @failed=0; all=0; xfail=0; xpass=0; skip=0; \ | ||
| 32 | srcdir=$(srcdir); export srcdir; \ | ||
| 33 | ## Make sure Solaris VPATH-expands all members of this list, even | ||
diff --git a/meta/recipes-devtools/automake/automake_1.12.5.bb b/meta/recipes-devtools/automake/automake_1.12.5.bb index 76e2b872ed..c68167483a 100644 --- a/meta/recipes-devtools/automake/automake_1.12.5.bb +++ b/meta/recipes-devtools/automake/automake_1.12.5.bb | |||
| @@ -23,7 +23,8 @@ PATHFIXPATCH_class-nativesdk = "" | |||
| 23 | SRC_URI += "${PATHFIXPATCH} \ | 23 | SRC_URI += "${PATHFIXPATCH} \ |
| 24 | file://prefer-cpio-over-pax-for-ustar-archives.patch \ | 24 | file://prefer-cpio-over-pax-for-ustar-archives.patch \ |
| 25 | file://python-libdir.patch \ | 25 | file://python-libdir.patch \ |
| 26 | file://py-compile-compile-only-optimized-byte-code.patch" | 26 | file://py-compile-compile-only-optimized-byte-code.patch \ |
| 27 | file://buildtest.patch" | ||
| 27 | 28 | ||
| 28 | SRC_URI[md5sum] = "674f6d28f8723e0f478cb03de30f36f1" | 29 | SRC_URI[md5sum] = "674f6d28f8723e0f478cb03de30f36f1" |
| 29 | SRC_URI[sha256sum] = "82089e23b384d3e64efa4f09f133a02dadb91c0593d4f1d4e12c29d806be9925" | 30 | SRC_URI[sha256sum] = "82089e23b384d3e64efa4f09f133a02dadb91c0593d4f1d4e12c29d806be9925" |
