Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox