rpm-pkg: Do not package the whole source directory
The source tree can contain lots of uninteresting data like tag or cscope files, packaging which slows down make rpm needlessly. It can also break the build, if the tree contains an unrelated file named *.spec. The downside of this change is that new subdirectories have to be added to the KBUILD_ALLDIRS variable in the top-level Makefile. The upside is that the behavior is more predictable. Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
parent
6bc6c9409d
commit
6615d6c322
2
Makefile
2
Makefile
|
@ -756,6 +756,8 @@ export KBUILD_VMLINUX_INIT := $(head-y) $(init-y)
|
||||||
export KBUILD_VMLINUX_MAIN := $(core-y) $(libs-y) $(drivers-y) $(net-y)
|
export KBUILD_VMLINUX_MAIN := $(core-y) $(libs-y) $(drivers-y) $(net-y)
|
||||||
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
|
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
|
||||||
export LDFLAGS_vmlinux
|
export LDFLAGS_vmlinux
|
||||||
|
# used by scripts/pacmage/Makefile
|
||||||
|
export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) arch Documentation include samples scripts tools virt)
|
||||||
|
|
||||||
vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_INIT) $(KBUILD_VMLINUX_MAIN)
|
vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_INIT) $(KBUILD_VMLINUX_MAIN)
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,10 @@ RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
|
||||||
|
|
||||||
# Remove hyphens since they have special meaning in RPM filenames
|
# Remove hyphens since they have special meaning in RPM filenames
|
||||||
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
|
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
|
||||||
|
# Include only those top-level files that are needed by make, plus the GPL copy
|
||||||
|
TAR_CONTENT := $(KBUILD_ALLDIRS) kernel.spec .config .scmversion Makefile \
|
||||||
|
Kbuild Kconfig COPYING $(wildcard localversion*)
|
||||||
|
TAR_CONTENT := $(addprefix $(KERNELPATH)/,$(TAR_CONTENT))
|
||||||
MKSPEC := $(srctree)/scripts/package/mkspec
|
MKSPEC := $(srctree)/scripts/package/mkspec
|
||||||
PREV := set -e; cd -P ..;
|
PREV := set -e; cd -P ..;
|
||||||
|
|
||||||
|
@ -45,7 +49,7 @@ rpm-pkg rpm: $(objtree)/kernel.spec FORCE
|
||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
$(PREV) ln -sf $(srctree) $(KERNELPATH)
|
$(PREV) ln -sf $(srctree) $(KERNELPATH)
|
||||||
$(CONFIG_SHELL) $(srctree)/scripts/setlocalversion --save-scmversion
|
$(CONFIG_SHELL) $(srctree)/scripts/setlocalversion --save-scmversion
|
||||||
$(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(KERNELPATH)/.
|
$(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(TAR_CONTENT)
|
||||||
$(PREV) rm $(KERNELPATH)
|
$(PREV) rm $(KERNELPATH)
|
||||||
rm -f $(objtree)/.scmversion
|
rm -f $(objtree)/.scmversion
|
||||||
set -e; \
|
set -e; \
|
||||||
|
|
Loading…
Reference in New Issue