()
| 376 | } |
| 377 | |
| 378 | fn podman_socket_path() -> PathBuf { |
| 379 | if let Some(path) = std::env::var_os("OPENSHELL_PODMAN_SOCKET") { |
| 380 | return PathBuf::from(path); |
| 381 | } |
| 382 | |
| 383 | #[cfg(target_os = "macos")] |
| 384 | { |
| 385 | let home = std::env::var_os("HOME").unwrap_or_default(); |
| 386 | PathBuf::from(home).join(".local/share/containers/podman/machine/podman.sock") |
| 387 | } |
| 388 | #[cfg(target_os = "linux")] |
| 389 | { |
| 390 | std::env::var_os("XDG_RUNTIME_DIR").map_or_else( |
| 391 | || { |
| 392 | let uid = std::process::Command::new("id") |
| 393 | .arg("-u") |
| 394 | .output() |
| 395 | .ok() |
| 396 | .and_then(|output| { |
| 397 | String::from_utf8(output.stdout) |
| 398 | .ok() |
| 399 | .map(|value| value.trim().to_string()) |
| 400 | }) |
| 401 | .filter(|value| !value.is_empty()) |
| 402 | .unwrap_or_else(|| "1000".to_string()); |
| 403 | PathBuf::from(format!("/run/user/{uid}/podman/podman.sock")) |
| 404 | }, |
| 405 | |xdg| PathBuf::from(xdg).join("podman/podman.sock"), |
| 406 | ) |
| 407 | } |
| 408 | } |
| 409 | |
| 410 | fn unique_volume_name(driver: &str) -> String { |
| 411 | let nanos = SystemTime::now() |
no test coverage detected