From 8d34d5cc74c5776278eb7076b3fd12f57f5997a9 Mon Sep 17 00:00:00 2001 From: Blair Noctis Date: Mon, 20 Jan 2025 14:00:11 +0000 Subject: [PATCH] Generate man page with reproducible timestamp --- src/generation.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/generation.rs b/src/generation.rs index 317306b0..a81ba049 100644 --- a/src/generation.rs +++ b/src/generation.rs @@ -182,7 +182,12 @@ fn generate_manpages(app: &mut clap::Command) { let mut manpage = MAN_TEMPLATE.to_string(); let current_date = { - let (year, month, day) = DateTime::now_utc().date().to_calendar_date(); + // https://reproducible-builds.org/docs/source-date-epoch/ + let now = match std::env::var("SOURCE_DATE_EPOCH") { + Ok(val) => DateTime::from_unix_timestamp(val.parse::().unwrap()).unwrap(), + Err(_) => DateTime::now_utc(), + }; + let (year, month, day) = now.date().to_calendar_date(); format!("{}-{:02}-{:02}", year, u8::from(month), day) };