* [pbs-devel] [PATCH proxmox-backup] use build.rs to pass REPOID to rustc-env
@ 2021-05-07 8:41 Dietmar Maurer
0 siblings, 0 replies; only message in thread
From: Dietmar Maurer @ 2021-05-07 8:41 UTC (permalink / raw)
To: pbs-devel
---
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-07 8:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-07 8:41 [pbs-devel] [PATCH proxmox-backup] use build.rs to pass REPOID to rustc-env Dietmar Maurer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox