From a12b1be728d849f6d477f2be9f3e413e88279d7c Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 19 Jul 2021 14:59:17 +0200 Subject: [PATCH] move build.rs and friends to pbs-buildcfg with this the main crate won't be re-compiled every time a *binary* is modified Signed-off-by: Wolfgang Bumiller --- Cargo.toml | 1 - pbs-buildcfg/Cargo.toml | 1 + build.rs => pbs-buildcfg/build.rs | 0 pbs-buildcfg/src/lib.rs | 10 ++++++++++ src/api2/node/apt.rs | 4 ++-- src/api2/version.rs | 15 +++------------ src/bin/proxmox-backup-client.rs | 12 ++++++++---- 7 files changed, 24 insertions(+), 19 deletions(-) rename build.rs => pbs-buildcfg/build.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 8dcd50d1..1ebda322 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,6 @@ 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/pbs-buildcfg/Cargo.toml b/pbs-buildcfg/Cargo.toml index e3c5d20e..86f9e954 100644 --- a/pbs-buildcfg/Cargo.toml +++ b/pbs-buildcfg/Cargo.toml @@ -4,5 +4,6 @@ version = "0.1.0" authors = ["Proxmox Support Team "] edition = "2018" description = "macros used for pbs related paths such as configdir and rundir" +build = "build.rs" [dependencies] diff --git a/build.rs b/pbs-buildcfg/build.rs similarity index 100% rename from build.rs rename to pbs-buildcfg/build.rs diff --git a/pbs-buildcfg/src/lib.rs b/pbs-buildcfg/src/lib.rs index 75c2e27f..012af9dc 100644 --- a/pbs-buildcfg/src/lib.rs +++ b/pbs-buildcfg/src/lib.rs @@ -1,5 +1,15 @@ //! Exports configuration data from the build system +pub const PROXMOX_PKG_VERSION: &str = + concat!( + env!("CARGO_PKG_VERSION_MAJOR"), + ".", + env!("CARGO_PKG_VERSION_MINOR"), + ); +pub const PROXMOX_PKG_RELEASE: &str = env!("CARGO_PKG_VERSION_PATCH"); +pub const PROXMOX_PKG_REPOID: &str = env!("REPOID"); + + /// The configured configuration directory pub const CONFIGDIR: &str = "/etc/proxmox-backup"; pub const JS_DIR: &str = "/usr/share/javascript/proxmox-backup"; diff --git a/src/api2/node/apt.rs b/src/api2/node/apt.rs index 271277d1..ad649d8c 100644 --- a/src/api2/node/apt.rs +++ b/src/api2/node/apt.rs @@ -352,8 +352,8 @@ pub fn get_versions() -> Result, Error> { packages.push(unknown_package("proxmox-backup".into(), Some(running_kernel))); } - let version = crate::api2::version::PROXMOX_PKG_VERSION; - let release = crate::api2::version::PROXMOX_PKG_RELEASE; + let version = pbs_buildcfg::PROXMOX_PKG_VERSION; + let release = pbs_buildcfg::PROXMOX_PKG_RELEASE; let daemon_version_info = Some(format!("running version: {}.{}", version, release)); if let Some(pkg) = pbs_packages.iter().find(|pkg| pkg.package == "proxmox-backup-server") { let mut pkg = pkg.clone(); diff --git a/src/api2/version.rs b/src/api2/version.rs index d18d0cf4..1a4c5b85 100644 --- a/src/api2/version.rs +++ b/src/api2/version.rs @@ -6,15 +6,6 @@ use serde_json::{json, Value}; use proxmox::api::{ApiHandler, ApiMethod, Router, RpcEnvironment, Permission}; use proxmox::api::schema::ObjectSchema; -pub const PROXMOX_PKG_VERSION: &str = - concat!( - env!("CARGO_PKG_VERSION_MAJOR"), - ".", - env!("CARGO_PKG_VERSION_MINOR"), - ); -pub const PROXMOX_PKG_RELEASE: &str = env!("CARGO_PKG_VERSION_PATCH"); -pub const PROXMOX_PKG_REPOID: &str = env!("REPOID"); - fn get_version( _param: Value, _info: &ApiMethod, @@ -22,9 +13,9 @@ fn get_version( ) -> Result { Ok(json!({ - "version": PROXMOX_PKG_VERSION, - "release": PROXMOX_PKG_RELEASE, - "repoid": PROXMOX_PKG_REPOID + "version": pbs_buildcfg::PROXMOX_PKG_VERSION, + "release": pbs_buildcfg::PROXMOX_PKG_RELEASE, + "repoid": pbs_buildcfg::PROXMOX_PKG_REPOID })) } diff --git a/src/bin/proxmox-backup-client.rs b/src/bin/proxmox-backup-client.rs index 11ad5417..e2068979 100644 --- a/src/bin/proxmox-backup-client.rs +++ b/src/bin/proxmox-backup-client.rs @@ -413,9 +413,9 @@ async fn api_version(param: Value) -> Result<(), Error> { let mut version_info = json!({ "client": { - "version": version::PROXMOX_PKG_VERSION, - "release": version::PROXMOX_PKG_RELEASE, - "repoid": version::PROXMOX_PKG_REPOID, + "version": pbs_buildcfg::PROXMOX_PKG_VERSION, + "release": pbs_buildcfg::PROXMOX_PKG_RELEASE, + "repoid": pbs_buildcfg::PROXMOX_PKG_REPOID, } }); @@ -429,7 +429,11 @@ async fn api_version(param: Value) -> Result<(), Error> { } } if output_format == "text" { - println!("client version: {}.{}", version::PROXMOX_PKG_VERSION, version::PROXMOX_PKG_RELEASE); + println!( + "client version: {}.{}", + pbs_buildcfg::PROXMOX_PKG_VERSION, + pbs_buildcfg::PROXMOX_PKG_RELEASE, + ); if let Some(server) = version_info["server"].as_object() { let server_version = server["version"].as_str().unwrap(); let server_release = server["release"].as_str().unwrap();