Skip to content

Commit 0fffb47

Browse files
committed
fix(nix): make flake checks hermetic
Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent adf92e7 commit 0fffb47

2 files changed

Lines changed: 23 additions & 11 deletions

File tree

crates/openshell-driver-vm/src/runtime.rs

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,17 +1247,7 @@ fn hash_path_id(path: &Path) -> String {
12471247
}
12481248

12491249
fn secure_socket_base(subdir: &str) -> Result<PathBuf, String> {
1250-
let base = std::env::var_os("XDG_RUNTIME_DIR").map_or_else(
1251-
|| {
1252-
let fallback = PathBuf::from("/tmp");
1253-
if fallback.is_dir() {
1254-
fallback
1255-
} else {
1256-
std::env::temp_dir()
1257-
}
1258-
},
1259-
PathBuf::from,
1260-
);
1250+
let base = std::env::var_os("XDG_RUNTIME_DIR").map_or_else(socket_fallback_base, PathBuf::from);
12611251
let dir = base.join(subdir);
12621252

12631253
if dir.exists() {
@@ -1296,6 +1286,27 @@ fn secure_socket_base(subdir: &str) -> Result<PathBuf, String> {
12961286
Ok(dir)
12971287
}
12981288

1289+
fn socket_fallback_base() -> PathBuf {
1290+
let temp_dir = {
1291+
let fallback = PathBuf::from("/tmp");
1292+
if fallback.is_dir() {
1293+
fallback
1294+
} else {
1295+
std::env::temp_dir()
1296+
}
1297+
};
1298+
1299+
#[cfg(unix)]
1300+
{
1301+
temp_dir.join(format!("openshell-{}", unsafe { libc::getuid() }))
1302+
}
1303+
1304+
#[cfg(not(unix))]
1305+
{
1306+
temp_dir.join("openshell")
1307+
}
1308+
}
1309+
12991310
fn gvproxy_socket_base(overlay_disk: &Path) -> Result<PathBuf, String> {
13001311
Ok(secure_socket_base("osd-gv")?.join(hash_path_id(overlay_disk)))
13011312
}

nix/crate.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
openshell-core = {
4040
dir = "openshell-core";
4141
nativeBuildInputs = [ pkgs.protobuf ];
42+
nativeCheckInputs = [ pkgs.lsof ];
4243
assets = [ (root + "/proto") ];
4344
};
4445
openshell-driver-docker = {

0 commit comments

Comments
 (0)