Re: [PATCH] build: Exclude cscope and tags files from packaging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17 May 2018 at 16:48, L. Alberto Giménez <agimenez@xxxxxxxxxxx> wrote:
> When building a Debian package, cscope and tags generated files are
> accounted in the Debian packaging process, even causing some errors
> under some circumstances (generating diff between "pristine" tar and
> "patched sources").

Honestly you should use make mrproper, if you want to spin out source
packages. If otoh you don't have a use for the source package, use
bindeb-pkg.

> Ignore these generated files for packaging related purposes.
>
> Signed-off-by: L. Alberto Giménez <agimenez@xxxxxxxxxxx>
> ---
>  Makefile                 | 5 ++++-
>  scripts/package/Makefile | 4 ++--
>  scripts/package/mkspec   | 6 +++---
>  3 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ba3106b36597..0b862a544a6a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -453,11 +453,14 @@ export MODVERDIR := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_ve
>  # Files to ignore in find ... statements
>
>  export RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o    \
> -                         -name CVS -o -name .pc -o -name .hg -o -name .git \) \
> +                         -name CVS -o -name .pc -o -name .hg -o -name .git -o \
> +                         -name tags -o -name 'cscope*' \) \

tags and cscope are not revision control files tho.

>                           -prune -o

>  export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
>                          --exclude CVS --exclude .pc --exclude .hg --exclude .git
>
> +export TAR_EXTRA_IGNORE := --exclude tags --exclude 'cscope*'
> +

Why new variable?

>  # ===========================================================================
>  # Rules shared between *config targets and build targets
>
> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> index 73503ebce632..520532b3bcb2 100644
> --- a/scripts/package/Makefile
> +++ b/scripts/package/Makefile
> @@ -44,7 +44,7 @@ if test "$(objtree)" != "$(srctree)"; then \
>         false; \
>  fi ; \
>  $(srctree)/scripts/setlocalversion --save-scmversion; \
> -tar -cz $(RCS_TAR_IGNORE) -f $(2).tar.gz \
> +tar -cz $(RCS_TAR_IGNORE) $(TAR_EXTRA_IGNORE) -f $(2).tar.gz \
>         --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3); \
>  rm -f $(objtree)/.scmversion
>
> @@ -73,7 +73,7 @@ deb-pkg: FORCE
>         $(call cmd,src_tar,$(KDEB_SOURCENAME))
>         origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\
>                 mv $(KDEB_SOURCENAME).tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz
> -       +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -i.git -us -uc
> +       +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -i'(.git|cscope.*)' -us -uc
>
>  bindeb-pkg: FORCE
>         $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index e05646dc24dc..e966a87c0011 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -28,9 +28,9 @@ fi
>
>  PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
>  __KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
> -EXCLUDES="$RCS_TAR_IGNORE --exclude=.tmp_versions --exclude=*vmlinux* \
> ---exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation \
> ---exclude=.config.old --exclude=.missing-syscalls.d"
> +EXCLUDES="$RCS_TAR_IGNORE $TAR_EXTRA_IGNORE --exclude=.tmp_versions \
> +--exclude=*vmlinux* --exclude=*.o --exclude=*.ko --exclude=*.cmd \
> +--exclude=Documentation --exclude=.config.old --exclude=.missing-syscalls.d"

I take we now have three variants of "exclude these files ending up in
the packages" lists - tar, rpm and .deb. Each choosing slightly
different of subset of files listed in .gitignore. This does not seem
very maintainable.

Riku
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux