Add a new bbclass that allows building a feed using the new oe.packagefeed class. This new bbclass inherits from packagegroup so that there is also a package in the feed that represents all packages in the feed.
The variable FEED_DEPENDS can be used to specify a feed that the packagefeed depends on and will be available side-by-side. This prevents duplicate packages in the two feeds. Additionally, there are packagefeed_<type> bbclasses to define package type specific configurations. Signed-off-by: Charlie Johnston <[email protected]> --- meta/classes-recipe/packagefeed.bbclass | 16 ++++++++++++++++ meta/classes-recipe/packagefeed_deb.bbclass | 2 ++ meta/classes-recipe/packagefeed_ipk.bbclass | 2 ++ meta/classes-recipe/packagefeed_rpm.bbclass | 2 ++ 4 files changed, 22 insertions(+) create mode 100644 meta/classes-recipe/packagefeed.bbclass create mode 100644 meta/classes-recipe/packagefeed_deb.bbclass create mode 100644 meta/classes-recipe/packagefeed_ipk.bbclass create mode 100644 meta/classes-recipe/packagefeed_rpm.bbclass diff --git a/meta/classes-recipe/packagefeed.bbclass b/meta/classes-recipe/packagefeed.bbclass new file mode 100644 index 0000000000..7dfccbb58b --- /dev/null +++ b/meta/classes-recipe/packagefeed.bbclass @@ -0,0 +1,16 @@ + +FEED_CLASSES = "packagefeed_${IMAGE_PKGTYPE} packagegroup" +inherit ${FEED_CLASSES} + +FEED_PATH = "${DEPLOY_DIR_FEED}/${PN}" +FEED_DEPENDS ??= "" + +fakeroot python do_packagefeed() { + from oe.packagefeed import create_packagefeed + + create_packagefeed(d) +} +addtask packagefeed before do_build +do_packagefeed[nostamp] = "1" +do_packagefeed[cleandirs] += "${FEED_PATH}" +do_packagefeed[rdepends] += "${@' '.join([x + ':do_packagefeed' for x in d.getVar('FEED_DEPENDS').split()])}" diff --git a/meta/classes-recipe/packagefeed_deb.bbclass b/meta/classes-recipe/packagefeed_deb.bbclass new file mode 100644 index 0000000000..6ca5a33e93 --- /dev/null +++ b/meta/classes-recipe/packagefeed_deb.bbclass @@ -0,0 +1,2 @@ +do_packagefeed[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" +do_packagefeed[recrdeptask] += "do_package_write_deb do_package_qa" diff --git a/meta/classes-recipe/packagefeed_ipk.bbclass b/meta/classes-recipe/packagefeed_ipk.bbclass new file mode 100644 index 0000000000..00ef8a30df --- /dev/null +++ b/meta/classes-recipe/packagefeed_ipk.bbclass @@ -0,0 +1,2 @@ +do_packagefeed[depends] += "opkg-native:do_populate_sysroot" +do_packagefeed[recrdeptask] += "do_package_write_ipk do_package_qa" diff --git a/meta/classes-recipe/packagefeed_rpm.bbclass b/meta/classes-recipe/packagefeed_rpm.bbclass new file mode 100644 index 0000000000..862ba99290 --- /dev/null +++ b/meta/classes-recipe/packagefeed_rpm.bbclass @@ -0,0 +1,2 @@ +do_packagefeed[depends] += "rpm-native:do_populate_sysroot dnf-native:do_populate_sysroot createrepo-c-native:do_populate_sysroot" +do_packagefeed[recrdeptask] += "do_package_write_rpm do_package_qa" -- 2.41.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#184604): https://lists.openembedded.org/g/openembedded-core/message/184604 Mute This Topic: https://lists.openembedded.org/mt/100243060/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
