scripts/package/Makefile: rpmbuild is needed for rpm targets

Before rpm release 4.1, in 2002, either the rpm command or the
rpmbuild command could be used in the rpm-pkg or binrpm-pkg targets,
and the Makefile chose the rpm command if the rpmbuild command wasn't
found.

After release 4.1, however, the rpm command could no longer be used in
place of the rpmbuild command.  As the rpmbuild command is not
installed by default, this can lead to failures with the rpm-pkg and
binrpm-pkg targets:

rpm --define "_builddir ." --target \
    x86_64 -bb ./binkernel.spec
    rpm --target: unknown option
    scripts/package/Makefile:60: recipe for target 'binrpm-pkg' failed

Change the Makefile to use rpmbuild unconditionally to avoid this.

Signed-off-by: Jim Davis <jim.epost@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
Jim Davis 2015-06-08 13:19:08 -07:00 committed by Michal Marek
parent a37161c058
commit 21a59991ce

View File

@ -21,10 +21,6 @@
# 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)
# Remove hyphens since they have special meaning in RPM filenames
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
# Include only those top-level files that are needed by make, plus the GPL copy
@ -51,7 +47,7 @@ rpm-pkg rpm: FORCE
rm -f $(objtree)/.scmversion
$(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
mv -f $(objtree)/.tmp_version $(objtree)/.version
$(RPM) $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz
rpmbuild --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz
rm $(KERNELPATH).tar.gz kernel.spec
# binrpm-pkg
@ -62,7 +58,7 @@ binrpm-pkg: FORCE
$(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
mv -f $(objtree)/.tmp_version $(objtree)/.version
$(RPM) $(RPMOPTS) --define "_builddir $(objtree)" --target \
rpmbuild --define "_builddir $(objtree)" --target \
$(UTS_MACHINE) -bb $(objtree)/binkernel.spec
rm binkernel.spec