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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to