diff options
author | Niko Mauno <niko.mauno@vaisala.com> | 2023-10-26 16:01:44 +0000 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2023-11-01 05:01:26 -1000 |
commit | e46e74cd90a1c42370a0b6ef6938b2f63d012ba4 (patch) | |
tree | f5c1dfe5e84ec7e8b4e32894bdcf5870b7b3b8fe | |
parent | f35f1aaf2287bafb437ac356b08f11fc4046d12f (diff) | |
download | poky-e46e74cd90a1c42370a0b6ef6938b2f63d012ba4.tar.gz |
package_rpm: Allow compression mode override
Commit 4a4d5f78a6962dda5f63e9891825c80a8a87bf66 ("package_rpm: use zstd
instead of xz") changed the rpm package compressor from 'xz' to 'zstd'
which results in decompression failure with BusyBox-provided 'rpm2cpio'
applet and 'rpm' applet when given the '-i' (Install package) option:
rpm2cpio: no gzip/bzip2/xz magic
Introduce a variable which makes it possible to use a different
compression mode, making it possible to override the default value for
example like
RPMBUILD_COMPMODE = "${@'w6T%d.xzdio' % int(d.getVar('XZ_THREADS'))}"
to enable rpm decompression without including the full rpm package in
the resulting root filesystem.
(From OE-Core rev: a40d9258148e28cbee2168c93179cd4c1232fb62)
(From OE-Core rev: ad4ea9f225b0dd6396088cc70b34f886c5fa62b4)
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r-- | meta/classes/package_rpm.bbclass | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index bbbef3793f..f403af5343 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -4,6 +4,7 @@ IMAGE_PKGTYPE ?= "rpm" | |||
4 | 4 | ||
5 | RPM="rpm" | 5 | RPM="rpm" |
6 | RPMBUILD="rpmbuild" | 6 | RPMBUILD="rpmbuild" |
7 | RPMBUILD_COMPMODE ?= "${@'w19T%d.zstdio' % int(d.getVar('ZSTD_THREADS'))}" | ||
7 | 8 | ||
8 | PKGWRITEDIRRPM = "${WORKDIR}/deploy-rpms" | 9 | PKGWRITEDIRRPM = "${WORKDIR}/deploy-rpms" |
9 | 10 | ||
@@ -652,6 +653,7 @@ python do_package_rpm () { | |||
652 | 653 | ||
653 | # Setup the rpmbuild arguments... | 654 | # Setup the rpmbuild arguments... |
654 | rpmbuild = d.getVar('RPMBUILD') | 655 | rpmbuild = d.getVar('RPMBUILD') |
656 | rpmbuild_compmode = d.getVar('RPMBUILD_COMPMODE') | ||
655 | targetsys = d.getVar('TARGET_SYS') | 657 | targetsys = d.getVar('TARGET_SYS') |
656 | targetvendor = d.getVar('HOST_VENDOR') | 658 | targetvendor = d.getVar('HOST_VENDOR') |
657 | 659 | ||
@@ -678,8 +680,8 @@ python do_package_rpm () { | |||
678 | cmd = cmd + " --define '_use_internal_dependency_generator 0'" | 680 | cmd = cmd + " --define '_use_internal_dependency_generator 0'" |
679 | cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" | 681 | cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" |
680 | cmd = cmd + " --define '_build_id_links none'" | 682 | cmd = cmd + " --define '_build_id_links none'" |
681 | cmd = cmd + " --define '_binary_payload w19T%d.zstdio'" % int(d.getVar("ZSTD_THREADS")) | 683 | cmd = cmd + " --define '_source_payload %s'" % rpmbuild_compmode |
682 | cmd = cmd + " --define '_source_payload w19T%d.zstdio'" % int(d.getVar("ZSTD_THREADS")) | 684 | cmd = cmd + " --define '_binary_payload %s'" % rpmbuild_compmode |
683 | cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'" | 685 | cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'" |
684 | cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'" | 686 | cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'" |
685 | cmd = cmd + " --define '_buildhost reproducible'" | 687 | cmd = cmd + " --define '_buildhost reproducible'" |