Guoqing Jiang reports that openSUSE cannot compile the kernel rpm due
to "BuildRequires: elfutils-libelf-devel" added by commit 8818039f959b
("kbuild: add ability to make source rpm buildable using koji").
The relevant package name in openSUSE is libelf-devel.
Add it an alternative package.
BTW, if it is impossible to solve the build requirement, the final
resort would be:
$ make RPMOPTS=--nodeps rpm-pkg
This passes --nodeps to the rpmbuild command so it will not verify
build dependencies. This is useful to test rpm builds on non-rpm
system. On Debian/Ubuntu, for example, you can install rpmbuild by
'apt-get install rpm'.
NOTE1:
Likewise, it is possible to bypass the build dependency check for
debian package builds:
$ make DPKG_FLAGS=-d deb-pkg
NOTE2:
The 'or' operator is supported since RPM 4.13. So, old distros such
as CentOS 7 will break. I suggest installing newer rpmbuild in such
cases.
Link: https://lore.kernel.org/linux-kbuild/[email protected]/T/#u
Fixes: 8818039f959b ("kbuild: add ability to make source rpm buildable using koji")
Reported-by: Guoqing Jiang <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
---
scripts/package/mkspec | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index dda00a948a01..adab28fa7f89 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -51,7 +51,8 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
URL: https://www.kernel.org
$S Source: kernel-$__KERNELRELEASE.tar.gz
Provides: $PROVIDES
-$S BuildRequires: bc binutils bison dwarves elfutils-libelf-devel flex
+$S BuildRequires: bc binutils bison dwarves
+$S BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
$S BuildRequires: gcc make openssl openssl-devel perl python3 rsync
# $UTS_MACHINE as a fallback of _arch in case
--
2.34.1
On Thu, Dec 29, 2022 at 04:10:14AM +0900, Masahiro Yamada wrote:
> Guoqing Jiang reports that openSUSE cannot compile the kernel rpm due
> to "BuildRequires: elfutils-libelf-devel" added by commit 8818039f959b
> ("kbuild: add ability to make source rpm buildable using koji").
> The relevant package name in openSUSE is libelf-devel.
>
> Add it an alternative package.
>
> BTW, if it is impossible to solve the build requirement, the final
> resort would be:
>
> $ make RPMOPTS=--nodeps rpm-pkg
>
> This passes --nodeps to the rpmbuild command so it will not verify
> build dependencies. This is useful to test rpm builds on non-rpm
> system. On Debian/Ubuntu, for example, you can install rpmbuild by
> 'apt-get install rpm'.
>
> NOTE1:
> Likewise, it is possible to bypass the build dependency check for
> debian package builds:
>
> $ make DPKG_FLAGS=-d deb-pkg
>
> NOTE2:
> The 'or' operator is supported since RPM 4.13. So, old distros such
> as CentOS 7 will break. I suggest installing newer rpmbuild in such
> cases.
>
> Link: https://lore.kernel.org/linux-kbuild/[email protected]/T/#u
> Fixes: 8818039f959b ("kbuild: add ability to make source rpm buildable using koji")
> Reported-by: Guoqing Jiang <[email protected]>
> Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
> ---
>
> scripts/package/mkspec | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index dda00a948a01..adab28fa7f89 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -51,7 +51,8 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
> URL: https://www.kernel.org
> $S Source: kernel-$__KERNELRELEASE.tar.gz
> Provides: $PROVIDES
> -$S BuildRequires: bc binutils bison dwarves elfutils-libelf-devel flex
> +$S BuildRequires: bc binutils bison dwarves
> +$S BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
> $S BuildRequires: gcc make openssl openssl-devel perl python3 rsync
>
> # $UTS_MACHINE as a fallback of _arch in case
> --
> 2.34.1
>
On 12/29/22 03:10, Masahiro Yamada wrote:
> Guoqing Jiang reports that openSUSE cannot compile the kernel rpm due
> to "BuildRequires: elfutils-libelf-devel" added by commit 8818039f959b
> ("kbuild: add ability to make source rpm buildable using koji").
> The relevant package name in openSUSE is libelf-devel.
>
> Add it an alternative package.
>
> BTW, if it is impossible to solve the build requirement, the final
> resort would be:
>
> $ make RPMOPTS=--nodeps rpm-pkg
>
> This passes --nodeps to the rpmbuild command so it will not verify
> build dependencies. This is useful to test rpm builds on non-rpm
> system. On Debian/Ubuntu, for example, you can install rpmbuild by
> 'apt-get install rpm'.
>
> NOTE1:
> Likewise, it is possible to bypass the build dependency check for
> debian package builds:
>
> $ make DPKG_FLAGS=-d deb-pkg
>
> NOTE2:
> The 'or' operator is supported since RPM 4.13. So, old distros such
> as CentOS 7 will break. I suggest installing newer rpmbuild in such
> cases.
>
> Link: https://lore.kernel.org/linux-kbuild/[email protected]/T/#u
> Fixes: 8818039f959b ("kbuild: add ability to make source rpm buildable using koji")
> Reported-by: Guoqing Jiang <[email protected]>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---
>
> scripts/package/mkspec | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index dda00a948a01..adab28fa7f89 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -51,7 +51,8 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
> URL: https://www.kernel.org
> $S Source: kernel-$__KERNELRELEASE.tar.gz
> Provides: $PROVIDES
> -$S BuildRequires: bc binutils bison dwarves elfutils-libelf-devel flex
> +$S BuildRequires: bc binutils bison dwarves
> +$S BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
> $S BuildRequires: gcc make openssl openssl-devel perl python3 rsync
>
> # $UTS_MACHINE as a fallback of _arch in case
Thanks for the quick fix! I verified the above works for openSUSE leap 15.4.
Tested-by: Guoqing Jiang <[email protected]>
Thanks,
Guoqing
On 12/28/22 14:10, Masahiro Yamada wrote:
> Guoqing Jiang reports that openSUSE cannot compile the kernel rpm due
> to "BuildRequires: elfutils-libelf-devel" added by commit 8818039f959b
> ("kbuild: add ability to make source rpm buildable using koji").
> The relevant package name in openSUSE is libelf-devel.
>
> Add it an alternative package.
>
> BTW, if it is impossible to solve the build requirement, the final
> resort would be:
>
> $ make RPMOPTS=--nodeps rpm-pkg
>
> This passes --nodeps to the rpmbuild command so it will not verify
> build dependencies. This is useful to test rpm builds on non-rpm
> system. On Debian/Ubuntu, for example, you can install rpmbuild by
> 'apt-get install rpm'.
>
> NOTE1:
> Likewise, it is possible to bypass the build dependency check for
> debian package builds:
>
> $ make DPKG_FLAGS=-d deb-pkg
>
> NOTE2:
> The 'or' operator is supported since RPM 4.13. So, old distros such
> as CentOS 7 will break. I suggest installing newer rpmbuild in such
> cases.
>
> Link: https://lore.kernel.org/linux-kbuild/[email protected]/T/#u
> Fixes: 8818039f959b ("kbuild: add ability to make source rpm buildable using koji")
> Reported-by: Guoqing Jiang <[email protected]>
> Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jonathan Toppins <[email protected]>