All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arseny Maslennikov <ar@cs.msu.ru>
To: Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Ben Hutchings <ben@decadent.org.uk>,
	Riku Voipio <riku.voipio@linaro.org>
Subject: Re: [PATCH v2 1/3] scripts/package/Makefile: put proper config in source tarball
Date: Sat, 9 Mar 2019 19:47:18 +0300	[thread overview]
Message-ID: <20190309164718.GD25561@cello> (raw)
In-Reply-To: <20190309154307.23039-1-ar@cs.msu.ru>

[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]

On Sat, Mar 09, 2019 at 06:43:05PM +0300, Arseny Maslennikov wrote:
> It is widely known that one can build a kernel without a .config in the
> source tree by setting KCONFIG_CONFIG equal to the actual configuration
> file path.
> 
> When making a *-pkg target, make(1) prepares a source tarball and tries
> to pack `.config' in there regardless of the value of KCONFIG_CONFIG,
> failing spectacularly if .config is absent and packing the wrong config
> if it exists.
> Let's fix that by including whatever KCONFIG_CONFIG points to in the
> archive under the traditional name `.config'.
> 
> We have to pass --absolute-names to tar, since it seems to trim the
> paths of archive members first and only then consider --transform, which
> breaks KCONFIG_CONFIG=../../some.config, as well as absolute paths.

One way to avoid --absolute-names here is to do the dance below:

> 
> Signed-off-by: Arseny Maslennikov <ar@cs.msu.ru>
> ---
>  scripts/package/Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> index 2c6de21e5152..134cefee068d 100644
> --- a/scripts/package/Makefile
> +++ b/scripts/package/Makefile
> @@ -27,7 +27,7 @@ KDEB_SOURCENAME ?= linux-$(KERNELRELEASE)
>  KBUILD_PKG_ROOTCMD ?="fakeroot -u"
>  export KDEB_SOURCENAME
>  # Include only those top-level files that are needed by make, plus the GPL copy
> -TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \
> +TAR_CONTENT := $(KBUILD_ALLDIRS) $(KCONFIG_CONFIG) .scmversion Makefile \
>                 Kbuild Kconfig COPYING $(wildcard localversion*)
>  MKSPEC     := $(srctree)/scripts/package/mkspec
>  
> @@ -44,6 +44,7 @@ if test "$(objtree)" != "$(srctree)"; then \
>  fi ; \
>  $(srctree)/scripts/setlocalversion --save-scmversion; \
  +cp $(KCONFIG_CONFIG) .tmp.config-tarball
>  tar -cz $(RCS_TAR_IGNORE) -f $(2).tar.gz \
  +	--absolute-names --transform 's:^.tmp.config-tarball$$:.config:S' \
>  	--transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3); \
  +rm -f .tmp.config-tarball
>  rm -f $(objtree)/.scmversion
>  
> -- 
> 2.20.1
> 

I'm not sure if this is strictly better.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2019-03-09 16:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-09 15:43 [PATCH v2 1/3] scripts/package/Makefile: put proper config in source tarball Arseny Maslennikov
2019-03-09 15:43 ` [PATCH v2 2/3] scripts/package/mkdebian: avoid implicit effects Arseny Maslennikov
2019-03-17  3:02   ` Masahiro Yamada
2019-03-09 15:43 ` [PATCH v2 3/3] package: {mkdebian,Makefile}: ignore .config in dpkg-source diffs Arseny Maslennikov
2019-03-09 16:47 ` Arseny Maslennikov [this message]
2019-03-11 17:43 ` [PATCH v2 1/3] scripts/package/Makefile: put proper config in source tarball Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190309164718.GD25561@cello \
    --to=ar@cs.msu.ru \
    --cc=ben@decadent.org.uk \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=riku.voipio@linaro.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.