diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 61974663..08d61484 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,10 +11,10 @@ rust-version = "1.64.0" [dependencies] anyhow = "1.0" camino = { version = "1.0.4", features = ["serde1"] } -ostree-ext = "0.11.5" +ostree-ext = "0.12" clap = { version= "4.2", features = ["derive"] } clap_mangen = { version = "0.2", optional = true } -cap-std-ext = "2" +cap-std-ext = "3" hex = "^0.4" fn-error-context = "0.2.0" gvariant = "0.4.0" @@ -27,7 +27,7 @@ once_cell = "1.9" openssl = "^0.10" nix = ">= 0.24, < 0.26" regex = "1.7.1" -rustix = { "version" = "0.37", features = ["thread", "process"] } +rustix = { "version" = "0.38", features = ["thread", "fs", "system", "process"] } schemars = "0.8.6" serde = { features = ["derive"], version = "1.0.125" } serde_json = "1.0.64" diff --git a/lib/src/install.rs b/lib/src/install.rs index 32d7d2cb..48cf9d0c 100644 --- a/lib/src/install.rs +++ b/lib/src/install.rs @@ -10,6 +10,7 @@ mod baseline; use std::io::BufWriter; use std::io::Write; +use std::os::fd::AsFd; use std::str::FromStr; use std::sync::Arc; @@ -311,7 +312,7 @@ impl SourceInfo { .quiet() .read()?; let root = cap_std::fs::Dir::open_ambient_dir("/", cap_std::ambient_authority())?; - let repo = ostree::Repo::open_at_dir(&root, "ostree/repo")?; + let repo = ostree::Repo::open_at_dir(root.as_fd(), "ostree/repo")?; let root = repo .read_commit(commit.trim(), cancellable) .context("Reading commit")? @@ -492,13 +493,10 @@ async fn initialize_ostree_root_from_self( .iter() .map(|v| v.as_str()) .collect::>(); - #[allow(clippy::needless_update)] - let options = ostree_container::deploy::DeployOpts { - kargs: Some(kargs.as_slice()), - target_imgref: Some(&target_imgref), - proxy_cfg: Some(proxy_cfg), - ..Default::default() - }; + let mut options = ostree_container::deploy::DeployOpts::default(); + options.kargs = Some(kargs.as_slice()); + options.target_imgref = Some(&target_imgref); + options.proxy_cfg = Some(proxy_cfg); println!("Creating initial deployment"); let state = ostree_container::deploy::deploy(&sysroot, stateroot, &src_imageref, Some(options)).await?;