From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Martin Jansa <martin.jansa@gmail.com>
Subject: [PATCH 2/2] package_rpm: add RPMBUILD_EXTRA_PARAMS variable
Date: Fri, 2 Feb 2024 14:24:34 +0100 [thread overview]
Message-ID: <20240202132434.1787053-2-martin.jansa@gmail.com> (raw)
In-Reply-To: <20240202132434.1787053-1-martin.jansa@gmail.com>
* 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 = ""
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
meta/classes-global/package_rpm.bbclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass
index 819ee50278..f932d2c928 100644
--- a/meta/classes-global/package_rpm.bbclass
+++ b/meta/classes-global/package_rpm.bbclass
@@ -683,6 +683,7 @@ python do_package_rpm () {
# Setup the rpmbuild arguments...
rpmbuild = d.getVar('RPMBUILD')
rpmbuild_compmode = d.getVar('RPMBUILD_COMPMODE')
+ rpmbuild_extra_params = d.getVar('RPMBUILD_EXTRA_PARAMS')
# Too many places in dnf stack assume that arch-independent packages are "noarch".
# Let's not fight against this.
@@ -724,6 +725,7 @@ python do_package_rpm () {
cmd = cmd + " --define '_use_weak_usergroup_deps 1'"
cmd = cmd + " --define '_passwd_path " + "/completely/bogus/path" + "'"
cmd = cmd + " --define '_group_path " + "/completely/bogus/path" + "'"
+ cmd = cmd + rpmbuild_extra_params
if d.getVarFlag('ARCHIVER_MODE', 'srpm') == '1' and bb.data.inherits_class('archiver', d):
cmd = cmd + " --define '_sourcedir " + d.getVar('ARCHIVER_OUTDIR') + "'"
cmdsrpm = cmd + " --define '_srcrpmdir " + d.getVar('ARCHIVER_RPMOUTDIR') + "'"
--
2.43.0
next prev parent reply other threads:[~2024-02-02 13:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-02 13:24 [PATCH 1/2] package_manager: ipk: add OPKG_MAKE_INDEX_EXTRA_PARAMS variable Martin Jansa
2024-02-02 13:24 ` Martin Jansa [this message]
2024-02-02 16:44 ` [OE-core] [PATCH 2/2] package_rpm: add RPMBUILD_EXTRA_PARAMS variable Alexandre Belloni
2024-02-02 15:40 ` [OE-core] [PATCH 1/2] package_manager: ipk: add OPKG_MAKE_INDEX_EXTRA_PARAMS variable Alex Stewart
2024-02-02 16:06 ` Martin Jansa
2024-02-02 23:17 ` Alexandre Belloni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240202132434.1787053-2-martin.jansa@gmail.com \
--to=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox