]> code.ossystems Code Review - openembedded-core.git/commit
kernel.bbclass: fix SOURCE_DATE_EPOCH for non-git kernel builds
authorChristopher Clark <christopher.w.clark@gmail.com>
Mon, 9 Mar 2020 04:48:13 +0000 (21:48 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 10 Mar 2020 23:18:58 +0000 (23:18 +0000)
commit270ae94fe345b9ce98d822034cbfad7e24c5f393
tree3225bb079e169b9c71bce148d2cc126361586da3
parent64a362bd2dd0b4f3165d5162adbc600826af66f8
kernel.bbclass: fix SOURCE_DATE_EPOCH for non-git kernel builds

The source directory is not always a git repository, so when querying
git for data to set SOURCE_DATE_EPOCH, specify ${S}/.git as the git
directory to prevent retrieving incorrect data from any parent directory.

Fixes the following errors with the prior logic when building a kernel
that is not obtained from a git repository:

1. With TMPDIR set to a directory outside any git repository on a
mounted filesystem, reproducible builds fail in do_compile with this git
error:

  fatal: not a git repository (or any parent up to mount point <abspath>)
  Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

aborting before the error handling logic.

2. With TMPDIR located within a subdirectory of a git repository, the
SOURCE_DATE_EPOCH timestamp would be that of said repository rather than
that of the kernel.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel.bbclass