diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2024-02-02 19:57:34 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-08 10:53:13 +0000 |
commit | 81d90fc81c093ecdd99a00382b2c85a3a4c429f2 (patch) | |
tree | 2cf5967364d3e79be9811fb54850492f6d24c655 | |
parent | 77f5f99fcfa202dbd6ffdbcfc4e4a056f2d6deae (diff) | |
download | poky-81d90fc81c093ecdd99a00382b2c85a3a4c429f2.tar.gz |
package_rpm: add RPMBUILD_EXTRA_PARAMS variable
* e.g. for DISTROs which define extra user-defined fields with
PACKAGE_ADD_METADATA/PACKAGE_ADD_METADATA_RPM
as undefined fields in packagedata are fatal error for rpmbuild:
"error: line 9: Unknown tag: Author: Unspecified"
as shown in:
http://errors.yoctoproject.org/Errors/Details/751706/
with "Author" field added with:
PACKAGE_CLASSES = "package_rpm"
PACKAGE_ADD_AUTHOR_METADATA = "test-author"
PACKAGE_ADD_METADATA = "Author: ${PACKAGE_ADD_AUTHOR_METADATA}"
to fix rpm build you can use:
RPMBUILD_EXTRA_PARAMS = " --define '_Author Author'"
keep in mind that this doesn't cause this Author field to be
added in .rpm, it just avoids the BUILDSPEC failure.
and for ipk build:
OPKG_MAKE_INDEX_EXTRA_PARAMS = "-f"
alternatively you can avoid additional packagedata fields ending
in the package manager (if you use them only with buildhistory
or packagedata) with:
PACKAGE_ADD_METADATA_RPM = ""
PACKAGE_ADD_METADATA_IPK = ""
PACKAGE_ADD_METADATA_DEP = ""
(From OE-Core rev: 31030e7a19a27ad424b997fad36ee4f633ce0d63)
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes-global/package_rpm.bbclass | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index 3743be8c82..2e3e4e8c79 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass | |||
@@ -681,6 +681,7 @@ python do_package_rpm () { | |||
681 | # Setup the rpmbuild arguments... | 681 | # Setup the rpmbuild arguments... |
682 | rpmbuild = d.getVar('RPMBUILD') | 682 | rpmbuild = d.getVar('RPMBUILD') |
683 | rpmbuild_compmode = d.getVar('RPMBUILD_COMPMODE') | 683 | rpmbuild_compmode = d.getVar('RPMBUILD_COMPMODE') |
684 | rpmbuild_extra_params = d.getVar('RPMBUILD_EXTRA_PARAMS') or "" | ||
684 | 685 | ||
685 | # Too many places in dnf stack assume that arch-independent packages are "noarch". | 686 | # Too many places in dnf stack assume that arch-independent packages are "noarch". |
686 | # Let's not fight against this. | 687 | # Let's not fight against this. |
@@ -722,6 +723,7 @@ python do_package_rpm () { | |||
722 | cmd = cmd + " --define '_use_weak_usergroup_deps 1'" | 723 | cmd = cmd + " --define '_use_weak_usergroup_deps 1'" |
723 | cmd = cmd + " --define '_passwd_path " + "/completely/bogus/path" + "'" | 724 | cmd = cmd + " --define '_passwd_path " + "/completely/bogus/path" + "'" |
724 | cmd = cmd + " --define '_group_path " + "/completely/bogus/path" + "'" | 725 | cmd = cmd + " --define '_group_path " + "/completely/bogus/path" + "'" |
726 | cmd = cmd + rpmbuild_extra_params | ||
725 | if d.getVarFlag('ARCHIVER_MODE', 'srpm') == '1' and bb.data.inherits_class('archiver', d): | 727 | if d.getVarFlag('ARCHIVER_MODE', 'srpm') == '1' and bb.data.inherits_class('archiver', d): |
726 | cmd = cmd + " --define '_sourcedir " + d.getVar('ARCHIVER_OUTDIR') + "'" | 728 | cmd = cmd + " --define '_sourcedir " + d.getVar('ARCHIVER_OUTDIR') + "'" |
727 | cmdsrpm = cmd + " --define '_srcrpmdir " + d.getVar('ARCHIVER_RPMOUTDIR') + "'" | 729 | cmdsrpm = cmd + " --define '_srcrpmdir " + d.getVar('ARCHIVER_RPMOUTDIR') + "'" |