Message ID | 1441115335-25165-1-git-send-email-riku.voipio@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Sep 1, 2015 at 6:48 AM, <riku.voipio@linaro.org> wrote: > From: Riku Voipio <riku.voipio@linaro.org> > > Split source tarball creation from rpm-pkg target > so it can be used from deb-pkg target as well. Other > improvements: > > - Replace symlink to self with tar --transform While probably everyone -- or almost everyone -- uses gnu tar, that particular option isn't available in older versions of gnu tar (https://groups.google.com/forum/#!topic/uk.comp.os.linux/-7LDdMSRo5w). Perhaps something could be added to Documentation/Changes about the gnu tar version required?
On 1 September 2015 at 17:31, Jim Davis <jim.epost@gmail.com> wrote: >> - Replace symlink to self with tar --transform > While probably everyone -- or almost everyone -- uses gnu tar, that > particular option isn't available in older versions of gnu tar > (https://groups.google.com/forum/#!topic/uk.comp.os.linux/-7LDdMSRo5w). > Perhaps something could be added to Documentation/Changes about the > gnu tar version required? Looking at the changelog, this was added to tar 1.16 which was released in 2006. Nine years sounds like a reasonable timeframe to expect a feature being available? Riku -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Dne 2.9.2015 v 06:58 Riku Voipio napsal(a): > On 1 September 2015 at 17:31, Jim Davis <jim.epost@gmail.com> wrote: >>> - Replace symlink to self with tar --transform > >> While probably everyone -- or almost everyone -- uses gnu tar, that >> particular option isn't available in older versions of gnu tar >> (https://groups.google.com/forum/#!topic/uk.comp.os.linux/-7LDdMSRo5w). >> Perhaps something could be added to Documentation/Changes about the >> gnu tar version required? > > Looking at the changelog, this was added to tar 1.16 which was > released in 2006. Nine years sounds like a reasonable timeframe to > expect a feature being available? But it costs us only a this ln and rm invocation to continue supporting older GNU tar versions and non-GNU implementation. So I'd leave this part as is. The rest of the patch is OK. Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/scripts/package/Makefile b/scripts/package/Makefile index 8b11d5a..65cf12d 100644 --- a/scripts/package/Makefile +++ b/scripts/package/Makefile @@ -24,27 +24,29 @@ # 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 \ +TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \ Kbuild Kconfig COPYING $(wildcard localversion*) -TAR_CONTENT := $(addprefix $(KERNELPATH)/,$(TAR_CONTENT)) MKSPEC := $(srctree)/scripts/package/mkspec +quiet_cmd_src_tar = TAR $(2).tar.gz + cmd_src_tar = \ +if test "$(objtree)" != "$(srctree)"; then \ + echo "Building source tarball is not possible outside the"; \ + echo "kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \ + echo "binrpm-pkg or bindeb-pkg target instead."; \ + false; \ +fi ; \ +$(srctree)/scripts/setlocalversion --save-scmversion; \ +tar -cz $(RCS_TAR_IGNORE) --transform 's,^,$(2)/,' \ + -f $(2).tar.gz $(TAR_CONTENT) $(3);\ +rm -f $(objtree)/.scmversion + # rpm-pkg # --------------------------------------------------------------------------- rpm-pkg rpm: FORCE - @if test "$(objtree)" != "$(srctree)"; 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 - ln -sf $(srctree) $(KERNELPATH) $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec - $(CONFIG_SHELL) $(srctree)/scripts/setlocalversion --save-scmversion - tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(TAR_CONTENT) - rm $(KERNELPATH) - rm -f $(objtree)/.scmversion + $(call cmd,src_tar,$(KERNELPATH),kernel.spec) $(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version mv -f $(objtree)/.tmp_version $(objtree)/.version rpmbuild --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz