summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2024-02-22 18:55:43 -0800
committerKhem Raj <raj.khem@gmail.com>2024-02-22 19:23:55 -0800
commite886090d9a1c12870f7dd99eca166305db1004cb (patch)
treeda6e0e173d239ae25d83f3c41fb0c476dab15bcc /meta-multimedia
parent2a86823036e1c1ed3c6fe121f9d39851fb04cd23 (diff)
downloadmeta-openembedded-e886090d9a1c12870f7dd99eca166305db1004cb.tar.gz
meta-multimedia-image-ptest: Add images to enable BBCLASSEXTEND parallel execution
In line with other layers like meta-oe, meta-python add capability to run recipe ptests Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc17
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb25
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb5
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb40
-rw-r--r--meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb1
5 files changed, 88 insertions, 0 deletions
diff --git a/meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc b/meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc
new file mode 100644
index 000000000..e21ad5766
--- /dev/null
+++ b/meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc
@@ -0,0 +1,17 @@
1#
2# Lists of the ptest in meta-multimedia, sorted into two sets by the time they take
3# Please keep these sorted in alphabetical order
4#
5# A first pass at getting all meta-multimedia recipes which inherit ptest
6# meta_multimedia_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-multimedia --inherits ptest --bare | sed -e '1,/=== Matching recipes: ===/d')
7# ptests which take less than ~30s each
8
9PTESTS_FAST_META_MULTIMEDIA = "\
10"
11
12PTESTS_SLOW_META_MULTIMEDIA = "\
13"
14
15PTESTS_PROBLEMS_META_MULTIMEDIA = "\
16 libopenmpt \
17"
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
new file mode 100644
index 000000000..8accba1bf
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
@@ -0,0 +1,25 @@
1DESCRIPTION = "Recipe to trigger execution of all meta-multimedia ptest images."
2HOMEPAGE = "https://www.openembedded.org/"
3
4LICENSE = "MIT"
5
6inherit features_check nopackages
7REQUIRED_DISTRO_FEATURES = "ptest"
8
9require conf/include/ptest-packagelists-meta-multimedia.inc
10
11# Include the full set of ptests
12PTESTS_META_MULTIMEDIA = "${PTESTS_FAST_META_MULTIMEDIA} ${PTESTS_SLOW_META_MULTIMEDIA} ${PTESTS_PROBLEMS_META_MULTIMEDIA}"
13
14do_testimage[noexec] = "1"
15do_testimage[depends] = "${@' '.join(['meta-multimedia-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
16
17do_build[depends] = "${@' '.join(['meta-multimedia-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
18
19# normally image.bbclass would do this
20EXCLUDE_FROM_WORLD = "1"
21
22python () {
23 if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d):
24 bb.build.addtask("do_testimage", "", "", d)
25}
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb
new file mode 100644
index 000000000..6abd1a9ea
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb
@@ -0,0 +1,5 @@
1require meta-multimedia-image-ptest-all.bb
2
3DESCRIPTION = "Recipe to trigger execution of all fast meta-multimedia ptest images."
4
5PTESTS_META_MULTIMEDIA = "${PTESTS_FAST_META_MULTIMEDIA}"
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb
new file mode 100644
index 000000000..887396d4c
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb
@@ -0,0 +1,40 @@
1inherit features_check
2REQUIRED_DISTRO_FEATURES = "ptest"
3
4require recipes-core/images/core-image-minimal.bb
5require conf/include/ptest-packagelists-meta-multimedia.inc
6
7SUMMARY = "meta-multimedia ptest test image"
8
9DESCRIPTION += "Also including the ${MCNAME} ptest package."
10HOMEPAGE = "https://www.openembedded.org/"
11
12PTESTS_META_MULTIMEDIA = "${PTESTS_SLOW_META_MULTIMEDIA} ${PTESTS_FAST_META_MULTIMEDIA} ${PTESTS_PROBLEMS_META_MULTIMEDIA}"
13
14IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
15
16BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
17
18# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live
19# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
20# box) and explicitly add up to 1500MB.
21IMAGE_OVERHEAD_FACTOR = "1.0"
22IMAGE_ROOTFS_EXTRA_SPACE = "324288"
23# If a particular ptest needs more space, it can be customized:
24#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288"
25
26# ptests need more memory than standard to avoid the OOM killer
27QB_MEM = "-m 1024"
28# If a particular ptest needs more memroy, it can be customized:
29#QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
30
31TEST_SUITES = "ping ssh parselogs ptest"
32
33# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
34PTEST_EXPECT_FAILURE = "1"
35
36python () {
37 if not d.getVar("MCNAME"):
38 raise bb.parse.SkipRecipe("No class extension set")
39}
40
diff --git a/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb b/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
index 92f33da89..8bb49b2f1 100644
--- a/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
+++ b/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
@@ -74,6 +74,7 @@ FILES:${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*"
74DEBIAN_NOAUTONAME:${PN} = "1" 74DEBIAN_NOAUTONAME:${PN} = "1"
75 75
76RDEPENDS:${PN}:libc-glibc = " \ 76RDEPENDS:${PN}:libc-glibc = " \
77 glibc-gconv \
77 glibc-gconv-cp1252 \ 78 glibc-gconv-cp1252 \
78 glibc-gconv-ibm437 \ 79 glibc-gconv-ibm437 \
79 glibc-gconv-iso8859-1 \ 80 glibc-gconv-iso8859-1 \