Got it. Is running runtime_test.TestImage.test_testimage_dnf sufficient for testing the change? Or are there specific images I should try with testimage?
For the examples, how many sample recipes would be adequate? 1 or 2? Thanks, Charlie Johnston On 8/3/23 02:18, Alexander Kanavin wrote: > Same comment as before: > This does need to be tested, and it does need examples. Can you rework > create_rpm_index() from meta/classes-recipe/testimage.bbclass to use > this class instead of package-index? > > Alex > > On Wed, 2 Aug 2023 at 23:40, Charlie Johnston <[email protected]> wrote: >> >> Add a new bbclass that allows building a feed using the >> new oe.package_manager class. Additionally, there are >> packagefeed_<type> bbclasses to define package type >> specific configurations. >> >> The do_packagefeed task currently does no use SSTATE >> data and is set to always run via [nostamp] = "1". >> >> The variable FEED_DEPENDS is used to specify feeds that >> the packagefeed depends on and will be available >> side-by-side. This prevents duplicate packages in the >> two feeds. >> >> Signed-off-by: Charlie Johnston <[email protected]> >> --- >> meta/classes-recipe/packagefeed.bbclass | 26 +++++++++++++++++++++ >> meta/classes-recipe/packagefeed_deb.bbclass | 8 +++++++ >> meta/classes-recipe/packagefeed_ipk.bbclass | 8 +++++++ >> meta/classes-recipe/packagefeed_rpm.bbclass | 8 +++++++ >> 4 files changed, 50 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..08df96f662 >> --- /dev/null >> +++ b/meta/classes-recipe/packagefeed.bbclass >> @@ -0,0 +1,26 @@ >> +# >> +# Copyright OpenEmbedded Contributors >> +# >> +# SPDX-License-Identifier: MIT >> +# >> + >> +PKGFEED_INHERITS = "${@' '.join(['packagefeed_' + x for x in >> d.getVar('PACKAGE_CLASSES').replace("package_", "").split()])}" >> +inherit ${PKGFEED_INHERITS} nopackages >> + >> +LICENSE ?= "MIT" >> + >> +# Feeds listed in FEED_DEPENDS and their dependencies will be excluded from >> the feed. >> +# This allows for side-by-side feeds without duplicate packages. >> +FEED_DEPENDS ??= "" >> + >> +fakeroot python do_packagefeed() { >> + from oe.package_manager import generate_feed_dirs, generate_index_files >> + >> + generate_feed_dirs(d, d.getVar("FEED_DEPENDS")) >> + generate_index_files(d, isFeed=True) >> +} >> +addtask packagefeed before do_build >> +do_packagefeed[recrdeptask] += "do_package_qa" >> +do_packagefeed[nostamp] = "1" >> +do_packagefeed[rdepends] += "${@' '.join([x + ':do_packagefeed' for x in >> d.getVar('FEED_DEPENDS').split()])}" >> +do_packagefeed[cleandirs] += "${DEPLOY_DIR_FEED_DEB}/${PN} >> ${DEPLOY_DIR_FEED_IPK}/${PN} ${DEPLOY_DIR_FEED_RPM}/${PN}" >> diff --git a/meta/classes-recipe/packagefeed_deb.bbclass >> b/meta/classes-recipe/packagefeed_deb.bbclass >> new file mode 100644 >> index 0000000000..2decc70a4f >> --- /dev/null >> +++ b/meta/classes-recipe/packagefeed_deb.bbclass >> @@ -0,0 +1,8 @@ >> +# >> +# Copyright OpenEmbedded Contributors >> +# >> +# SPDX-License-Identifier: MIT >> +# >> + >> +do_packagefeed[depends] += "apt-native:do_populate_sysroot" >> +do_packagefeed[recrdeptask] += "do_package_write_deb" >> diff --git a/meta/classes-recipe/packagefeed_ipk.bbclass >> b/meta/classes-recipe/packagefeed_ipk.bbclass >> new file mode 100644 >> index 0000000000..89d296200b >> --- /dev/null >> +++ b/meta/classes-recipe/packagefeed_ipk.bbclass >> @@ -0,0 +1,8 @@ >> +# >> +# Copyright OpenEmbedded Contributors >> +# >> +# SPDX-License-Identifier: MIT >> +# >> + >> +do_packagefeed[depends] += "opkg-native:do_populate_sysroot >> opkg-utils-native:do_populate_sysroot" >> +do_packagefeed[recrdeptask] += "do_package_write_ipk" >> diff --git a/meta/classes-recipe/packagefeed_rpm.bbclass >> b/meta/classes-recipe/packagefeed_rpm.bbclass >> new file mode 100644 >> index 0000000000..8ce37cc855 >> --- /dev/null >> +++ b/meta/classes-recipe/packagefeed_rpm.bbclass >> @@ -0,0 +1,8 @@ >> +# >> +# Copyright OpenEmbedded Contributors >> +# >> +# SPDX-License-Identifier: MIT >> +# >> + >> +do_packagefeed[depends] += "createrepo-c-native:do_populate_sysroot" >> +do_packagefeed[recrdeptask] += "do_package_write_rpm" >> -- >> 2.41.0 >> >> >> >>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#185503): https://lists.openembedded.org/g/openembedded-core/message/185503 Mute This Topic: https://lists.openembedded.org/mt/100515098/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
