[pacman-dev] [PATCH] doc: use localdate instead of pacman_date to improve reproducibility

Jonas Witschel diabonas at archlinux.org
Fri Jun 25 12:02:58 UTC 2021


pacman_date is set to the current date during build without respecting
SOURCE_DATE_EPOCH. As a result, a build cannot be fully reproduced on a later
date because the date embedded into the man pages does not match.

In contrast, the built-in asciidoc attribute "localdate" respects
SOURCE_DATE_EPOCH and has the desired ISO 8601 format, so simply use that
instead of the custom "pacman_date" attribute.

Fixes: FS#71154
Signed-off-by: Jonas Witschel <diabonas at archlinux.org>
---
 doc/asciidoc.conf | 2 +-
 doc/meson.build   | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf
index e2e72672..830cc908 100644
--- a/doc/asciidoc.conf
+++ b/doc/asciidoc.conf
@@ -50,7 +50,7 @@ ifdef::backend-docbook[]
 template::[header-declarations]
 <refentry>
 <refentryinfo>
-<date>{pacman_date}</date>
+<date>{localdate}</date>
 </refentryinfo>
 <refmeta>
 <refentrytitle>{mantitle}</refentrytitle>
diff --git a/doc/meson.build b/doc/meson.build
index 4aaac554..5a8eb3a4 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -25,7 +25,6 @@ asciidoc_conf = join_paths(meson.current_source_dir(), 'asciidoc.conf')
 asciidoc_opts = [
  '-f', asciidoc_conf,
  '-a', 'pacman_version="@0@"'.format(PACKAGE_VERSION),
- '-a', 'pacman_date=@0@'.format(run_command('date', '+%Y-%m-%d').stdout().strip()),
  '-a', 'srcext=@0@'.format(get_option('src-ext')),
  '-a', 'pkgext=@0@'.format(get_option('pkg-ext')),
  '-a', 'pkgdatadir=@0@'.format(PKGDATADIR),
-- 
2.32.0



More information about the pacman-dev mailing list