[PATCH 1/2] debugedit: add recipe


Chen Qi
 

This recipe provides find-debuginfo which is used by rpm, more
specifically rpmbuild.

RPM upstream removed find-debuginfo and switched to use debugedit
in the following commit.

https://github.com/rpm-software-management/rpm/commit/04b0805a756cdd9466fb9dc717846f5bf15518cc

Without debugedit, rpmbuild fails to generate debuginfo package when
%debug_package is added to spec file.

Signed-off-by: Chen Qi <Qi.Chen@...>
---
.../debugedit/debugedit_5.0.bb | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 meta/recipes-devtools/debugedit/debugedit_5.0.bb

diff --git a/meta/recipes-devtools/debugedit/debugedit_5.0.bb b/meta/recipes-devtools/debugedit/debugedit_5.0.bb
new file mode 100644
index 0000000000..624adf0416
--- /dev/null
+++ b/meta/recipes-devtools/debugedit/debugedit_5.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tools for creating debuginfo and source file distributions"
+DESCRIPTION = "debugedit provides programs and scripts for creating \
+debuginfo and source file distributions, collect build-ids and rewrite \
+source paths in DWARF data for debugging, tracing and profiling."
+HOMEPAGE = "https://sourceware.org/debugedit/"
+
+LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "https://sourceware.org/ftp/debugedit/${PV}/debugedit-${PV}.tar.xz"
+SRC_URI[sha256sum] = "e9ecd7d350bebae1f178ce6776ca19a648b6fe8fa22f5b3044b38d7899aa553e"
+
+DEPENDS = "elfutils"
+
+inherit pkgconfig autotools
+
+RDEPENDS:${PN} += "bash elfutils-binutils"
+
+BBCLASSEXTEND = "native nativesdk"
--
2.17.1


Ross Burton
 

On 21 Mar 2023, at 15:40, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@...> wrote:

This recipe provides find-debuginfo which is used by rpm, more
specifically rpmbuild.

RPM upstream removed find-debuginfo and switched to use debugedit
in the following commit.

https://github.com/rpm-software-management/rpm/commit/04b0805a756cdd9466fb9dc717846f5bf15518cc

Without debugedit, rpmbuild fails to generate debuginfo package when
%debug_package is added to spec file.
Our spec files don’t do that, so why would this be a problem?

Are you building “native” spec files on target?

Ross


Chen Qi
 

On 3/22/23 01:50, Ross Burton wrote:
On 21 Mar 2023, at 15:40, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@...> wrote:
This recipe provides find-debuginfo which is used by rpm, more
specifically rpmbuild.

RPM upstream removed find-debuginfo and switched to use debugedit
in the following commit.

https://github.com/rpm-software-management/rpm/commit/04b0805a756cdd9466fb9dc717846f5bf15518cc

Without debugedit, rpmbuild fails to generate debuginfo package when
%debug_package is added to spec file.
Our spec files don’t do that, so why would this be a problem?

Are you building “native” spec files on target?

Ross
The original problem comes from users using nativesdk-rpm-build to generate debuginfo packages inside SDK.

This mainly affects target rpm-build and nativesdk-rpm-build. rpm-native is not affected, because our build system does not use %debug_package. And users would usually care about rpm on target and inside SDK, because that's the tool that would usually use to accomplish their tasks. Without this recipe, the 'rpmbuild' lacks the ability to generate debuginfo package. We can also see from the following link that RPM treats debugedit as a requirement.

https://github.com/rpm-software-management/rpm/blob/master/INSTALL

Regards,
Qi


Chen Qi
 

On 3/22/23 10:36, Chen Qi via lists.openembedded.org wrote:
On 3/22/23 01:50, Ross Burton wrote:
On 21 Mar 2023, at 15:40, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@...> wrote:
This recipe provides find-debuginfo which is used by rpm, more
specifically rpmbuild.

RPM upstream removed find-debuginfo and switched to use debugedit
in the following commit.

https://github.com/rpm-software-management/rpm/commit/04b0805a756cdd9466fb9dc717846f5bf15518cc

Without debugedit, rpmbuild fails to generate debuginfo package when
%debug_package is added to spec file.
Our spec files don’t do that, so why would this be a problem?

Are you building “native” spec files on target?

Ross
The original problem comes from users using nativesdk-rpm-build to generate debuginfo packages inside SDK.

This mainly affects target rpm-build and nativesdk-rpm-build. rpm-native is not affected, because our build system does not use %debug_package. And users would usually care about rpm on target and inside SDK, because that's the tool that would usually use to accomplish their tasks. Without this recipe, the 'rpmbuild' lacks the ability to generate debuginfo package. We can also see from the following link that RPM treats debugedit as a requirement.

https://github.com/rpm-software-management/rpm/blob/master/INSTALL

Regards,
Qi
I'd like to add that this problem is a regression. RPM before that commit (date: June 21, 2021) has find-debuginfo. We can see this from the rpm recipe. It has '${libdir}/rpm/debugedit' and '${libdir}/rpm/find-debuginfo.sh' in FILES:${PN}-build. That's why I used the words 'add back' in [PATCH 2/2].

Regards,

Qi





Alexandre Belloni
 

On 21/03/2023 23:40:15+0800, Chen Qi wrote:
This recipe provides find-debuginfo which is used by rpm, more
specifically rpmbuild.

RPM upstream removed find-debuginfo and switched to use debugedit
in the following commit.

https://github.com/rpm-software-management/rpm/commit/04b0805a756cdd9466fb9dc717846f5bf15518cc

Without debugedit, rpmbuild fails to generate debuginfo package when
%debug_package is added to spec file.

Signed-off-by: Chen Qi <Qi.Chen@...>
---
.../debugedit/debugedit_5.0.bb | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 meta/recipes-devtools/debugedit/debugedit_5.0.bb

diff --git a/meta/recipes-devtools/debugedit/debugedit_5.0.bb b/meta/recipes-devtools/debugedit/debugedit_5.0.bb
new file mode 100644
index 0000000000..624adf0416
--- /dev/null
+++ b/meta/recipes-devtools/debugedit/debugedit_5.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tools for creating debuginfo and source file distributions"
+DESCRIPTION = "debugedit provides programs and scripts for creating \
+debuginfo and source file distributions, collect build-ids and rewrite \
+source paths in DWARF data for debugging, tracing and profiling."
+HOMEPAGE = "https://sourceware.org/debugedit/"
+
+LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "https://sourceware.org/ftp/debugedit/${PV}/debugedit-${PV}.tar.xz"
+SRC_URI[sha256sum] = "e9ecd7d350bebae1f178ce6776ca19a648b6fe8fa22f5b3044b38d7899aa553e"
+
+DEPENDS = "elfutils"
+
+inherit pkgconfig autotools
+
+RDEPENDS:${PN} += "bash elfutils-binutils"
+
+BBCLASSEXTEND = "native nativesdk"
--
2.17.1


--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Chen Qi
 

I've fixed the failure and sent out V2. I noticed there're some patches (from Khem) in oe-core that fix similar issues for musl, and I referenced them. Thanks Khem.

Regards,
Qi

-----Original Message-----
From: Alexandre Belloni <alexandre.belloni@...>
Sent: Thursday, March 23, 2023 5:54 AM
To: Chen, Qi <Qi.Chen@...>
Cc: openembedded-core@...
Subject: Re: [OE-core][PATCH 1/2] debugedit: add recipe

Hello,

Unfortunately, this fails on musl:

https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/6868/steps/12/logs/stdio

On 21/03/2023 23:40:15+0800, Chen Qi wrote:
This recipe provides find-debuginfo which is used by rpm, more
specifically rpmbuild.

RPM upstream removed find-debuginfo and switched to use debugedit in
the following commit.


https://github.com/rpm-software-management/rpm/commit/04b0805a756cdd94
66fb9dc717846f5bf15518cc

Without debugedit, rpmbuild fails to generate debuginfo package when
%debug_package is added to spec file.

Signed-off-by: Chen Qi <Qi.Chen@...>
---
.../debugedit/debugedit_5.0.bb | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 meta/recipes-devtools/debugedit/debugedit_5.0.bb

diff --git a/meta/recipes-devtools/debugedit/debugedit_5.0.bb
b/meta/recipes-devtools/debugedit/debugedit_5.0.bb
new file mode 100644
index 0000000000..624adf0416
--- /dev/null
+++ b/meta/recipes-devtools/debugedit/debugedit_5.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tools for creating debuginfo and source file distributions"
+DESCRIPTION = "debugedit provides programs and scripts for creating \
+debuginfo and source file distributions, collect build-ids and
+rewrite \ source paths in DWARF data for debugging, tracing and profiling."
+HOMEPAGE = "https://sourceware.org/debugedit/"
+
+LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "https://sourceware.org/ftp/debugedit/${PV}/debugedit-${PV}.tar.xz"
+SRC_URI[sha256sum] = "e9ecd7d350bebae1f178ce6776ca19a648b6fe8fa22f5b3044b38d7899aa553e"
+
+DEPENDS = "elfutils"
+
+inherit pkgconfig autotools
+
+RDEPENDS:${PN} += "bash elfutils-binutils"
+
+BBCLASSEXTEND = "native nativesdk"
--
2.17.1



--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com