diff --git a/Cargo.lock b/Cargo.lock index 9264964..92e349f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1658,7 +1658,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "lesavka_client" -version = "0.27.5" +version = "0.27.6" dependencies = [ "anyhow", "async-stream", @@ -1692,7 +1692,7 @@ dependencies = [ [[package]] name = "lesavka_common" -version = "0.27.5" +version = "0.27.6" dependencies = [ "anyhow", "base64", @@ -1704,7 +1704,7 @@ dependencies = [ [[package]] name = "lesavka_server" -version = "0.27.5" +version = "0.27.6" dependencies = [ "anyhow", "base64", diff --git a/client/Cargo.toml b/client/Cargo.toml index b491bd0..216aec3 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -4,7 +4,7 @@ path = "src/main.rs" [package] name = "lesavka_client" -version = "0.27.5" +version = "0.27.6" edition = "2024" [dependencies] diff --git a/common/Cargo.toml b/common/Cargo.toml index f20c07b..5d9ea5f 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lesavka_common" -version = "0.27.5" +version = "0.27.6" edition = "2024" build = "build.rs" diff --git a/scripts/install/client.sh b/scripts/install/client.sh index fa4f7f5..209d455 100755 --- a/scripts/install/client.sh +++ b/scripts/install/client.sh @@ -261,7 +261,7 @@ report_client_media_acceleration() { require_kernel_module() { local module=$1 local why=$2 - if modinfo "$module" >/dev/null 2>&1; then + if [[ -d "/sys/module/${module}" ]] || modinfo "$module" >/dev/null 2>&1; then return 0 fi local running_kernel diff --git a/server/Cargo.toml b/server/Cargo.toml index 9379fa9..54beb59 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -16,7 +16,7 @@ bench = false [package] name = "lesavka_server" -version = "0.27.5" +version = "0.27.6" edition = "2024" autobins = false diff --git a/tests/contract/scripts/install/client_install_script_contract.rs b/tests/contract/scripts/install/client_install_script_contract.rs index 5c44f5c..1be6f97 100644 --- a/tests/contract/scripts/install/client_install_script_contract.rs +++ b/tests/contract/scripts/install/client_install_script_contract.rs @@ -156,6 +156,14 @@ fn client_install_reports_nvidia_and_open_source_media_routes() { ); } +#[test] +fn client_install_accepts_required_modules_already_loaded_by_the_running_kernel() { + assert!( + CLIENT_INSTALL.contains("[[ -d \"/sys/module/${module}\" ]] || modinfo"), + "installer should not reject a working loaded module just because a newer package replaced the running kernel's module tree" + ); +} + #[test] fn client_install_treats_pipewire_as_one_coherent_transaction() { for expected in [