lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

commit 7f1c6ca76b7c4fb531245ad82e4017f9bde351c9
parent d5d70f754949f6452721e793f78ebe6d36b1604d
Author: triesap <tyson@radroots.org>
Date:   Wed, 18 Feb 2026 00:26:33 +0000

build: require explicit env vars in build scripts

Diffstat:
Mapp-core/build.rs | 22++++++++--------------
Mnet-core/build.rs | 26+++++++++++---------------
2 files changed, 19 insertions(+), 29 deletions(-)

diff --git a/app-core/build.rs b/app-core/build.rs @@ -6,10 +6,10 @@ use std::{ fn main() { println!("cargo:rerun-if-changed=build.rs"); - println!("cargo:rerun-if-env-changed=SOURCE_DATE_EPOCH"); + println!("cargo:rerun-if-env-changed=RUSTC"); println!("cargo:rerun-if-env-changed=PROFILE"); - let rustc = env::var("RUSTC").unwrap_or_else(|_| "rustc".into()); + let rustc = env::var("RUSTC").expect("missing required env var RUSTC"); if let Ok(out) = Command::new(rustc).arg("--version").output() { if out.status.success() { if let Ok(ver) = String::from_utf8(out.stdout) { @@ -36,18 +36,12 @@ fn main() { } } - if let Ok(profile) = env::var("PROFILE") { - println!("cargo:rustc-env=PROFILE={profile}"); - } + let profile = env::var("PROFILE").expect("missing required env var PROFILE"); + println!("cargo:rustc-env=PROFILE={profile}"); - let epoch = env::var("SOURCE_DATE_EPOCH") - .ok() - .and_then(|v| v.parse::<u64>().ok()) - .unwrap_or_else(|| { - SystemTime::now() - .duration_since(UNIX_EPOCH) - .map(|d| d.as_secs()) - .unwrap_or(0) - }); + let epoch = SystemTime::now() + .duration_since(UNIX_EPOCH) + .map(|d| d.as_secs()) + .expect("system time before unix epoch"); println!("cargo:rustc-env=BUILD_TIME_UNIX={epoch}"); } diff --git a/net-core/build.rs b/net-core/build.rs @@ -5,9 +5,11 @@ use std::time::{SystemTime, UNIX_EPOCH}; fn main() { println!("cargo:rerun-if-changed=build.rs"); - println!("cargo:rerun-if-env-changed=SOURCE_DATE_EPOCH"); + println!("cargo:rerun-if-env-changed=CARGO_MANIFEST_DIR"); + println!("cargo:rerun-if-env-changed=RUSTC"); + println!("cargo:rerun-if-env-changed=PROFILE"); - let manifest_dir = env::var("CARGO_MANIFEST_DIR").unwrap_or_else(|_| ".".into()); + let manifest_dir = env::var("CARGO_MANIFEST_DIR").expect("missing required env var CARGO_MANIFEST_DIR"); let mut dir = PathBuf::from(&manifest_dir); let git_dir = loop { @@ -28,18 +30,13 @@ fn main() { println!("cargo:rerun-if-changed={}", git_dir.join("index").display()); } - let build_time_unix = env::var("SOURCE_DATE_EPOCH") - .ok() - .and_then(|v| v.parse::<u64>().ok()) - .unwrap_or_else(|| { - SystemTime::now() - .duration_since(UNIX_EPOCH) - .map(|d| d.as_secs()) - .unwrap_or(0) - }); + let build_time_unix = SystemTime::now() + .duration_since(UNIX_EPOCH) + .map(|d| d.as_secs()) + .expect("system time before unix epoch"); println!("cargo:rustc-env=BUILD_TIME_UNIX={}", build_time_unix); - let rustc_bin = env::var("RUSTC").unwrap_or_else(|_| "rustc".into()); + let rustc_bin = env::var("RUSTC").expect("missing required env var RUSTC"); if let Ok(out) = Command::new(rustc_bin).arg("--version").output() { if out.status.success() { if let Ok(ver) = String::from_utf8(out.stdout) { @@ -75,7 +72,6 @@ fn main() { println!("cargo:rustc-env=GIT_HASH={}", h); } - if let Ok(profile) = env::var("PROFILE") { - println!("cargo:rustc-env=PROFILE={}", profile); - } + let profile = env::var("PROFILE").expect("missing required env var PROFILE"); + println!("cargo:rustc-env=PROFILE={}", profile); }