mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-17 09:43:59 +08:00
kbuild: rpm-pkg: fix binrpm-pkg breakage when O= is used
Zhenzhong Duan reported that running 'make O=/build/kernel binrpm-pkg' failed with the following errors: Running 'make O=/build/kernel binrpm-pkg' failed with below two errors. Makefile:600: include/config/auto.conf: No such file or directory + cp make -C /mnt/root/kernel O=/build/kernel image_name make -f /mnt/root/kernel/Makefile ... cp: invalid option -- 'C' Try 'cp --help' for more information. Prior to commit80463f1b7b
("kbuild: add --include-dir flag only for out-of-tree build"), both srctree and objtree were added to --include-dir redundantly, and the wrong code 'make image_name' was working by relying on that. Now, the potential issue that had previously been hidden just showed up. 'make image_name' recurses to the generated $(objtree)/Makefile and ends up with running in srctree, which is incorrect. It should be invoked with '-f $srctree/Makefile' (or KBUILD_SRC=) to be executed in objtree. Fixes:80463f1b7b
("kbuild: add --include-dir flag only for out-of-tree build") Reported-by: Zhenzhong Duan <zhenzhong.duan@oracle.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
651022382c
commit
21b42eb468
@ -12,6 +12,7 @@
|
||||
# how we were called determines which rpms we build and how we build them
|
||||
if [ "$1" = prebuilt ]; then
|
||||
S=DEL
|
||||
MAKE="$MAKE -f $srctree/Makefile"
|
||||
else
|
||||
S=
|
||||
fi
|
||||
@ -78,19 +79,19 @@ $S %prep
|
||||
$S %setup -q
|
||||
$S
|
||||
$S %build
|
||||
$S make %{?_smp_mflags} KBUILD_BUILD_VERSION=%{release}
|
||||
$S $MAKE %{?_smp_mflags} KBUILD_BUILD_VERSION=%{release}
|
||||
$S
|
||||
%install
|
||||
mkdir -p %{buildroot}/boot
|
||||
%ifarch ia64
|
||||
mkdir -p %{buildroot}/boot/efi
|
||||
cp \$(make image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE
|
||||
cp \$($MAKE 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 image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE
|
||||
%endif
|
||||
$M make %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} KBUILD_SRC= modules_install
|
||||
make %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr KBUILD_SRC= headers_install
|
||||
$M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install
|
||||
$MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
|
||||
cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE
|
||||
cp .config %{buildroot}/boot/config-$KERNELRELEASE
|
||||
bzip2 -9 --keep vmlinux
|
||||
|
Loading…
Reference in New Issue
Block a user