From 0638c02131e14f0e81a7dd54a16478647cf2c680 Mon Sep 17 00:00:00 2001 From: Mykola Babinskyi <45942058+babinskiy@users.noreply.github.com> Date: Tue, 12 Mar 2024 11:14:58 +0100 Subject: [PATCH] Update vergen (#126) - Updatde `vergen` to get rid of old and vulnerable version of `libgit-sys` --- Cargo.lock | 202 +++++++------------------------------- Cargo.toml | 3 +- ssstar-cli/build.rs | 17 +--- ssstar-cli/src/main.rs | 2 +- ssstar/Cargo.toml | 3 - ssstar/build.rs | 11 --- ssstar/src/objstore/s3.rs | 2 +- 7 files changed, 43 insertions(+), 197 deletions(-) delete mode 100644 ssstar/build.rs diff --git a/Cargo.lock b/Cargo.lock index 917a85f..becb26c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -103,9 +103,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" [[package]] name = "assert_matches" @@ -628,7 +628,6 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", ] @@ -831,6 +830,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" + [[package]] name = "digest" version = "0.10.7" @@ -960,24 +965,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] -name = "enum-iterator" -version = "1.4.1" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.16", -] +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" @@ -1183,37 +1174,12 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "getset" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "gimli" version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" -[[package]] -name = "git2" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc" -dependencies = [ - "bitflags", - "libc", - "libgit2-sys", - "log", - "url", -] - [[package]] name = "glob" version = "0.3.1" @@ -1233,9 +1199,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.19" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -1252,9 +1218,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "heck" @@ -1273,9 +1239,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -1407,11 +1373,11 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "1.9.3" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ - "autocfg", + "equivalent", "hashbrown", ] @@ -1442,7 +1408,7 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -1453,7 +1419,7 @@ version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.9", "io-lifetimes", "rustix", "windows-sys 0.48.0", @@ -1474,15 +1440,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" -[[package]] -name = "jobserver" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.63" @@ -1504,30 +1461,6 @@ version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" -[[package]] -name = "libgit2-sys" -version = "0.14.2+1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - -[[package]] -name = "libz-sys" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -1588,14 +1521,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -1604,15 +1537,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -1823,12 +1747,6 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - [[package]] name = "portable-atomic" version = "0.3.20" @@ -1850,30 +1768,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -2150,9 +2044,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" @@ -2444,7 +2338,6 @@ dependencies = [ "tower", "tracing", "url", - "vergen", ] [[package]] @@ -2555,20 +2448,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sysinfo" -version = "0.27.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a902e9050fca0a5d6877550b769abd2bd1ce8c04634b941dbe2809735e1a1e33" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "winapi", -] - [[package]] name = "tar" version = "0.4.38" @@ -2625,10 +2504,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.21" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" +checksum = "a79d09ac6b08c1ab3906a2f7cc2e81a0e27c7ae89c63812df75e52bef0751e07" dependencies = [ + "deranged", "itoa", "libc", "num_threads", @@ -2645,9 +2525,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "75c65469ed6b3a4809d987a41eb1dc918e9bc1d92211cbad7ae82931846f7451" dependencies = [ "time-core", ] @@ -2921,28 +2801,14 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "vergen" -version = "7.5.1" +version = "8.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21b881cd6636ece9735721cf03c1fe1e774fe258683d084bb2812ab67435749" +checksum = "1290fd64cc4e7d3c9b07d7f333ce0ce0007253e32870e632624835cc80b83939" dependencies = [ "anyhow", - "cfg-if", - "enum-iterator", - "getset", - "git2", - "rustc_version", "rustversion", - "sysinfo", - "thiserror", - "time", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index c86d496..7d11935 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,4 +1,5 @@ [workspace] +resolver = "2" members = ["ssstar", "ssstar-cli", "ssstar-testing"] [workspace.package] @@ -66,6 +67,6 @@ tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", " tracing-test = "0.2.4" typenum = "1.15.0" url = "2.3" -vergen = "7" +vergen = { version = "8.0", features = ["cargo"]} walkdir = "2" which = "4" diff --git a/ssstar-cli/build.rs b/ssstar-cli/build.rs index c928fd4..735fc89 100644 --- a/ssstar-cli/build.rs +++ b/ssstar-cli/build.rs @@ -1,15 +1,8 @@ -use vergen::{vergen, Config}; - fn main() { - // Generate the default 'cargo:' instruction output - let mut config = Config::default(); - - // Git metadata isn't available when publishing the crate, or when it's being compiled - // from crates.io by `cargo install`, so don't fail if it's not available - *config.git_mut().skip_if_error_mut() = true; - *config.git_mut().sha_kind_mut() = vergen::ShaKind::Short; - *config.git_mut().commit_timestamp_mut() = true; - *config.git_mut().commit_timestamp_kind_mut() = vergen::TimestampKind::All; + let result = vergen::EmitBuilder::builder().cargo_target_triple().emit(); - vergen(config).unwrap(); + // Insert vergen info at build time if available + if let Err(err) = result { + println!("cargo:warning=Failed to gather build info with `vergen`: {err:#?}",) + } } diff --git a/ssstar-cli/src/main.rs b/ssstar-cli/src/main.rs index 168d2e0..10eb3fa 100644 --- a/ssstar-cli/src/main.rs +++ b/ssstar-cli/src/main.rs @@ -11,7 +11,7 @@ mod progress; // NB: can't use git info here because when this crate is published to crates.io there is no // git metadata const VERSION_DETAILS: &str = concat!( - env!("VERGEN_BUILD_SEMVER"), + env!("CARGO_PKG_VERSION"), " (", "target ", env!("VERGEN_CARGO_TARGET_TRIPLE"), diff --git a/ssstar/Cargo.toml b/ssstar/Cargo.toml index b37196d..a22f80c 100644 --- a/ssstar/Cargo.toml +++ b/ssstar/Cargo.toml @@ -78,6 +78,3 @@ rand = { workspace = true } ssstar-testing = { version = "0.7.2", path = "../ssstar-testing" } strum = { workspace = true } tempfile = { workspace = true } - -[build-dependencies] -vergen = { workspace = true } diff --git a/ssstar/build.rs b/ssstar/build.rs deleted file mode 100644 index 809b086..0000000 --- a/ssstar/build.rs +++ /dev/null @@ -1,11 +0,0 @@ -use vergen::{vergen, Config}; - -fn main() { - // Generate the default 'cargo:' instruction output - let mut config = Config::default(); - // Git metadata isn't available when publishing the crate, or when it's being compiled - // from crates.io by `cargo install`, so don't fail if it's not available - *config.git_mut().skip_if_error_mut() = true; - *config.git_mut().sha_kind_mut() = vergen::ShaKind::Short; - vergen(config).unwrap() -} diff --git a/ssstar/src/objstore/s3.rs b/ssstar/src/objstore/s3.rs index a394ec6..224a069 100644 --- a/ssstar/src/objstore/s3.rs +++ b/ssstar/src/objstore/s3.rs @@ -31,7 +31,7 @@ use tokio::{ use tracing::{debug, error, instrument, warn, Instrument}; use url::Url; -const APP_NAME: &str = concat!(env!("CARGO_PKG_NAME"), "-", env!("VERGEN_BUILD_SEMVER"),); +const APP_NAME: &str = concat!(env!("CARGO_PKG_NAME"), "-", env!("CARGO_PKG_VERSION"),); /// Implementation of [`ObjectStorage`] for S3 and S3-compatible APIs #[derive(Clone)]