mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Allow to override build_id with SOURCE_DATE_EPOCH
in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. This PR was done while working on reproducible builds for openSUSE.
This commit is contained in:
parent
7efc62b9ca
commit
9de1f38e92
1 changed files with 12 additions and 5 deletions
|
@ -1,5 +1,6 @@
|
|||
use rand::distributions::Alphanumeric;
|
||||
use rand::Rng;
|
||||
use std::env;
|
||||
use vergen::{generate_cargo_keys, ConstantsFlags};
|
||||
|
||||
fn main() {
|
||||
|
@ -7,11 +8,17 @@ fn main() {
|
|||
flags.toggle(ConstantsFlags::REBUILD_ON_HEAD_CHANGE);
|
||||
generate_cargo_keys(ConstantsFlags::all()).expect("Unable to generate the cargo keys!");
|
||||
|
||||
let build_id: String = rand::thread_rng()
|
||||
.sample_iter(Alphanumeric)
|
||||
.take(8)
|
||||
.map(char::from)
|
||||
.collect();
|
||||
let build_id: String;
|
||||
match env::var("SOURCE_DATE_EPOCH") {
|
||||
Ok(val) => build_id = val,
|
||||
Err(_) => {
|
||||
build_id = rand::thread_rng()
|
||||
.sample_iter(Alphanumeric)
|
||||
.take(8)
|
||||
.map(char::from)
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
||||
println!("cargo:rustc-env=LIBRESPOT_BUILD_ID={}", build_id);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue