summaryrefslogtreecommitdiffstats
path: root/meta/classes-global
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2024-02-02 19:57:34 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-08 10:53:13 +0000
commit81d90fc81c093ecdd99a00382b2c85a3a4c429f2 (patch)
tree2cf5967364d3e79be9811fb54850492f6d24c655 /meta/classes-global
parent77f5f99fcfa202dbd6ffdbcfc4e4a056f2d6deae (diff)
downloadpoky-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>
Diffstat (limited to 'meta/classes-global')
-rw-r--r--meta/classes-global/package_rpm.bbclass2
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') + "'"