summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2013-04-12 14:12:50 +0200
committerMichal Marek <mmarek@suse.cz>2013-04-18 14:56:44 +0200
commit6615d6c322a364be45324f553db57545a3b2e95f (patch)
treec06973c0d14476aee388d4e9608f3ecb9efcb2be
parent6bc6c9409de03987736df58c411c3aa7b5aed051 (diff)
downloadlinux-6615d6c322a364be45324f553db57545a3b2e95f.tar.gz
linux-6615d6c322a364be45324f553db57545a3b2e95f.tar.bz2
linux-6615d6c322a364be45324f553db57545a3b2e95f.zip
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>
-rw-r--r--Makefile2
-rw-r--r--scripts/package/Makefile6
2 files changed, 7 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 5bd9f7700eb9..84392dfa682f 100644
--- a/Makefile
+++ b/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_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
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)
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index d7b328595a7e..b70b33e67f34 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -27,6 +27,10 @@ RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
# 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
+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
PREV := set -e; cd -P ..;
@@ -45,7 +49,7 @@ rpm-pkg rpm: $(objtree)/kernel.spec FORCE
$(MAKE) clean
$(PREV) ln -sf $(srctree) $(KERNELPATH)
$(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)
rm -f $(objtree)/.scmversion
set -e; \