diff mbox series

[1/2] debugedit: add recipe

Message ID 20230321154016.34836-1-Qi.Chen@windriver.com
State Accepted, archived
Commit f7ada8b4d003473abce5b589cc38aec1e5e5f18a
Headers show
Series [1/2] debugedit: add recipe | expand

Commit Message

ChenQi March 21, 2023, 3:40 p.m. UTC
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@windriver.com>
---
 .../debugedit/debugedit_5.0.bb                | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 meta/recipes-devtools/debugedit/debugedit_5.0.bb

Comments

Ross Burton March 21, 2023, 5:50 p.m. UTC | #1
On 21 Mar 2023, at 15:40, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@lists.openembedded.org> 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
ChenQi March 22, 2023, 2:36 a.m. UTC | #2
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@lists.openembedded.org> 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
ChenQi March 22, 2023, 2:44 a.m. UTC | #3
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@lists.openembedded.org> 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


>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#178906): https://lists.openembedded.org/g/openembedded-core/message/178906
> Mute This Topic: https://lists.openembedded.org/mt/97757563/3618072
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Qi.Chen@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexandre Belloni March 22, 2023, 9:53 p.m. UTC | #4
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/04b0805a756cdd9466fb9dc717846f5bf15518cc
> 
> Without debugedit, rpmbuild fails to generate debuginfo package when
> %debug_package is added to spec file.
> 
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
>  .../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
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#178889): https://lists.openembedded.org/g/openembedded-core/message/178889
> Mute This Topic: https://lists.openembedded.org/mt/97757563/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
ChenQi March 23, 2023, 8:10 a.m. UTC | #5
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@bootlin.com> 
Sent: Thursday, March 23, 2023 5:54 AM
To: Chen, Qi <Qi.Chen@windriver.com>
Cc: openembedded-core@lists.openembedded.org
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@windriver.com>
> ---
>  .../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
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#178889): https://lists.openembedded.org/g/openembedded-core/message/178889
> Mute This Topic: https://lists.openembedded.org/mt/97757563/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

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"