mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
meson: initialize time-epoch to reproducible builds compatible value
Debian Policy encourages to preserve timestamps whenever possible in the tarballs, thus stable release updates of systemd usually do not bump NEWS file timestamp. And thus time-epoch remains the same for the lifetime of a release. It would be better, if each new stable release rebuild of systemd would bump the time epoch a bit. But at the same time remain reproducible. SOURCE_DATE_EPOCH is an environmnet variable defined for this purpose. Thus if available, prefer that, instead of the NEWS file modification time. For example, on Debian/Ubuntu under the reproducible builds the SOURCE_DATE_EPOCH is set to the timestamp from the packaging metadata, thus it is incremented on every new stable release update, whilst preserving reproducible builds capability. Reference: https://reproducible-builds.org/docs/timestamps/
This commit is contained in:
parent
22ae6c7d9a
commit
6dbf352cfb
3
TODO
3
TODO
@ -511,9 +511,6 @@ Features:
|
||||
|
||||
* support projid-based quota in machinectl for containers
|
||||
|
||||
* maybe use SOURCE_DATE_EPOCH (i.e. the env var the reproducible builds folks
|
||||
introduced) as the RTC epoch, instead of the mtime of NEWS.
|
||||
|
||||
* add a way to lock down cgroup migration: a boolean, which when set for a unit
|
||||
makes sure the processes in it can never migrate out of it
|
||||
|
||||
|
@ -669,9 +669,14 @@ conf.set_quoted('DEFAULT_NET_NAMING_SCHEME', default_net_naming_scheme)
|
||||
|
||||
time_epoch = get_option('time-epoch')
|
||||
if time_epoch == -1
|
||||
source_date_epoch = run_command('sh', ['-c', 'echo "$SOURCE_DATE_EPOCH"']).stdout().strip()
|
||||
if source_date_epoch != ''
|
||||
time_epoch = source_date_epoch.to_int()
|
||||
else
|
||||
NEWS = files('NEWS')
|
||||
time_epoch = run_command(stat, '-c', '%Y', NEWS).stdout().to_int()
|
||||
endif
|
||||
endif
|
||||
conf.set('TIME_EPOCH', time_epoch)
|
||||
|
||||
system_uid_max = get_option('system-uid-max')
|
||||
|
Loading…
Reference in New Issue
Block a user