From 7ab55d005aa7661d1eed6cb0a77ee6b269bfdf91 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 14 Apr 2024 18:01:56 +0200 Subject: chore: Remove Linux checks (#893) With NorthstarProton changing to be Proton-GE based the glibc requirement is no longer needed since it targets the Steam runtime --- src-tauri/src/main.rs | 1 - src-tauri/src/platform_specific/linux.rs | 83 -------------------------------- src-tauri/src/platform_specific/mod.rs | 17 ------- src-vue/src/views/DeveloperView.vue | 14 ------ 4 files changed, 115 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 8af76de7..ee7da27f 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -139,7 +139,6 @@ fn main() { platform_specific::get_host_os, platform_specific::get_local_northstar_proton_wrapper_version, platform_specific::install_northstar_proton_wrapper, - platform_specific::linux_checks, platform_specific::uninstall_northstar_proton_wrapper, repair_and_verify::clean_up_download_folder_wrapper, repair_and_verify::disable_all_but_core, diff --git a/src-tauri/src/platform_specific/linux.rs b/src-tauri/src/platform_specific/linux.rs index 756fced1..4a901cb8 100644 --- a/src-tauri/src/platform_specific/linux.rs +++ b/src-tauri/src/platform_specific/linux.rs @@ -1,29 +1,5 @@ // Linux specific code -use regex::Regex; -use std::process::Command; - -// I intend to add more linux related stuff to check here, so making a func -// for now tho it only checks `ldd --version` -// - salmon -pub fn linux_checks_librs() -> Result<(), String> { - // Perform various checks in terms of Linux compatibility - // Return early with error message if a check fails - - // check `ldd --version` to see if glibc is up to date for northstar proton - let min_required_ldd_version = 2.33; - let lddv = check_glibc_v(); - if lddv < min_required_ldd_version { - return Err(format!( - "GLIBC is not version {} or greater", - min_required_ldd_version - )); - }; - - // All checks passed - Ok(()) -} - fn get_proton_dir() -> Option { let steam_dir = steamlocate::SteamDir::locate()?; let compat_dir = format!("{}/compatibilitytools.d", steam_dir.path.display()); @@ -90,62 +66,3 @@ pub fn get_local_ns_proton_version() -> Result { Err("Northstar Proton is not installed".to_string()) } - -pub fn check_glibc_v() -> f32 { - let out = Command::new("/bin/ldd") - .arg("--version") - .output() - .expect("failed to run 'ldd --version'"); - - // parse the output down to just the first line - let lddva = String::from_utf8_lossy(&out.stdout); - let lddvl: Vec<&str> = lddva.split('\n').collect(); - let lddvlo = &lddvl[0]; - let reg = Regex::new(r"(2.\d{2}$)").unwrap(); - if let Some(caps) = reg.captures_iter(lddvlo).next() { - return caps.get(1).unwrap().as_str().parse::().unwrap(); // theres prolly a better way ijdk how tho - } - 0.0 // this shouldnt ever be reached but it has to be here -} - -/* -Outputs of ldd --verssion from distros, all we care about is the first line so trimmed, also removed all duplicates -Thanks tony -Distros not included: AmazonLinux, Gentoo, Kali, Debian before 11, Oracle Linux, Scientific Linux, Slackware, Mageia, Neurodebian, RHEL 8 and 9 (Same as AlmaLinux), RockyLinux (Same as AlmaLinux), Ubuntu before 20.04 - -AlmaLinux 8 -ldd (GNU libc) 2.35 - -Centos Stream 8 -ldd (GNU libc) 2.28 - -Centos Stream 9 -ldd (GNU libc) 2.34 - -Centos 7 -ldd (GNU libc) 2.17 - -Debian 11 -ldd (Debian GLIBC 2.31-13+deb11u4) 2.31 - -Debian Testing -ldd (Debian GLIBC 2.35-1) 2.35 - -Debian Unstable -ldd (Debian GLIBC 2.35-3) 2.35 - -Fedora 37 -ldd (GNU libc) 2.36 - -Opensuse Leap -ldd (GNU libc) 2.31 - -Ubuntu 20.04 -ldd (Ubuntu GLIBC 2.31-0ubuntu9.9) 2.31 - -Ubuntu 22.04 -ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35 - -Ubuntu 22.10 -ldd (Ubuntu GLIBC 2.36-0ubuntu2) 2.36 -*/ diff --git a/src-tauri/src/platform_specific/mod.rs b/src-tauri/src/platform_specific/mod.rs index 8dca9424..6fdb1ed1 100644 --- a/src-tauri/src/platform_specific/mod.rs +++ b/src-tauri/src/platform_specific/mod.rs @@ -38,20 +38,3 @@ pub async fn get_local_northstar_proton_wrapper_version() -> Result Result<(), String> { - // Different behaviour depending on OS - // MacOS is missing as it is not a target - // in turn this means this application will not build on MacOS. - #[cfg(target_os = "windows")] - { - Err("Not available on Windows".to_string()) - } - - #[cfg(target_os = "linux")] - { - linux::linux_checks_librs() - } -} diff --git a/src-vue/src/views/DeveloperView.vue b/src-vue/src/views/DeveloperView.vue index f3847d36..a08c73f3 100644 --- a/src-vue/src/views/DeveloperView.vue +++ b/src-vue/src/views/DeveloperView.vue @@ -17,10 +17,6 @@

Linux:

- - Check NSProton Compatibility - - Install NSProton @@ -210,16 +206,6 @@ export default defineComponent({ await invoke("force_panic"); showErrorNotification("Never should have been able to get here!"); }, - async checkLinuxCompatibility() { - await invoke("linux_checks") - .then(() => { - showNotification('Linux compatible', 'All checks passed'); - }) - .catch((error) => { - showNotification('Not Linux compatible', error, 'error'); - console.error(error); - }); - }, async launchGameWithoutChecks() { let launch_options: NorthstarLaunchOptions = { bypass_checks: true, launch_via_steam: false }; this.$store.commit('launchGame', launch_options); -- cgit v1.2.3