Message ID | 20250325215444.11125-1-hiagofranco@gmail.com |
---|---|
State | Rejected |
Delegated to: | Steve Sakoman |
Headers | show |
Series | [scarthgap] linux-firmware: upgrade 20240909 -> 20250311 | expand |
Hi Hiago, I'm getting build errors with this patch: https://errors.yoctoproject.org/Errors/Details/849582/ I think you will need to add a PARALLEL_MAKE fix similar to what was done in master: https://github.com/openembedded/openembedded-core/commit/16e86b63696177a6f8b8f73b41e55dd6389f9e1c (linking to the github mirror since our git infrastructure is under attack at the moment) Please submit a V2 with this addition. Thanks! Steve On Tue, Mar 25, 2025 at 2:55 PM Hiago De Franco via lists.openembedded.org <hiagofranco=gmail.com@lists.openembedded.org> wrote: > > From: Hiago De Franco <hiago.franco@toradex.com> > > Update the linux-firmware recipe to the most recent upstream tag. > > Since commit 515022675f81 ("make: separate installation and > de-duplication targets") in linux-firmware, 'install-nodedup' no longer > exists. Adapt the do_install function to accommodate these changes, as > done in the oe-core master branch. > > Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> > --- > ...20240909.bb => linux-firmware_20250311.bb} | 24 ++++++++++++++----- > 1 file changed, 18 insertions(+), 6 deletions(-) > rename meta/recipes-kernel/linux-firmware/{linux-firmware_20240909.bb => linux-firmware_20250311.bb} (99%) > > diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb > similarity index 99% > rename from meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb > rename to meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb > index 30c47d772088..2ba362ed3b33 100644 > --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb > +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb > @@ -154,7 +154,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ > " > # WHENCE checksum is defined separately to ease overriding it if > # class-devupstream is selected. > -WHENCE_CHKSUM = "6ae5ffd807c84809977286ad0b37acdb" > +WHENCE_CHKSUM = "886924eb733c4efcec21dff980795771" > > # These are not common licenses, set NO_GENERIC_LICENSE for them > # so that the license files will be copied from fetched source > @@ -241,23 +241,35 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw > # Pin this to the 20220509 release, override this in local.conf > SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae" > > -SRC_URI[sha256sum] = "943fbd19883cf8eadf89e0b22422549db056557b1ecd30a56400615971369671" > +SRC_URI[sha256sum] = "b1083a36f19aea46f661dcfd4cd462d13933dcb4e7f0dc809525552dd5c3541d" > > inherit allarch > > CLEANBROKEN = "1" > > -# Use PACKAGECONFIG_CONFARGS to set the Makefile target > PACKAGECONFIG ??= "" > -# Enabling dedup will turn duplicate firmware files into links > -PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native" > +PACKAGECONFIG[deduplicate] = ",,rdfind-native" > + > +# Possible values are "xz" and "zst". > +FIRMWARE_COMPRESSION ?= "" > + > +def fw_compr_suffix(d): > + compr = d.getVar('FIRMWARE_COMPRESSION') > + if compr == '': > + return '' > + return '-' + compr > > do_compile() { > : > } > > do_install() { > - oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS} > + sed -i 's:^./check_whence.py:#./check_whence.py:' ${S}/copy-firmware.sh > + > + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install${@fw_compr_suffix(d)} > + if [ "${@bb.utils.contains('PACKAGECONFIG', 'deduplicate', '1', '0', d)}" = "1" ]; then > + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' dedup > + fi > cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ > } > > -- > 2.39.5 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#213622): https://lists.openembedded.org/g/openembedded-core/message/213622 > Mute This Topic: https://lists.openembedded.org/mt/111906654/3620601 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [steve@sakoman.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Steve and Hiago, This makes me very uneasy. Ideally we should be backporting all/most commits from master instead of doing a big upgrade from 20240909 to 20250311. Additionally, we need to guarantee backward compatibility with current users of scarthgap, so this means not blindly backporting as some files are moved around or split into different packages, we need to make sure if files were renamed to have symlinks too, and in the appropriate packages. Cheers, Quentin On 3/26/25 4:15 PM, Steve Sakoman via lists.openembedded.org wrote: > Hi Hiago, > > I'm getting build errors with this patch: > > https://errors.yoctoproject.org/Errors/Details/849582/ > > I think you will need to add a PARALLEL_MAKE fix similar to what was > done in master: > > https://github.com/openembedded/openembedded-core/commit/16e86b63696177a6f8b8f73b41e55dd6389f9e1c > > (linking to the github mirror since our git infrastructure is under > attack at the moment) > > Please submit a V2 with this addition. > > Thanks! > > Steve > > On Tue, Mar 25, 2025 at 2:55 PM Hiago De Franco via > lists.openembedded.org <hiagofranco=gmail.com@lists.openembedded.org> > wrote: >> >> From: Hiago De Franco <hiago.franco@toradex.com> >> >> Update the linux-firmware recipe to the most recent upstream tag. >> >> Since commit 515022675f81 ("make: separate installation and >> de-duplication targets") in linux-firmware, 'install-nodedup' no longer >> exists. Adapt the do_install function to accommodate these changes, as >> done in the oe-core master branch. >> >> Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> >> --- >> ...20240909.bb => linux-firmware_20250311.bb} | 24 ++++++++++++++----- >> 1 file changed, 18 insertions(+), 6 deletions(-) >> rename meta/recipes-kernel/linux-firmware/{linux-firmware_20240909.bb => linux-firmware_20250311.bb} (99%) >> >> diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb >> similarity index 99% >> rename from meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb >> rename to meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb >> index 30c47d772088..2ba362ed3b33 100644 >> --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb >> +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb >> @@ -154,7 +154,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ >> " >> # WHENCE checksum is defined separately to ease overriding it if >> # class-devupstream is selected. >> -WHENCE_CHKSUM = "6ae5ffd807c84809977286ad0b37acdb" >> +WHENCE_CHKSUM = "886924eb733c4efcec21dff980795771" >> >> # These are not common licenses, set NO_GENERIC_LICENSE for them >> # so that the license files will be copied from fetched source >> @@ -241,23 +241,35 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw >> # Pin this to the 20220509 release, override this in local.conf >> SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae" >> >> -SRC_URI[sha256sum] = "943fbd19883cf8eadf89e0b22422549db056557b1ecd30a56400615971369671" >> +SRC_URI[sha256sum] = "b1083a36f19aea46f661dcfd4cd462d13933dcb4e7f0dc809525552dd5c3541d" >> >> inherit allarch >> >> CLEANBROKEN = "1" >> >> -# Use PACKAGECONFIG_CONFARGS to set the Makefile target >> PACKAGECONFIG ??= "" >> -# Enabling dedup will turn duplicate firmware files into links >> -PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native" >> +PACKAGECONFIG[deduplicate] = ",,rdfind-native" >> + >> +# Possible values are "xz" and "zst". >> +FIRMWARE_COMPRESSION ?= "" >> + >> +def fw_compr_suffix(d): >> + compr = d.getVar('FIRMWARE_COMPRESSION') >> + if compr == '': >> + return '' >> + return '-' + compr >> >> do_compile() { >> : >> } >> >> do_install() { >> - oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS} >> + sed -i 's:^./check_whence.py:#./check_whence.py:' ${S}/copy-firmware.sh >> + >> + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install${@fw_compr_suffix(d)} >> + if [ "${@bb.utils.contains('PACKAGECONFIG', 'deduplicate', '1', '0', d)}" = "1" ]; then >> + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' dedup >> + fi >> cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ >> } >> >> -- >> 2.39.5 >> >> >> >> >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#213649): https://lists.openembedded.org/g/openembedded-core/message/213649 >> Mute This Topic: https://lists.openembedded.org/mt/111906654/6293953 >> Group Owner: openembedded-core+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [quentin.schulz@cherry.de] >> -=-=-=-=-=-=-=-=-=-=-=- >>
On Wed, 2025-03-26 at 16:38 +0100, Quentin Schulz via lists.openembedded.org wrote: > Hi Steve and Hiago, > > This makes me very uneasy. > > Ideally we should be backporting all/most commits from master instead > of > doing a big upgrade from 20240909 to 20250311. Additionally, we need > to > guarantee backward compatibility with current users of scarthgap, so > this means not blindly backporting as some files are moved around or > split into different packages, we need to make sure if files were > renamed to have symlinks too, and in the appropriate packages. I'd add that the firmware upgrades have been a consistent source of packaging problems more recently, lots of follow up fixes :( Cheers, Richard
Hi Richard, Quentin and Steve, Thanks for the reviews. I got the idea now, I will then backport the patches from master into styhead and scarthgap and send a v2. I also plan to do the same with kirkstone. Cheers, Hiago.
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb similarity index 99% rename from meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb rename to meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb index 30c47d772088..2ba362ed3b33 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250311.bb @@ -154,7 +154,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ " # WHENCE checksum is defined separately to ease overriding it if # class-devupstream is selected. -WHENCE_CHKSUM = "6ae5ffd807c84809977286ad0b37acdb" +WHENCE_CHKSUM = "886924eb733c4efcec21dff980795771" # These are not common licenses, set NO_GENERIC_LICENSE for them # so that the license files will be copied from fetched source @@ -241,23 +241,35 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw # Pin this to the 20220509 release, override this in local.conf SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae" -SRC_URI[sha256sum] = "943fbd19883cf8eadf89e0b22422549db056557b1ecd30a56400615971369671" +SRC_URI[sha256sum] = "b1083a36f19aea46f661dcfd4cd462d13933dcb4e7f0dc809525552dd5c3541d" inherit allarch CLEANBROKEN = "1" -# Use PACKAGECONFIG_CONFARGS to set the Makefile target PACKAGECONFIG ??= "" -# Enabling dedup will turn duplicate firmware files into links -PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native" +PACKAGECONFIG[deduplicate] = ",,rdfind-native" + +# Possible values are "xz" and "zst". +FIRMWARE_COMPRESSION ?= "" + +def fw_compr_suffix(d): + compr = d.getVar('FIRMWARE_COMPRESSION') + if compr == '': + return '' + return '-' + compr do_compile() { : } do_install() { - oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS} + sed -i 's:^./check_whence.py:#./check_whence.py:' ${S}/copy-firmware.sh + + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install${@fw_compr_suffix(d)} + if [ "${@bb.utils.contains('PACKAGECONFIG', 'deduplicate', '1', '0', d)}" = "1" ]; then + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' dedup + fi cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ }