Re: [RFC PATCH] kbuild: rpm-pkg: fix breakage when V=1 is used

From: Masahiro Yamada
Date: Sun Sep 25 2022 - 22:49:44 EST


On Fri, Sep 16, 2022 at 9:41 PM Janis Schoetterl-Glausch
<scgl@xxxxxxxxxxxxx> wrote:
>
> Doing make V=1 binrpm-pkg results in:
>
> Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.EgV6qJ
> + umask 022
> + cd .
> + /bin/rm -rf /home/scgl/rpmbuild/BUILDROOT/kernel-6.0.0_rc5+-1.s390x
> + /bin/mkdir -p /home/scgl/rpmbuild/BUILDROOT
> + /bin/mkdir /home/scgl/rpmbuild/BUILDROOT/kernel-6.0.0_rc5+-1.s390x
> + mkdir -p /home/scgl/rpmbuild/BUILDROOT/kernel-6.0.0_rc5+-1.s390x/boot
> + make -f ./Makefile image_name
> + cp test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \ echo >&2; \ echo >&2 " ERROR: Kernel configuration is invalid."; \ echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\ echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo >&2 ; \ /bin/false) arch/s390/boot/bzImage /home/scgl/rpmbuild/BUILDROOT/kernel-6.0.0_rc5+-1.s390x/boot/vmlinuz-6.0.0-rc5+
> cp: invalid option -- 'e'
> Try 'cp --help' for more information.
> error: Bad exit status from /var/tmp/rpm-tmp.EgV6qJ (%install)
>
> Because the make call to get the image name is verbose and prints
> additional information.
>
> Fixes: 21b42eb46834 ("kbuild: rpm-pkg: fix binrpm-pkg breakage when O= is used")


This Fixes tag is wrong.



I replaced it with:

Fixes: 993bdde94547 ("kbuild: add image_name to no-sync-config-targets")



Applied to linux-kbuild. Thanks.











> Signed-off-by: Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx>
> ---
>
>
> I don't know much about Kbuild so there may be better ways to fix this.
>
>
> scripts/package/mkspec | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index 8fa7c5b8a1a1..c920c1b18e7a 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -88,10 +88,10 @@ $S
> mkdir -p %{buildroot}/boot
> %ifarch ia64
> mkdir -p %{buildroot}/boot/efi
> - cp \$($MAKE image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE
> + cp \$($MAKE -s image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE
> ln -s efi/vmlinuz-$KERNELRELEASE %{buildroot}/boot/
> %else
> - cp \$($MAKE image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE
> + cp \$($MAKE -s image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE
> %endif
> $M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install
> $MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
> --
> 2.34.1
>


--
Best Regards
Masahiro Yamada