[pbs-devel] [PATCH proxmox-backup] use build.rs to pass REPOID to rustc-env

Dietmar Maurer dietmar at proxmox.com
Fri May 7 10:41:13 CEST 2021


---
 Cargo.toml          |  1 +
 build.rs            | 24 ++++++++++++++++++++++++
 src/api2/version.rs |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 build.rs

diff --git a/Cargo.toml b/Cargo.toml
index be6c7da9..246b8e07 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -15,6 +15,7 @@ edition = "2018"
 license = "AGPL-3"
 description = "Proxmox Backup"
 homepage = "https://www.proxmox.com"
+build = "build.rs"
 
 exclude = [ "build", "debian", "tests/catar_data/test_symlink/symlink1"]
 
diff --git a/build.rs b/build.rs
new file mode 100644
index 00000000..754966b6
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,24 @@
+// build.rs
+use std::env;
+use std::process::Command;
+
+fn main() {
+    let repoid = match env::var("REPOID") {
+        Ok(repoid) => repoid,
+        Err(_) => {
+            match Command::new("git")
+                .args(&["rev-parse", "HEAD"])
+                .output()
+            {
+                Ok(output) => {
+                    String::from_utf8(output.stdout).unwrap()
+                }
+                Err(err) => {
+                    panic!("git rev-parse failed: {}", err);
+                }
+            }
+        }
+    };
+
+    println!("cargo:rustc-env=REPOID={}", repoid);
+}
diff --git a/src/api2/version.rs b/src/api2/version.rs
index ca156402..d18d0cf4 100644
--- a/src/api2/version.rs
+++ b/src/api2/version.rs
@@ -13,7 +13,7 @@ pub const PROXMOX_PKG_VERSION: &str =
         env!("CARGO_PKG_VERSION_MINOR"),
     );
 pub const PROXMOX_PKG_RELEASE: &str = env!("CARGO_PKG_VERSION_PATCH");
-pub const PROXMOX_PKG_REPOID: &str = env!("CARGO_PKG_REPOSITORY");
+pub const PROXMOX_PKG_REPOID: &str = env!("REPOID");
 
 fn get_version(
     _param: Value,
-- 
2.20.1





More information about the pbs-devel mailing list