[PATCH] kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch

WangYuli posted 1 patch 8 months, 3 weeks ago
scripts/package/mkdebian | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch
Posted by WangYuli 8 months, 3 weeks ago
The dwarf.h header, which is included by
scripts/gendwarfksyms/gendwarfksyms.h, resides within the libdw-dev
package.

This portion of the code is compiled under the condition that
CONFIG_GENDWARFKSYMS is enabled.

Consequently, add libdw-dev to Build-Depends-Arch to prevent
unforeseen compilation failures.

Fix follow possible error:
  In file included from scripts/gendwarfksyms/cache.c:6:
  scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: 'dwarf.h' file not found
      6 | #iIn file included from nscripts/gendwarfksyms/symbols.cc:lude6 :
  <dwarf.hscripts/gendwarfksyms/gendwarfksyms.h>:6
  :      10| :          ^~~~~~~~~
  fatal error: 'dwarf.h' file not found
    6 | #include <dwarf.h>
      |          ^~~~~~~~~

Fixes: f28568841ae0 ("tools: Add gendwarfksyms")
Signed-off-by: WangYuli <wangyuli@uniontech.com>
---
 scripts/package/mkdebian | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
index 0178000197fe..25edee97fff7 100755
--- a/scripts/package/mkdebian
+++ b/scripts/package/mkdebian
@@ -209,7 +209,7 @@ Rules-Requires-Root: no
 Build-Depends: debhelper-compat (= 12)
 Build-Depends-Arch: bc, bison, flex,
  gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
- kmod, libelf-dev:native,
+ kmod, libdw-dev:native, libelf-dev:native,
  libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
  python3:native, rsync
 Homepage: https://www.kernel.org/
-- 
2.49.0
Re: [PATCH] kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch
Posted by Petr Pavlu 8 months, 3 weeks ago
On 3/26/25 18:41, WangYuli wrote:
> The dwarf.h header, which is included by
> scripts/gendwarfksyms/gendwarfksyms.h, resides within the libdw-dev
> package.
> 
> This portion of the code is compiled under the condition that
> CONFIG_GENDWARFKSYMS is enabled.
> 
> Consequently, add libdw-dev to Build-Depends-Arch to prevent
> unforeseen compilation failures.
> 
> Fix follow possible error:
>   In file included from scripts/gendwarfksyms/cache.c:6:
>   scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: 'dwarf.h' file not found
>       6 | #iIn file included from nscripts/gendwarfksyms/symbols.cc:lude6 :
>   <dwarf.hscripts/gendwarfksyms/gendwarfksyms.h>:6
>   :      10| :          ^~~~~~~~~
>   fatal error: 'dwarf.h' file not found
>     6 | #include <dwarf.h>
>       |          ^~~~~~~~~
> 
> Fixes: f28568841ae0 ("tools: Add gendwarfksyms")
> Signed-off-by: WangYuli <wangyuli@uniontech.com>
> ---
>  scripts/package/mkdebian | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 0178000197fe..25edee97fff7 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -209,7 +209,7 @@ Rules-Requires-Root: no
>  Build-Depends: debhelper-compat (= 12)
>  Build-Depends-Arch: bc, bison, flex,
>   gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
> - kmod, libelf-dev:native,
> + kmod, libdw-dev:native, libelf-dev:native,
>   libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
>   python3:native, rsync
>  Homepage: https://www.kernel.org/

If scripts/package/mkdebian is updated in this way then I think
scripts/package/mkspec -> scripts/package/kernel.spec should be adjusted
as well for consistency.

File scripts/package/kernel.spec contains:
BuildRequires: (elfutils-libelf-devel or libelf-devel) flex

elfutils-libelf-devel is for Fedora/RH distros, libelf-devel is for
(open)SUSE.

If I'm looking correctly, a new dependency to make dwarf.h available for
both would be:
BuildRequires: elfutils-devel or libdw-devel

-- 
Thanks,
Petr
Re: [PATCH] kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch
Posted by WangYuli 8 months, 2 weeks ago
Hi Petr,

On 2025/3/28 18:19, Petr Pavlu wrote:
> If scripts/package/mkdebian is updated in this way then I think
> scripts/package/mkspec -> scripts/package/kernel.spec should be adjusted
> as well for consistency.
>
> File scripts/package/kernel.spec contains:
> BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
>
> elfutils-libelf-devel is for Fedora/RH distros, libelf-devel is for
> (open)SUSE.
>
> If I'm looking correctly, a new dependency to make dwarf.h available for
> both would be:
> BuildRequires: elfutils-devel or libdw-devel
>
Alright, thank you for the feedback.
But it appears that the dependency package is named differently on 
Fedora and openSUSE.
I will expand my testing scope to address this in the patch and will 
resubmit it once the merge window has closed.

Thanks,
-- 
WangYuli
Re: [PATCH] kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch
Posted by Masahiro Yamada 8 months, 2 weeks ago
On Thu, Apr 3, 2025 at 12:06 PM WangYuli <wangyuli@uniontech.com> wrote:
>
> Hi Petr,
>
> On 2025/3/28 18:19, Petr Pavlu wrote:
> > If scripts/package/mkdebian is updated in this way then I think
> > scripts/package/mkspec -> scripts/package/kernel.spec should be adjusted
> > as well for consistency.
> >
> > File scripts/package/kernel.spec contains:
> > BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
> >
> > elfutils-libelf-devel is for Fedora/RH distros, libelf-devel is for
> > (open)SUSE.
> >
> > If I'm looking correctly, a new dependency to make dwarf.h available for
> > both would be:
> > BuildRequires: elfutils-devel or libdw-devel
> >
> Alright, thank you for the feedback.
> But it appears that the dependency package is named differently on
> Fedora and openSUSE.
> I will expand my testing scope to address this in the patch and will
> resubmit it once the merge window has closed.


Yeah, it would be appreciated if you fix the rpm-pkg as well,
but please submit two separate patches for deb-pkg and rpm-pkg.
(perhaps, pacman-pkg too?)

Also, please fix the commit log, as suggested by Sami.



-- 
Best Regards
Masahiro Yamada
Re: [PATCH] kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch
Posted by Sami Tolvanen 8 months, 3 weeks ago
Hi,

On Wed, Mar 26, 2025 at 11:06 AM WangYuli <wangyuli@uniontech.com> wrote:
>
> The dwarf.h header, which is included by
> scripts/gendwarfksyms/gendwarfksyms.h, resides within the libdw-dev
> package.
>
> This portion of the code is compiled under the condition that
> CONFIG_GENDWARFKSYMS is enabled.
>
> Consequently, add libdw-dev to Build-Depends-Arch to prevent
> unforeseen compilation failures.
>
> Fix follow possible error:
>   In file included from scripts/gendwarfksyms/cache.c:6:
>   scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: 'dwarf.h' file not found
>       6 | #iIn file included from nscripts/gendwarfksyms/symbols.cc:lude6 :
>   <dwarf.hscripts/gendwarfksyms/gendwarfksyms.h>:6

I think something went wrong when copying the error message?

>   :      10| :          ^~~~~~~~~
>   fatal error: 'dwarf.h' file not found
>     6 | #include <dwarf.h>
>       |          ^~~~~~~~~
>
> Fixes: f28568841ae0 ("tools: Add gendwarfksyms")
> Signed-off-by: WangYuli <wangyuli@uniontech.com>
> ---
>  scripts/package/mkdebian | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 0178000197fe..25edee97fff7 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -209,7 +209,7 @@ Rules-Requires-Root: no
>  Build-Depends: debhelper-compat (= 12)
>  Build-Depends-Arch: bc, bison, flex,
>   gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
> - kmod, libelf-dev:native,
> + kmod, libdw-dev:native, libelf-dev:native,
>   libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
>   python3:native, rsync
>  Homepage: https://www.kernel.org/

But the change looks correct to me. Thanks!

Reviewed-by: Sami Tolvanen <samitolvanen@google.com>

Sami