Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db9038c8 authored by Frans Pop's avatar Frans Pop Committed by Sam Ravnborg
Browse files

kbuild: fix the binrpm-pkg target to work with KBUILD_OUTPUT set



The binrpm-pkg target (binary RPM only) fails when called with
KBUILD_OUTPUT set. This patch makes it work.

For the rpm-pkg target (source + binary RPM), building with
KBUILD_OUTPUT set is not possible and also not needed as the
actual build is done in a temporary directory anyway, so check
that KBUILD_OUTPUT is not set in that case to avoid later errors.

Signed-off-by: default avatarFrans Pop <elendil@planet.nl>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent f144c78e
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@
# e) generate the rpm files, based on kernel.spec
# - Use /. to avoid tar packing just the symlink

# Note that the rpm-pkg target cannot be used with KBUILD_OUTPUT,
# but the binrpm-pkg target can; for some reason O= gets ignored.

# Do we have rpmbuild, otherwise fall back to the older rpm
RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
	           else echo rpm; fi)
@@ -33,6 +36,12 @@ $(objtree)/kernel.spec: $(MKSPEC) $(srctree)/Makefile
	$(CONFIG_SHELL) $(MKSPEC) > $@

rpm-pkg rpm: $(objtree)/kernel.spec FORCE
	@if test -n "$(KBUILD_OUTPUT)"; then \
		echo "Building source + binary RPM is not possible outside the"; \
		echo "kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \
		echo "binrpm-pkg target instead."; \
		false; \
	fi
	$(MAKE) clean
	$(PREV) ln -sf $(srctree) $(KERNELPATH)
	$(CONFIG_SHELL) $(srctree)/scripts/setlocalversion > $(objtree)/.scmversion
@@ -61,7 +70,7 @@ binrpm-pkg: $(objtree)/binkernel.spec FORCE
	set -e; \
	mv -f $(objtree)/.tmp_version $(objtree)/.version

	$(RPM) $(RPMOPTS) --define "_builddir $(srctree)" --target \
	$(RPM) $(RPMOPTS) --define "_builddir $(objtree)" --target \
		$(UTS_MACHINE) -bb $<

clean-files += $(objtree)/binkernel.spec
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
echo "%endif"

echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} modules_install'
echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} KBUILD_SRC= modules_install'
echo "%ifarch ia64"
echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE"
echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/"