diff --git a/src/peripherals/mod.rs b/src/peripherals/mod.rs index 29cce3b27..839cbad5a 100644 --- a/src/peripherals/mod.rs +++ b/src/peripherals/mod.rs @@ -163,7 +163,12 @@ pub async fn create_peripheral_tools(config: &PeripheralsConfig) -> Result { - tools.extend(peripheral.tools()); + tools.extend( + peripheral + .tools() + .into_iter() + .map(|tool| Arc::::from(tool)), + ); tracing::info!(board = %board.board, "RPi GPIO peripheral connected"); } Err(e) => { @@ -189,7 +194,7 @@ pub async fn create_peripheral_tools(config: &PeripheralsConfig) -> Result::from)); if board.board == "arduino-uno" { if let Some(ref path) = board.path { tools.push(Arc::new(arduino_upload::ArduinoUploadTool::new( diff --git a/src/security/landlock.rs b/src/security/landlock.rs index eef21db73..3605b6f7a 100644 --- a/src/security/landlock.rs +++ b/src/security/landlock.rs @@ -7,6 +7,7 @@ use landlock::{AccessFs, PathBeneath, PathFd, Ruleset, RulesetAttr, RulesetCreatedAttr}; use crate::security::traits::Sandbox; +#[cfg(all(feature = "sandbox-landlock", target_os = "linux"))] use std::path::Path; /// Landlock sandbox backend for Linux