From 9916e489065726d073d6da99f41d79153d75917b Mon Sep 17 00:00:00 2001 From: Ward from fusion-voyager-3 Date: Mon, 2 Sep 2024 03:42:16 +0300 Subject: [PATCH] Use dpkg status --- .github/release-nest-v3 | 2 +- data/locales/en_US.json | 3 ++- data/scripts/check-pkg.sh | 10 ++++++++++ debian/changelog | 2 +- src/kernel_pkg/mod.rs | 4 ++-- 5 files changed, 16 insertions(+), 5 deletions(-) create mode 100755 data/scripts/check-pkg.sh diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 index 7813681..62f9457 100644 --- a/.github/release-nest-v3 +++ b/.github/release-nest-v3 @@ -1 +1 @@ -5 \ No newline at end of file +6 \ No newline at end of file diff --git a/data/locales/en_US.json b/data/locales/en_US.json index 722e2e2..227a18a 100644 --- a/data/locales/en_US.json +++ b/data/locales/en_US.json @@ -47,5 +47,6 @@ "sched_ext_cmd_status_dialog_body_success": "SCX has been set to", "sched_ext_cmd_status_dialog_heading_failed": "Failed!", "sched_ext_cmd_status_dialog_body_failed": "SCX couldn't be has been set to", - "sched_ext_null_checkbutton_label": "No Scheduler selected" + "sched_ext_null_checkbutton_label": "No Scheduler selected", + "installed": "Installed!" } \ No newline at end of file diff --git a/data/scripts/check-pkg.sh b/data/scripts/check-pkg.sh new file mode 100755 index 0000000..64e64bf --- /dev/null +++ b/data/scripts/check-pkg.sh @@ -0,0 +1,10 @@ +#! /usr/bin/bash +export LANG=C + +package=$1 +if dpkg-query -W -f='${Status}' $package 2>/dev/null | grep -q "install ok installed" +then + exit 0 +else + exit 1 +fi \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 88cfdf6..f3f3157 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -pika-kernel-manager (0.1.3-101pika4) pika; urgency=low +pika-kernel-manager (0.1.3-101pika5) pika; urgency=low * Initial Release diff --git a/src/kernel_pkg/mod.rs b/src/kernel_pkg/mod.rs index c3a6788..7fb72fb 100644 --- a/src/kernel_pkg/mod.rs +++ b/src/kernel_pkg/mod.rs @@ -223,8 +223,8 @@ fn add_package_rows( let kernel_main_package_clone0 = kernel_main_package.clone(); std::thread::spawn(move || loop { - let command_installed_status = Command::new("dpkg") - .args(["-s", &kernel_main_package_clone0]) + let command_installed_status = Command::new("/usr/lib/pika/kernel-manager/scripts/check-pkg.sh") + .arg(&kernel_main_package_clone0) .output() .unwrap(); let command_get_kernel_pika = Command::new("/usr/lib/pika/kernel-manager/scripts/get_kernel_pika.sh")