summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2024-05-14 16:15:20 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-05-15 16:39:19 +0100
commit41e59c53c508f63d0a6dd6fc6cd4f8a60be13d7f (patch)
treeec9701eaa1c897b1df335995ea2c52954b6a0334
parent6582436a1d1af7775a6bb651aff47a9db773e32b (diff)
downloadpoky-41e59c53c508f63d0a6dd6fc6cd4f8a60be13d7f.tar.gz
selftest/classes: add localpkgfeed class
This class can be used to construct a subset of a deployed package feed for use in tests which iterate the deploy directory, and as such a huge feed of 30K+ packages can result in very slow tests. (From OE-Core rev: c5486d6ad32457f09c104d5dd31314bd570912d3) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta-selftest/classes/localpkgfeed.bbclass27
1 files changed, 27 insertions, 0 deletions
diff --git a/meta-selftest/classes/localpkgfeed.bbclass b/meta-selftest/classes/localpkgfeed.bbclass
new file mode 100644
index 0000000000..b796375e55
--- /dev/null
+++ b/meta-selftest/classes/localpkgfeed.bbclass
@@ -0,0 +1,27 @@
1# Create a subset of the package feed that just contain the
2# packages depended on by this recipe.
3
4LOCALPKGFEED_DIR = "${WORKDIR}/localpkgfeed"
5
6addtask localpkgfeed after do_build
7do_localpkgfeed[cleandirs] = "${LOCALPKGFEED_DIR}"
8do_localpkgfeed[nostamp] = "1"
9
10def get_packaging_class(d):
11 package_class = d.getVar("PACKAGE_CLASSES").split()[0]
12 return package_class.replace("package_", "")
13
14python () {
15 packaging = get_packaging_class(d)
16 d.setVarFlag("do_localpkgfeed", "rdeptask", "do_package_write_" + packaging)
17}
18
19python do_localpkgfeed() {
20 import oe.package_manager
21
22 packaging = get_packaging_class(d)
23 deploydir = d.getVar("DEPLOY_DIR_" + packaging.upper())
24 task = "package_write_" + packaging
25
26 oe.package_manager.create_packages_dir(d, d.getVar("LOCALPKGFEED_DIR"), deploydir, task, True, True)
27}