All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] Makefile: Take default SOURCE_DATE_EPOCH from repo containing Makefile
Date: Tue, 10 Apr 2018 14:36:30 +0200	[thread overview]
Message-ID: <20180410143630.22646b86@windsurf> (raw)
In-Reply-To: <1523356092-16037-1-git-send-email-james.byrne@origamienergy.com>

Hello,

On Tue, 10 Apr 2018 11:28:12 +0100, James Byrne wrote:
> For reproducible builds, SOURCE_DATE_EPOCH will be set to the git commit
> date if it is not defined in the environment, but this was done by
> explicitly using $(TOPDIR)/.git as the git repository, which would not
> give the expected result if Buildroot had been put into a subdirectory
> of another repository.
> 
> This commit removes that restriction, meaning that the default date will
> now be the date of the git commit that contains Makefile, regardless of
> what level above Makefile the repository is at. This works because the
> current directory when the 'git log' command is executed will always be
> the directory containing Makefile (it must be, since TOPDIR is set from
> CURDIR).
> 
> In general this should be a sensible default, and in cases where a
> different date is required SOURCE_DATE_EPOCH can be defined in the
> environment before invoking make.
> 
> Signed-off-by: James Byrne <james.byrne@origamienergy.com>
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index cd53362..3b846b9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -506,7 +506,7 @@ ifeq ($(BR2_REPRODUCIBLE),y)
>  # If SOURCE_DATE_EPOCH has not been set then use the commit date, or the last
>  # release date if the source tree is not within a Git repository.
>  # See: https://reproducible-builds.org/specs/source-date-epoch/
> -BR2_VERSION_GIT_EPOCH := $(shell $(GIT) --git-dir=$(TOPDIR)/.git log -1 --format=%at 2> /dev/null)
> +BR2_VERSION_GIT_EPOCH := $(shell $(GIT) log -1 --format=%at 2> /dev/null)

Was there a reason to have this --git-dir/GIT_DIR option/variable
passed in the first place ?

I don't immediately see any problem with the change you're proposing,
but I'm wondering why we were passing --git-dir (previously GIT_DIR).

It has been done this way since commit
9befe94baf990ee6331e77edb40e286e9dc4df8d, where SOURCE_DATE_EPOCH was
introduced in Buildroot.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2018-04-10 12:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-10 10:28 [Buildroot] [PATCH 1/1] Makefile: Take default SOURCE_DATE_EPOCH from repo containing Makefile James Byrne
2018-04-10 12:36 ` Thomas Petazzoni [this message]
2018-04-12 15:40   ` James Byrne
2018-04-12 17:29     ` Yann E. MORIN
2018-04-12 21:32 ` Thomas Petazzoni

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=20180410143630.22646b86@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@busybox.net \
    /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.