meson: Fix on shallow git trees

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
Stéphane Graber 2022-06-07 15:16:11 -04:00
parent d5dff814ac
commit f7de7d7adf
No known key found for this signature in database
GPG Key ID: C638974D64792D67

View File

@ -225,10 +225,14 @@ git = find_program('git', required: false)
time_epoch = run_command(sh, '-c', 'echo "$SOURCE_DATE_EPOCH"', check: true).stdout().strip()
if time_epoch == '' and git.found() and run_command('test', '-e', '.git', check: false).returncode() == 0
# If we're in a git repository, use the creation time of the latest git tag.
latest_tag = run_command(git, 'describe', '--abbrev=0', '--tags', check: true).stdout().strip()
time_epoch = run_command(git, 'log', '--no-show-signature', '-1', '--format=%at', latest_tag, check: true).stdout()
else
# Fallback to current epoch.
latest_tag = run_command(git, 'describe', '--abbrev=0', '--tags', check: false).stdout().strip()
if latest_tag != ''
time_epoch = run_command(git, 'log', '--no-show-signature', '-1', '--format=%at', latest_tag, check: true).stdout()
endif
endif
# Fallback to current epoch.
if time_epoch == ''
time_epoch = run_command(date, '+%s', check: true).stdout()
endif
generate_date = run_command(date, '--utc', '--date=@' + time_epoch, '+%Y-%m-%d', check: true).stdout().strip()