* [PATCH] rpm: Allow setting platform macro settings externally
@ 2023-07-25 13:57 Zoltán Böszörményi
2023-07-25 16:30 ` Alexander Kanavin
0 siblings, 1 reply; 9+ messages in thread
From: Zoltán Böszörményi @ 2023-07-25 13:57 UTC (permalink / raw)
To: openembedded-core
Cc: Ross Burton, Alexander Kanavin, Richard Purdie,
Zoltán Böszörményi
Feed platform settings to installplatform externally. Based on the patch
submitted under https://github.com/rpm-software-management/rpm/pull/2579
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
2 files changed, 73 insertions(+)
create mode 100644 meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
diff --git a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
new file mode 100644
index 0000000000..8b3220f114
--- /dev/null
+++ b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
@@ -0,0 +1,56 @@
+From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
+ <zboszor@gmail.com>
+Date: Tue, 25 Jul 2023 10:56:44 +0200
+Subject: [PATCH] Allow setting plaform macro settings externally
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Yocto has their own way to set the platform names via BSPs
+(Board Support Packages). These names are more specific than
+basic CPU architectures, and such a platform name ends up in
+/etc/rpm/platform but the corresponding subdirectory under
+/usr/lib/rpm/platform does not exist.
+
+Allow creating such custom platform subdirectory with feeding
+the necessary data using external variables: RPM_CUSTOM_ARCH,
+RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
+and RPM_CUSTOM_CANONCOLOR
+
+Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
+Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
+---
+ installplatform | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/installplatform b/installplatform
+index a5ad7c5b8..59f57697b 100755
+--- a/installplatform
++++ b/installplatform
+@@ -11,7 +11,7 @@ VENDOR="${4}"
+ OS="${5}"
+ RPMRC_GNU="${6}"
+
+-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2` ${RPM_CUSTOM_ARCH:+custom}; do
+ RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
+ RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
+ case $RPMRC_OPTFLAGS in
+@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
+ CANONCOLOR=
+ FILTER=cat
+ case "${ARCH}" in
++ custom)
++ ARCH=$RPM_CUSTOM_ARCH
++ ISANAME=$RPM_CUSTOM_ISANAME
++ ISABITS=$RPM_CUSTOM_ISABITS
++ CANONARCH=$RPM_CUSTOM_CANONARCH
++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
++ ;;
+ sparc64*)
+ ISANAME=sparc
+ ISABITS=64
+--
+2.41.0
+
diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
index 95a9e92f96..bc036fc843 100644
--- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
@@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
file://fix-declaration.patch \
file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
+ file://0001-Allow-setting-plaform-macro-settings-externally.patch \
"
PE = "1"
@@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
${libdir}/rpm/rpmdeps \
"
+def rpm_isaname(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
+ return "x86"
+ # Add more platform tweaks for ISANAME as needed
+ return arch
+
+export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
+export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
+export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
+export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
+# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
+export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib', '3', '0', d)}"
+
do_configure:prepend() {
mkdir -p ${S}/build-aux
}
@@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
do_install:append:class-target() {
rm -rf ${D}/var
}
+
do_install:append:class-nativesdk() {
rm -rf ${D}${SDKPATHNATIVE}/var
# Ensure find-debuginfo is located correctly inside SDK
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] rpm: Allow setting platform macro settings externally
2023-07-25 13:57 [PATCH] rpm: Allow setting platform macro settings externally Zoltán Böszörményi
@ 2023-07-25 16:30 ` Alexander Kanavin
2023-07-26 5:51 ` Böszörményi Zoltán
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Alexander Kanavin @ 2023-07-25 16:30 UTC (permalink / raw)
To: Zoltán Böszörményi
Cc: openembedded-core, Ross Burton, Richard Purdie
I would want to hold this until we have a reaction from upstream.
RPM_CUSTOM_* exports should go to specific tasks where they are needed.
Alex
On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
>
> Feed platform settings to installplatform externally. Based on the patch
> submitted under https://github.com/rpm-software-management/rpm/pull/2579
>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
> 2 files changed, 73 insertions(+)
> create mode 100644 meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>
> diff --git a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
> new file mode 100644
> index 0000000000..8b3220f114
> --- /dev/null
> +++ b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
> @@ -0,0 +1,56 @@
> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
> + <zboszor@gmail.com>
> +Date: Tue, 25 Jul 2023 10:56:44 +0200
> +Subject: [PATCH] Allow setting plaform macro settings externally
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Yocto has their own way to set the platform names via BSPs
> +(Board Support Packages). These names are more specific than
> +basic CPU architectures, and such a platform name ends up in
> +/etc/rpm/platform but the corresponding subdirectory under
> +/usr/lib/rpm/platform does not exist.
> +
> +Allow creating such custom platform subdirectory with feeding
> +the necessary data using external variables: RPM_CUSTOM_ARCH,
> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
> +and RPM_CUSTOM_CANONCOLOR
> +
> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
> +---
> + installplatform | 9 ++++++++-
> + 1 file changed, 8 insertions(+), 1 deletion(-)
> +
> +diff --git a/installplatform b/installplatform
> +index a5ad7c5b8..59f57697b 100755
> +--- a/installplatform
> ++++ b/installplatform
> +@@ -11,7 +11,7 @@ VENDOR="${4}"
> + OS="${5}"
> + RPMRC_GNU="${6}"
> +
> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2` ${RPM_CUSTOM_ARCH:+custom}; do
> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
> + case $RPMRC_OPTFLAGS in
> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
> + CANONCOLOR=
> + FILTER=cat
> + case "${ARCH}" in
> ++ custom)
> ++ ARCH=$RPM_CUSTOM_ARCH
> ++ ISANAME=$RPM_CUSTOM_ISANAME
> ++ ISABITS=$RPM_CUSTOM_ISABITS
> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
> ++ ;;
> + sparc64*)
> + ISANAME=sparc
> + ISABITS=64
> +--
> +2.41.0
> +
> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> index 95a9e92f96..bc036fc843 100644
> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
> file://fix-declaration.patch \
> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
> "
>
> PE = "1"
> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
> ${libdir}/rpm/rpmdeps \
> "
>
> +def rpm_isaname(d):
> + import re
> + arch = d.getVar('TARGET_ARCH')
> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
> + return "x86"
> + # Add more platform tweaks for ISANAME as needed
> + return arch
> +
> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib', '3', '0', d)}"
> +
> do_configure:prepend() {
> mkdir -p ${S}/build-aux
> }
> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
> do_install:append:class-target() {
> rm -rf ${D}/var
> }
> +
> do_install:append:class-nativesdk() {
> rm -rf ${D}${SDKPATHNATIVE}/var
> # Ensure find-debuginfo is located correctly inside SDK
> --
> 2.41.0
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] rpm: Allow setting platform macro settings externally
2023-07-25 16:30 ` Alexander Kanavin
@ 2023-07-26 5:51 ` Böszörményi Zoltán
2023-07-26 13:05 ` Böszörményi Zoltán
[not found] ` <17756CA97DEFC46E.21334@lists.openembedded.org>
2 siblings, 0 replies; 9+ messages in thread
From: Böszörményi Zoltán @ 2023-07-26 5:51 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core, Ross Burton, Richard Purdie
Sure, $SUBJECT should have been [RFC][PATCH].
Thanks.
2023. 07. 25. 18:30 keltezéssel, Alexander Kanavin írta:
> I would want to hold this until we have a reaction from upstream.
>
> RPM_CUSTOM_* exports should go to specific tasks where they are needed.
>
> Alex
>
> On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
>> Feed platform settings to installplatform externally. Based on the patch
>> submitted under https://github.com/rpm-software-management/rpm/pull/2579
>>
>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> ---
>> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
>> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
>> 2 files changed, 73 insertions(+)
>> create mode 100644 meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>
>> diff --git a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>> new file mode 100644
>> index 0000000000..8b3220f114
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>> @@ -0,0 +1,56 @@
>> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
>> + <zboszor@gmail.com>
>> +Date: Tue, 25 Jul 2023 10:56:44 +0200
>> +Subject: [PATCH] Allow setting plaform macro settings externally
>> +MIME-Version: 1.0
>> +Content-Type: text/plain; charset=UTF-8
>> +Content-Transfer-Encoding: 8bit
>> +
>> +Yocto has their own way to set the platform names via BSPs
>> +(Board Support Packages). These names are more specific than
>> +basic CPU architectures, and such a platform name ends up in
>> +/etc/rpm/platform but the corresponding subdirectory under
>> +/usr/lib/rpm/platform does not exist.
>> +
>> +Allow creating such custom platform subdirectory with feeding
>> +the necessary data using external variables: RPM_CUSTOM_ARCH,
>> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
>> +and RPM_CUSTOM_CANONCOLOR
>> +
>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
>> +---
>> + installplatform | 9 ++++++++-
>> + 1 file changed, 8 insertions(+), 1 deletion(-)
>> +
>> +diff --git a/installplatform b/installplatform
>> +index a5ad7c5b8..59f57697b 100755
>> +--- a/installplatform
>> ++++ b/installplatform
>> +@@ -11,7 +11,7 @@ VENDOR="${4}"
>> + OS="${5}"
>> + RPMRC_GNU="${6}"
>> +
>> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2` ${RPM_CUSTOM_ARCH:+custom}; do
>> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
>> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
>> + case $RPMRC_OPTFLAGS in
>> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>> + CANONCOLOR=
>> + FILTER=cat
>> + case "${ARCH}" in
>> ++ custom)
>> ++ ARCH=$RPM_CUSTOM_ARCH
>> ++ ISANAME=$RPM_CUSTOM_ISANAME
>> ++ ISABITS=$RPM_CUSTOM_ISABITS
>> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
>> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
>> ++ ;;
>> + sparc64*)
>> + ISANAME=sparc
>> + ISABITS=64
>> +--
>> +2.41.0
>> +
>> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>> index 95a9e92f96..bc036fc843 100644
>> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>> @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
>> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
>> file://fix-declaration.patch \
>> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
>> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
>> "
>>
>> PE = "1"
>> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
>> ${libdir}/rpm/rpmdeps \
>> "
>>
>> +def rpm_isaname(d):
>> + import re
>> + arch = d.getVar('TARGET_ARCH')
>> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
>> + return "x86"
>> + # Add more platform tweaks for ISANAME as needed
>> + return arch
>> +
>> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
>> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
>> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
>> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
>> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
>> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib', '3', '0', d)}"
>> +
>> do_configure:prepend() {
>> mkdir -p ${S}/build-aux
>> }
>> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
>> do_install:append:class-target() {
>> rm -rf ${D}/var
>> }
>> +
>> do_install:append:class-nativesdk() {
>> rm -rf ${D}${SDKPATHNATIVE}/var
>> # Ensure find-debuginfo is located correctly inside SDK
>> --
>> 2.41.0
>>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] rpm: Allow setting platform macro settings externally
2023-07-25 16:30 ` Alexander Kanavin
2023-07-26 5:51 ` Böszörményi Zoltán
@ 2023-07-26 13:05 ` Böszörményi Zoltán
[not found] ` <17756CA97DEFC46E.21334@lists.openembedded.org>
2 siblings, 0 replies; 9+ messages in thread
From: Böszörményi Zoltán @ 2023-07-26 13:05 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core, Ross Burton, Richard Purdie
2023. 07. 25. 18:30 keltezéssel, Alexander Kanavin írta:
> I would want to hold this until we have a reaction from upstream.
Now we have reaction. Both PRs were closed because they were not
against master, my bad. Now reopened against master as
https://github.com/rpm-software-management/rpm/pull/2585
But there was some real comment here:
https://github.com/rpm-software-management/rpm/pull/2580#issuecomment-1651647277
The discussion may/should be taken to the issue at
https://github.com/rpm-software-management/rpm/issues/2578
> RPM_CUSTOM_* exports should go to specific tasks where they are needed.
>
> Alex
>
> On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
>> Feed platform settings to installplatform externally. Based on the patch
>> submitted under https://github.com/rpm-software-management/rpm/pull/2579
>>
>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> ---
>> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
>> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
>> 2 files changed, 73 insertions(+)
>> create mode 100644 meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>
>> diff --git a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>> new file mode 100644
>> index 0000000000..8b3220f114
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>> @@ -0,0 +1,56 @@
>> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
>> + <zboszor@gmail.com>
>> +Date: Tue, 25 Jul 2023 10:56:44 +0200
>> +Subject: [PATCH] Allow setting plaform macro settings externally
>> +MIME-Version: 1.0
>> +Content-Type: text/plain; charset=UTF-8
>> +Content-Transfer-Encoding: 8bit
>> +
>> +Yocto has their own way to set the platform names via BSPs
>> +(Board Support Packages). These names are more specific than
>> +basic CPU architectures, and such a platform name ends up in
>> +/etc/rpm/platform but the corresponding subdirectory under
>> +/usr/lib/rpm/platform does not exist.
>> +
>> +Allow creating such custom platform subdirectory with feeding
>> +the necessary data using external variables: RPM_CUSTOM_ARCH,
>> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
>> +and RPM_CUSTOM_CANONCOLOR
>> +
>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
>> +---
>> + installplatform | 9 ++++++++-
>> + 1 file changed, 8 insertions(+), 1 deletion(-)
>> +
>> +diff --git a/installplatform b/installplatform
>> +index a5ad7c5b8..59f57697b 100755
>> +--- a/installplatform
>> ++++ b/installplatform
>> +@@ -11,7 +11,7 @@ VENDOR="${4}"
>> + OS="${5}"
>> + RPMRC_GNU="${6}"
>> +
>> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2` ${RPM_CUSTOM_ARCH:+custom}; do
>> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
>> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
>> + case $RPMRC_OPTFLAGS in
>> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>> + CANONCOLOR=
>> + FILTER=cat
>> + case "${ARCH}" in
>> ++ custom)
>> ++ ARCH=$RPM_CUSTOM_ARCH
>> ++ ISANAME=$RPM_CUSTOM_ISANAME
>> ++ ISABITS=$RPM_CUSTOM_ISABITS
>> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
>> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
>> ++ ;;
>> + sparc64*)
>> + ISANAME=sparc
>> + ISABITS=64
>> +--
>> +2.41.0
>> +
>> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>> index 95a9e92f96..bc036fc843 100644
>> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>> @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
>> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
>> file://fix-declaration.patch \
>> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
>> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
>> "
>>
>> PE = "1"
>> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
>> ${libdir}/rpm/rpmdeps \
>> "
>>
>> +def rpm_isaname(d):
>> + import re
>> + arch = d.getVar('TARGET_ARCH')
>> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
>> + return "x86"
>> + # Add more platform tweaks for ISANAME as needed
>> + return arch
>> +
>> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
>> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
>> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
>> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
>> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
>> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib', '3', '0', d)}"
>> +
>> do_configure:prepend() {
>> mkdir -p ${S}/build-aux
>> }
>> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
>> do_install:append:class-target() {
>> rm -rf ${D}/var
>> }
>> +
>> do_install:append:class-nativesdk() {
>> rm -rf ${D}${SDKPATHNATIVE}/var
>> # Ensure find-debuginfo is located correctly inside SDK
>> --
>> 2.41.0
>>
^ permalink raw reply [flat|nested] 9+ messages in thread[parent not found: <17756CA97DEFC46E.21334@lists.openembedded.org>]
* Re: [OE-core] [PATCH] rpm: Allow setting platform macro settings externally
[not found] ` <17756CA97DEFC46E.21334@lists.openembedded.org>
@ 2023-07-27 7:32 ` Böszörményi Zoltán
2023-07-27 8:30 ` Alexander Kanavin
0 siblings, 1 reply; 9+ messages in thread
From: Böszörményi Zoltán @ 2023-07-27 7:32 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core, Ross Burton, Richard Purdie
Patch approved with the requested changes.
I sent a v2 with using the approved patch and adding
the exports only to do_install:class-target because
that's where it's needed.
2023. 07. 26. 15:05 keltezéssel, Zoltan Boszormenyi via lists.openembedded.org írta:
> 2023. 07. 25. 18:30 keltezéssel, Alexander Kanavin írta:
>> I would want to hold this until we have a reaction from upstream.
>
> Now we have reaction. Both PRs were closed because they were not
> against master, my bad. Now reopened against master as
> https://github.com/rpm-software-management/rpm/pull/2585
>
> But there was some real comment here:
> https://github.com/rpm-software-management/rpm/pull/2580#issuecomment-1651647277
>
> The discussion may/should be taken to the issue at
> https://github.com/rpm-software-management/rpm/issues/2578
>
>> RPM_CUSTOM_* exports should go to specific tasks where they are needed.
>>
>> Alex
>>
>> On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
>>> Feed platform settings to installplatform externally. Based on the patch
>>> submitted under https://github.com/rpm-software-management/rpm/pull/2579
>>>
>>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>> ---
>>> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
>>> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
>>> 2 files changed, 73 insertions(+)
>>> create mode 100644
>>> meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>
>>> diff --git
>>> a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>
>>> new file mode 100644
>>> index 0000000000..8b3220f114
>>> --- /dev/null
>>> +++
>>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>> @@ -0,0 +1,56 @@
>>> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
>>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
>>> + <zboszor@gmail.com>
>>> +Date: Tue, 25 Jul 2023 10:56:44 +0200
>>> +Subject: [PATCH] Allow setting plaform macro settings externally
>>> +MIME-Version: 1.0
>>> +Content-Type: text/plain; charset=UTF-8
>>> +Content-Transfer-Encoding: 8bit
>>> +
>>> +Yocto has their own way to set the platform names via BSPs
>>> +(Board Support Packages). These names are more specific than
>>> +basic CPU architectures, and such a platform name ends up in
>>> +/etc/rpm/platform but the corresponding subdirectory under
>>> +/usr/lib/rpm/platform does not exist.
>>> +
>>> +Allow creating such custom platform subdirectory with feeding
>>> +the necessary data using external variables: RPM_CUSTOM_ARCH,
>>> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
>>> +and RPM_CUSTOM_CANONCOLOR
>>> +
>>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
>>> +---
>>> + installplatform | 9 ++++++++-
>>> + 1 file changed, 8 insertions(+), 1 deletion(-)
>>> +
>>> +diff --git a/installplatform b/installplatform
>>> +index a5ad7c5b8..59f57697b 100755
>>> +--- a/installplatform
>>> ++++ b/installplatform
>>> +@@ -11,7 +11,7 @@ VENDOR="${4}"
>>> + OS="${5}"
>>> + RPMRC_GNU="${6}"
>>> +
>>> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>>> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`
>>> ${RPM_CUSTOM_ARCH:+custom}; do
>>> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
>>> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
>>> + case $RPMRC_OPTFLAGS in
>>> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>>> + CANONCOLOR=
>>> + FILTER=cat
>>> + case "${ARCH}" in
>>> ++ custom)
>>> ++ ARCH=$RPM_CUSTOM_ARCH
>>> ++ ISANAME=$RPM_CUSTOM_ISANAME
>>> ++ ISABITS=$RPM_CUSTOM_ISABITS
>>> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
>>> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
>>> ++ ;;
>>> + sparc64*)
>>> + ISANAME=sparc
>>> + ISABITS=64
>>> +--
>>> +2.41.0
>>> +
>>> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>> b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>> index 95a9e92f96..bc036fc843 100644
>>> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>> @@ -40,6 +40,7 @@ SRC_URI =
>>> "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
>>> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
>>> file://fix-declaration.patch \
>>> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
>>> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
>>> "
>>>
>>> PE = "1"
>>> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
>>> ${libdir}/rpm/rpmdeps \
>>> "
>>>
>>> +def rpm_isaname(d):
>>> + import re
>>> + arch = d.getVar('TARGET_ARCH')
>>> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
>>> + return "x86"
>>> + # Add more platform tweaks for ISANAME as needed
>>> + return arch
>>> +
>>> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
>>> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
>>> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
>>> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
>>> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
>>> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib',
>>> '3', '0', d)}"
>>> +
>>> do_configure:prepend() {
>>> mkdir -p ${S}/build-aux
>>> }
>>> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
>>> do_install:append:class-target() {
>>> rm -rf ${D}/var
>>> }
>>> +
>>> do_install:append:class-nativesdk() {
>>> rm -rf ${D}${SDKPATHNATIVE}/var
>>> # Ensure find-debuginfo is located correctly inside SDK
>>> --
>>> 2.41.0
>>>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184883): https://lists.openembedded.org/g/openembedded-core/message/184883
> Mute This Topic: https://lists.openembedded.org/mt/100350661/3617728
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [zboszor@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [OE-core] [PATCH] rpm: Allow setting platform macro settings externally
2023-07-27 7:32 ` [OE-core] " Böszörményi Zoltán
@ 2023-07-27 8:30 ` Alexander Kanavin
2023-07-27 8:39 ` Böszörményi Zoltán
2023-07-28 12:12 ` Böszörményi Zoltán
0 siblings, 2 replies; 9+ messages in thread
From: Alexander Kanavin @ 2023-07-27 8:30 UTC (permalink / raw)
To: Böszörményi Zoltán
Cc: openembedded-core, Ross Burton, Richard Purdie
I was hoping to get a reaction from Panu (who's the maintainer; Neal
is a contributor), but then I remembered he's a Finn, and this time of
the year all Finns disappear into summer cabins - temperatures above
+20 are still rare in that country, and actual sun in the sky is even
more precious :)
So I'm slightly torn: I don't have anything against the patch, I just
don't want to carry (and maintain) something that upstream rejected.
We've had plenty of such incidents with rpm in the past.
Alex
On Thu, 27 Jul 2023 at 09:32, Böszörményi Zoltán <zboszor@gmail.com> wrote:
>
> Patch approved with the requested changes.
>
> I sent a v2 with using the approved patch and adding
> the exports only to do_install:class-target because
> that's where it's needed.
>
> 2023. 07. 26. 15:05 keltezéssel, Zoltan Boszormenyi via lists.openembedded.org írta:
> > 2023. 07. 25. 18:30 keltezéssel, Alexander Kanavin írta:
> >> I would want to hold this until we have a reaction from upstream.
> >
> > Now we have reaction. Both PRs were closed because they were not
> > against master, my bad. Now reopened against master as
> > https://github.com/rpm-software-management/rpm/pull/2585
> >
> > But there was some real comment here:
> > https://github.com/rpm-software-management/rpm/pull/2580#issuecomment-1651647277
> >
> > The discussion may/should be taken to the issue at
> > https://github.com/rpm-software-management/rpm/issues/2578
> >
> >> RPM_CUSTOM_* exports should go to specific tasks where they are needed.
> >>
> >> Alex
> >>
> >> On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
> >>> Feed platform settings to installplatform externally. Based on the patch
> >>> submitted under https://github.com/rpm-software-management/rpm/pull/2579
> >>>
> >>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> >>> ---
> >>> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
> >>> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
> >>> 2 files changed, 73 insertions(+)
> >>> create mode 100644
> >>> meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
> >>>
> >>> diff --git
> >>> a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
> >>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
> >>>
> >>> new file mode 100644
> >>> index 0000000000..8b3220f114
> >>> --- /dev/null
> >>> +++
> >>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
> >>> @@ -0,0 +1,56 @@
> >>> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
> >>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
> >>> + <zboszor@gmail.com>
> >>> +Date: Tue, 25 Jul 2023 10:56:44 +0200
> >>> +Subject: [PATCH] Allow setting plaform macro settings externally
> >>> +MIME-Version: 1.0
> >>> +Content-Type: text/plain; charset=UTF-8
> >>> +Content-Transfer-Encoding: 8bit
> >>> +
> >>> +Yocto has their own way to set the platform names via BSPs
> >>> +(Board Support Packages). These names are more specific than
> >>> +basic CPU architectures, and such a platform name ends up in
> >>> +/etc/rpm/platform but the corresponding subdirectory under
> >>> +/usr/lib/rpm/platform does not exist.
> >>> +
> >>> +Allow creating such custom platform subdirectory with feeding
> >>> +the necessary data using external variables: RPM_CUSTOM_ARCH,
> >>> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
> >>> +and RPM_CUSTOM_CANONCOLOR
> >>> +
> >>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> >>> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
> >>> +---
> >>> + installplatform | 9 ++++++++-
> >>> + 1 file changed, 8 insertions(+), 1 deletion(-)
> >>> +
> >>> +diff --git a/installplatform b/installplatform
> >>> +index a5ad7c5b8..59f57697b 100755
> >>> +--- a/installplatform
> >>> ++++ b/installplatform
> >>> +@@ -11,7 +11,7 @@ VENDOR="${4}"
> >>> + OS="${5}"
> >>> + RPMRC_GNU="${6}"
> >>> +
> >>> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
> >>> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`
> >>> ${RPM_CUSTOM_ARCH:+custom}; do
> >>> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
> >>> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
> >>> + case $RPMRC_OPTFLAGS in
> >>> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
> >>> + CANONCOLOR=
> >>> + FILTER=cat
> >>> + case "${ARCH}" in
> >>> ++ custom)
> >>> ++ ARCH=$RPM_CUSTOM_ARCH
> >>> ++ ISANAME=$RPM_CUSTOM_ISANAME
> >>> ++ ISABITS=$RPM_CUSTOM_ISABITS
> >>> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
> >>> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
> >>> ++ ;;
> >>> + sparc64*)
> >>> + ISANAME=sparc
> >>> + ISABITS=64
> >>> +--
> >>> +2.41.0
> >>> +
> >>> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> >>> b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> >>> index 95a9e92f96..bc036fc843 100644
> >>> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> >>> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
> >>> @@ -40,6 +40,7 @@ SRC_URI =
> >>> "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
> >>> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
> >>> file://fix-declaration.patch \
> >>> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
> >>> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
> >>> "
> >>>
> >>> PE = "1"
> >>> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
> >>> ${libdir}/rpm/rpmdeps \
> >>> "
> >>>
> >>> +def rpm_isaname(d):
> >>> + import re
> >>> + arch = d.getVar('TARGET_ARCH')
> >>> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
> >>> + return "x86"
> >>> + # Add more platform tweaks for ISANAME as needed
> >>> + return arch
> >>> +
> >>> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
> >>> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
> >>> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
> >>> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
> >>> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
> >>> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib',
> >>> '3', '0', d)}"
> >>> +
> >>> do_configure:prepend() {
> >>> mkdir -p ${S}/build-aux
> >>> }
> >>> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
> >>> do_install:append:class-target() {
> >>> rm -rf ${D}/var
> >>> }
> >>> +
> >>> do_install:append:class-nativesdk() {
> >>> rm -rf ${D}${SDKPATHNATIVE}/var
> >>> # Ensure find-debuginfo is located correctly inside SDK
> >>> --
> >>> 2.41.0
> >>>
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#184883): https://lists.openembedded.org/g/openembedded-core/message/184883
> > Mute This Topic: https://lists.openembedded.org/mt/100350661/3617728
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [zboszor@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [OE-core] [PATCH] rpm: Allow setting platform macro settings externally
2023-07-27 8:30 ` Alexander Kanavin
@ 2023-07-27 8:39 ` Böszörményi Zoltán
2023-07-28 12:12 ` Böszörményi Zoltán
1 sibling, 0 replies; 9+ messages in thread
From: Böszörményi Zoltán @ 2023-07-27 8:39 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core, Ross Burton, Richard Purdie
2023. 07. 27. 10:30 keltezéssel, Alexander Kanavin írta:
> I was hoping to get a reaction from Panu (who's the maintainer; Neal
> is a contributor), but then I remembered he's a Finn, and this time of
> the year all Finns disappear into summer cabins - temperatures above
> +20 are still rare in that country, and actual sun in the sky is even
> more precious :)
:-)
> So I'm slightly torn: I don't have anything against the patch, I just
> don't want to carry (and maintain) something that upstream rejected.
> We've had plenty of such incidents with rpm in the past.
No problem. I can carry the patch and recipe change internally in
bbappend form until it's decided. Apparently, it's only me where
the use case to need rpmbuild on a target machine ever occurred.
Thanks.
>
> Alex
>
> On Thu, 27 Jul 2023 at 09:32, Böszörményi Zoltán <zboszor@gmail.com> wrote:
>> Patch approved with the requested changes.
>>
>> I sent a v2 with using the approved patch and adding
>> the exports only to do_install:class-target because
>> that's where it's needed.
>>
>> 2023. 07. 26. 15:05 keltezéssel, Zoltan Boszormenyi via lists.openembedded.org írta:
>>> 2023. 07. 25. 18:30 keltezéssel, Alexander Kanavin írta:
>>>> I would want to hold this until we have a reaction from upstream.
>>> Now we have reaction. Both PRs were closed because they were not
>>> against master, my bad. Now reopened against master as
>>> https://github.com/rpm-software-management/rpm/pull/2585
>>>
>>> But there was some real comment here:
>>> https://github.com/rpm-software-management/rpm/pull/2580#issuecomment-1651647277
>>>
>>> The discussion may/should be taken to the issue at
>>> https://github.com/rpm-software-management/rpm/issues/2578
>>>
>>>> RPM_CUSTOM_* exports should go to specific tasks where they are needed.
>>>>
>>>> Alex
>>>>
>>>> On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
>>>>> Feed platform settings to installplatform externally. Based on the patch
>>>>> submitted under https://github.com/rpm-software-management/rpm/pull/2579
>>>>>
>>>>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>>>> ---
>>>>> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
>>>>> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
>>>>> 2 files changed, 73 insertions(+)
>>>>> create mode 100644
>>>>> meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>>
>>>>> diff --git
>>>>> a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>>
>>>>> new file mode 100644
>>>>> index 0000000000..8b3220f114
>>>>> --- /dev/null
>>>>> +++
>>>>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>> @@ -0,0 +1,56 @@
>>>>> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
>>>>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
>>>>> + <zboszor@gmail.com>
>>>>> +Date: Tue, 25 Jul 2023 10:56:44 +0200
>>>>> +Subject: [PATCH] Allow setting plaform macro settings externally
>>>>> +MIME-Version: 1.0
>>>>> +Content-Type: text/plain; charset=UTF-8
>>>>> +Content-Transfer-Encoding: 8bit
>>>>> +
>>>>> +Yocto has their own way to set the platform names via BSPs
>>>>> +(Board Support Packages). These names are more specific than
>>>>> +basic CPU architectures, and such a platform name ends up in
>>>>> +/etc/rpm/platform but the corresponding subdirectory under
>>>>> +/usr/lib/rpm/platform does not exist.
>>>>> +
>>>>> +Allow creating such custom platform subdirectory with feeding
>>>>> +the necessary data using external variables: RPM_CUSTOM_ARCH,
>>>>> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
>>>>> +and RPM_CUSTOM_CANONCOLOR
>>>>> +
>>>>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>>>> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
>>>>> +---
>>>>> + installplatform | 9 ++++++++-
>>>>> + 1 file changed, 8 insertions(+), 1 deletion(-)
>>>>> +
>>>>> +diff --git a/installplatform b/installplatform
>>>>> +index a5ad7c5b8..59f57697b 100755
>>>>> +--- a/installplatform
>>>>> ++++ b/installplatform
>>>>> +@@ -11,7 +11,7 @@ VENDOR="${4}"
>>>>> + OS="${5}"
>>>>> + RPMRC_GNU="${6}"
>>>>> +
>>>>> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>>>>> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`
>>>>> ${RPM_CUSTOM_ARCH:+custom}; do
>>>>> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
>>>>> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
>>>>> + case $RPMRC_OPTFLAGS in
>>>>> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>>>>> + CANONCOLOR=
>>>>> + FILTER=cat
>>>>> + case "${ARCH}" in
>>>>> ++ custom)
>>>>> ++ ARCH=$RPM_CUSTOM_ARCH
>>>>> ++ ISANAME=$RPM_CUSTOM_ISANAME
>>>>> ++ ISABITS=$RPM_CUSTOM_ISABITS
>>>>> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
>>>>> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
>>>>> ++ ;;
>>>>> + sparc64*)
>>>>> + ISANAME=sparc
>>>>> + ISABITS=64
>>>>> +--
>>>>> +2.41.0
>>>>> +
>>>>> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> index 95a9e92f96..bc036fc843 100644
>>>>> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> @@ -40,6 +40,7 @@ SRC_URI =
>>>>> "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
>>>>> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
>>>>> file://fix-declaration.patch \
>>>>> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
>>>>> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
>>>>> "
>>>>>
>>>>> PE = "1"
>>>>> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
>>>>> ${libdir}/rpm/rpmdeps \
>>>>> "
>>>>>
>>>>> +def rpm_isaname(d):
>>>>> + import re
>>>>> + arch = d.getVar('TARGET_ARCH')
>>>>> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
>>>>> + return "x86"
>>>>> + # Add more platform tweaks for ISANAME as needed
>>>>> + return arch
>>>>> +
>>>>> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
>>>>> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
>>>>> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
>>>>> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
>>>>> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
>>>>> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib',
>>>>> '3', '0', d)}"
>>>>> +
>>>>> do_configure:prepend() {
>>>>> mkdir -p ${S}/build-aux
>>>>> }
>>>>> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
>>>>> do_install:append:class-target() {
>>>>> rm -rf ${D}/var
>>>>> }
>>>>> +
>>>>> do_install:append:class-nativesdk() {
>>>>> rm -rf ${D}${SDKPATHNATIVE}/var
>>>>> # Ensure find-debuginfo is located correctly inside SDK
>>>>> --
>>>>> 2.41.0
>>>>>
>>>
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> View/Reply Online (#184883): https://lists.openembedded.org/g/openembedded-core/message/184883
>>> Mute This Topic: https://lists.openembedded.org/mt/100350661/3617728
>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [zboszor@gmail.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [OE-core] [PATCH] rpm: Allow setting platform macro settings externally
2023-07-27 8:30 ` Alexander Kanavin
2023-07-27 8:39 ` Böszörményi Zoltán
@ 2023-07-28 12:12 ` Böszörményi Zoltán
2023-07-28 13:01 ` Alexander Kanavin
1 sibling, 1 reply; 9+ messages in thread
From: Böszörményi Zoltán @ 2023-07-28 12:12 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core, Ross Burton, Richard Purdie
2023. 07. 27. 10:30 keltezéssel, Alexander Kanavin írta:
> I was hoping to get a reaction from Panu (who's the maintainer; Neal
> is a contributor), but then I remembered he's a Finn, and this time of
> the year all Finns disappear into summer cabins - temperatures above
> +20 are still rare in that country, and actual sun in the sky is even
> more precious :)
>
> So I'm slightly torn: I don't have anything against the patch, I just
> don't want to carry (and maintain) something that upstream rejected.
> We've had plenty of such incidents with rpm in the past.
Fanfare... my RPM PR was merged.
https://github.com/rpm-software-management/rpm/pull/2585
Neal slightly modified the INSTALL text, though.
Should I send an update after v3, or you can work with that?
Thanks.
>
> Alex
>
> On Thu, 27 Jul 2023 at 09:32, Böszörményi Zoltán <zboszor@gmail.com> wrote:
>> Patch approved with the requested changes.
>>
>> I sent a v2 with using the approved patch and adding
>> the exports only to do_install:class-target because
>> that's where it's needed.
>>
>> 2023. 07. 26. 15:05 keltezéssel, Zoltan Boszormenyi via lists.openembedded.org írta:
>>> 2023. 07. 25. 18:30 keltezéssel, Alexander Kanavin írta:
>>>> I would want to hold this until we have a reaction from upstream.
>>> Now we have reaction. Both PRs were closed because they were not
>>> against master, my bad. Now reopened against master as
>>> https://github.com/rpm-software-management/rpm/pull/2585
>>>
>>> But there was some real comment here:
>>> https://github.com/rpm-software-management/rpm/pull/2580#issuecomment-1651647277
>>>
>>> The discussion may/should be taken to the issue at
>>> https://github.com/rpm-software-management/rpm/issues/2578
>>>
>>>> RPM_CUSTOM_* exports should go to specific tasks where they are needed.
>>>>
>>>> Alex
>>>>
>>>> On Tue, 25 Jul 2023 at 15:57, Zoltán Böszörményi <zboszor@gmail.com> wrote:
>>>>> Feed platform settings to installplatform externally. Based on the patch
>>>>> submitted under https://github.com/rpm-software-management/rpm/pull/2579
>>>>>
>>>>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>>>> ---
>>>>> ...ng-plaform-macro-settings-externally.patch | 56 +++++++++++++++++++
>>>>> meta/recipes-devtools/rpm/rpm_4.18.1.bb | 17 ++++++
>>>>> 2 files changed, 73 insertions(+)
>>>>> create mode 100644
>>>>> meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>>
>>>>> diff --git
>>>>> a/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>>
>>>>> new file mode 100644
>>>>> index 0000000000..8b3220f114
>>>>> --- /dev/null
>>>>> +++
>>>>> b/meta/recipes-devtools/rpm/files/0001-Allow-setting-plaform-macro-settings-externally.patch
>>>>> @@ -0,0 +1,56 @@
>>>>> +From 320f4f3861dad70342f065004311eac143d6522d Mon Sep 17 00:00:00 2001
>>>>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
>>>>> + <zboszor@gmail.com>
>>>>> +Date: Tue, 25 Jul 2023 10:56:44 +0200
>>>>> +Subject: [PATCH] Allow setting plaform macro settings externally
>>>>> +MIME-Version: 1.0
>>>>> +Content-Type: text/plain; charset=UTF-8
>>>>> +Content-Transfer-Encoding: 8bit
>>>>> +
>>>>> +Yocto has their own way to set the platform names via BSPs
>>>>> +(Board Support Packages). These names are more specific than
>>>>> +basic CPU architectures, and such a platform name ends up in
>>>>> +/etc/rpm/platform but the corresponding subdirectory under
>>>>> +/usr/lib/rpm/platform does not exist.
>>>>> +
>>>>> +Allow creating such custom platform subdirectory with feeding
>>>>> +the necessary data using external variables: RPM_CUSTOM_ARCH,
>>>>> +RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
>>>>> +and RPM_CUSTOM_CANONCOLOR
>>>>> +
>>>>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>>>> +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2579]
>>>>> +---
>>>>> + installplatform | 9 ++++++++-
>>>>> + 1 file changed, 8 insertions(+), 1 deletion(-)
>>>>> +
>>>>> +diff --git a/installplatform b/installplatform
>>>>> +index a5ad7c5b8..59f57697b 100755
>>>>> +--- a/installplatform
>>>>> ++++ b/installplatform
>>>>> +@@ -11,7 +11,7 @@ VENDOR="${4}"
>>>>> + OS="${5}"
>>>>> + RPMRC_GNU="${6}"
>>>>> +
>>>>> +-for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>>>>> ++for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`
>>>>> ${RPM_CUSTOM_ARCH:+custom}; do
>>>>> + RPMRC_OPTFLAGS="`sed -n 's/^optflags: '$ARCH' //p' $RPMRC`"
>>>>> + RPMRC_OPTFLAGS="`echo $RPMRC_OPTFLAGS | sed -e 's, ,\ ,g'`"
>>>>> + case $RPMRC_OPTFLAGS in
>>>>> +@@ -30,6 +30,13 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
>>>>> + CANONCOLOR=
>>>>> + FILTER=cat
>>>>> + case "${ARCH}" in
>>>>> ++ custom)
>>>>> ++ ARCH=$RPM_CUSTOM_ARCH
>>>>> ++ ISANAME=$RPM_CUSTOM_ISANAME
>>>>> ++ ISABITS=$RPM_CUSTOM_ISABITS
>>>>> ++ CANONARCH=$RPM_CUSTOM_CANONARCH
>>>>> ++ CANONCOLOR=$RPM_CUSTOM_CANONCOLOR
>>>>> ++ ;;
>>>>> + sparc64*)
>>>>> + ISANAME=sparc
>>>>> + ISABITS=64
>>>>> +--
>>>>> +2.41.0
>>>>> +
>>>>> diff --git a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> index 95a9e92f96..bc036fc843 100644
>>>>> --- a/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> +++ b/meta/recipes-devtools/rpm/rpm_4.18.1.bb
>>>>> @@ -40,6 +40,7 @@ SRC_URI =
>>>>> "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
>>>>> file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
>>>>> file://fix-declaration.patch \
>>>>> file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
>>>>> + file://0001-Allow-setting-plaform-macro-settings-externally.patch \
>>>>> "
>>>>>
>>>>> PE = "1"
>>>>> @@ -103,6 +104,21 @@ WRAPPER_TOOLS = " \
>>>>> ${libdir}/rpm/rpmdeps \
>>>>> "
>>>>>
>>>>> +def rpm_isaname(d):
>>>>> + import re
>>>>> + arch = d.getVar('TARGET_ARCH')
>>>>> + if re.match("^i.86$", arch) or re.match("^x86.*64$", arch):
>>>>> + return "x86"
>>>>> + # Add more platform tweaks for ISANAME as needed
>>>>> + return arch
>>>>> +
>>>>> +export RPM_CUSTOM_ARCH = "${MACHINE_ARCH}"
>>>>> +export RPM_CUSTOM_ISANAME = "${@rpm_isaname(d)}"
>>>>> +export RPM_CUSTOM_ISABITS = "${SITEINFO_BITS}"
>>>>> +export RPM_CUSTOM_CANONARCH = "${TARGET_ARCH}"
>>>>> +# CANONCOLOR determines whether /usr/lib or /usr/lib64 is used for a 64-bit platform
>>>>> +export RPM_CUSTOM_CANONCOLOR = "${@bb.utils.contains('DISTRO_FEATURES', 'multilib',
>>>>> '3', '0', d)}"
>>>>> +
>>>>> do_configure:prepend() {
>>>>> mkdir -p ${S}/build-aux
>>>>> }
>>>>> @@ -132,6 +148,7 @@ do_install:append:class-nativesdk() {
>>>>> do_install:append:class-target() {
>>>>> rm -rf ${D}/var
>>>>> }
>>>>> +
>>>>> do_install:append:class-nativesdk() {
>>>>> rm -rf ${D}${SDKPATHNATIVE}/var
>>>>> # Ensure find-debuginfo is located correctly inside SDK
>>>>> --
>>>>> 2.41.0
>>>>>
>>>
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> View/Reply Online (#184883): https://lists.openembedded.org/g/openembedded-core/message/184883
>>> Mute This Topic: https://lists.openembedded.org/mt/100350661/3617728
>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [zboszor@gmail.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-07-28 13:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-25 13:57 [PATCH] rpm: Allow setting platform macro settings externally Zoltán Böszörményi
2023-07-25 16:30 ` Alexander Kanavin
2023-07-26 5:51 ` Böszörményi Zoltán
2023-07-26 13:05 ` Böszörményi Zoltán
[not found] ` <17756CA97DEFC46E.21334@lists.openembedded.org>
2023-07-27 7:32 ` [OE-core] " Böszörményi Zoltán
2023-07-27 8:30 ` Alexander Kanavin
2023-07-27 8:39 ` Böszörményi Zoltán
2023-07-28 12:12 ` Böszörményi Zoltán
2023-07-28 13:01 ` Alexander Kanavin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox