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.
Signed-off-by: Ross Burton <ross.bur...@arm.com> --- meta-selftest/classes/localpkgfeed.bbclass | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 meta-selftest/classes/localpkgfeed.bbclass diff --git a/meta-selftest/classes/localpkgfeed.bbclass b/meta-selftest/classes/localpkgfeed.bbclass new file mode 100644 index 00000000000..b796375e55c --- /dev/null +++ b/meta-selftest/classes/localpkgfeed.bbclass @@ -0,0 +1,27 @@ +# Create a subset of the package feed that just contain the +# packages depended on by this recipe. + +LOCALPKGFEED_DIR = "${WORKDIR}/localpkgfeed" + +addtask localpkgfeed after do_build +do_localpkgfeed[cleandirs] = "${LOCALPKGFEED_DIR}" +do_localpkgfeed[nostamp] = "1" + +def get_packaging_class(d): + package_class = d.getVar("PACKAGE_CLASSES").split()[0] + return package_class.replace("package_", "") + +python () { + packaging = get_packaging_class(d) + d.setVarFlag("do_localpkgfeed", "rdeptask", "do_package_write_" + packaging) +} + +python do_localpkgfeed() { + import oe.package_manager + + packaging = get_packaging_class(d) + deploydir = d.getVar("DEPLOY_DIR_" + packaging.upper()) + task = "package_write_" + packaging + + oe.package_manager.create_packages_dir(d, d.getVar("LOCALPKGFEED_DIR"), deploydir, task, True, True) +} -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#199266): https://lists.openembedded.org/g/openembedded-core/message/199266 Mute This Topic: https://lists.openembedded.org/mt/106097812/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-