scx package check
This commit is contained in:
parent
9cd9f6dd8f
commit
b0dca62811
@ -13,6 +13,12 @@
|
||||
"packages": "kernel-cachyos kernel-cachyos-devel-matched",
|
||||
"min_x86_march": "2"
|
||||
},
|
||||
{
|
||||
"name": "Sched EXT SCX",
|
||||
"main_package": "sched-ext-scx",
|
||||
"packages": "sched-ext-scx",
|
||||
"min_x86_march": "1"
|
||||
},
|
||||
{
|
||||
"name": "UKSMD Daemon",
|
||||
"main_package": "uksmd",
|
||||
|
@ -8,6 +8,7 @@
|
||||
"browse_kernels_button_tooltip_text": "Browse Kernel for select branch",
|
||||
"config_kernel_button_tooltip_text": "Configure Sched_EXT settings",
|
||||
"config_kernel_button_tooltip_text_no_scx": "Currently running kernel doesn't support Sched-EXT",
|
||||
"config_kernel_button_tooltip_text_no_scx_installed": "Your kernel supports Sched-EXT but the sched-ext-scx packages is not installed!\nInstall it, reboot, try again",
|
||||
"null_checkbutton_label": "No branch selected",
|
||||
"db_load_complete": "DB load complete!",
|
||||
"db_downloading": "Downloading & Parsing package DB for",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
||||
<policyconfig>
|
||||
|
||||
<action id="fdm.change.scx">
|
||||
<action id="fkm.change.scx">
|
||||
<message>Authentication is required to change the SCX Scheduler</message>
|
||||
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
||||
<defaults>
|
@ -4,7 +4,7 @@
|
||||
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
||||
<policyconfig>
|
||||
|
||||
<action id="fdm.kernel.cachyos.init">
|
||||
<action id="fkm.kernel.cachyos.init">
|
||||
<message>Authentication is required to initialize the Cachyos kernel repo</message>
|
||||
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
||||
<defaults>
|
@ -4,7 +4,7 @@
|
||||
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
||||
<policyconfig>
|
||||
|
||||
<action id="fdm.modify.package">
|
||||
<action id="fkm.modify.package">
|
||||
<message>Authentication is required to modify system packages</message>
|
||||
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
||||
<defaults>
|
@ -1,6 +0,0 @@
|
||||
/* Allow passwordless auth for fdm.kernel.cachyos.init
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id == "fdm.kernel.cachyos.init" {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
6
data/polkit-1/rules.d/99-fkm.kernel.cachyos.init.rules
Normal file
6
data/polkit-1/rules.d/99-fkm.kernel.cachyos.init.rules
Normal file
@ -0,0 +1,6 @@
|
||||
/* Allow passwordless auth for fkm.kernel.cachyos.init
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id == "fkm.kernel.cachyos.init" {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
@ -30,6 +30,8 @@ Requires: polkit
|
||||
Requires: iputils
|
||||
Requires: fedora-kernel-manager-cachyos-config
|
||||
|
||||
Recommends: sched-ext-scx
|
||||
|
||||
%description
|
||||
A Libadwaita rust based application for managing and installing kernels.
|
||||
|
||||
@ -42,8 +44,8 @@ Config files to enable coprs/bieszczaders/kernel-cachyos in fedora-kernel-manage
|
||||
|
||||
%files cachyos-config
|
||||
%{_prefix}/lib/fedora-kernel-manager/kernel_branches/kernel-cachyos.json
|
||||
%{_datadir}/polkit-1/actions/fdm.kernel.cachyos.init.policy
|
||||
%{_datadir}/polkit-1/rules.d/99-fdm.kernel.cachyos.init.rules
|
||||
%{_datadir}/polkit-1/actions/fkm.kernel.cachyos.init.policy
|
||||
%{_datadir}/polkit-1/rules.d/99-fkm.kernel.cachyos.init.rules
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n nobara-drivers-gtk4
|
||||
@ -56,5 +58,5 @@ DESTDIR=%{buildroot} make install
|
||||
%{_bindir}/*
|
||||
%{_datadir}/applications/*
|
||||
%{_datadir}/icons/hicolor/scalable/apps/*.svg
|
||||
%{_datadir}/polkit-1/actions/fdm.change.scx.policy
|
||||
%{_datadir}/polkit-1/actions/fdm.modify.package.policy
|
||||
%{_datadir}/polkit-1/actions/fkm.change.scx.policy
|
||||
%{_datadir}/polkit-1/actions/fkm.modify.package.policy
|
@ -149,14 +149,18 @@ pub fn content(
|
||||
.height_request(50)
|
||||
.width_request(50)
|
||||
.tooltip_text(t!("config_kernel_button_tooltip_text"))
|
||||
.sensitive(is_scx_kernel())
|
||||
.hexpand(true)
|
||||
.build();
|
||||
config_kernel_button.add_css_class("circular");
|
||||
|
||||
if !is_scx_kernel() {
|
||||
config_kernel_button.set_sensitive(false);
|
||||
config_kernel_button
|
||||
.set_tooltip_text(Some(&t!("config_kernel_button_tooltip_text_no_scx").to_string()));
|
||||
} else if is_scx_kernel() && !is_scx_installed() {
|
||||
config_kernel_button.set_sensitive(false);
|
||||
config_kernel_button
|
||||
.set_tooltip_text(Some(&t!("config_kernel_button_tooltip_text_no_scx_installed").to_string()));
|
||||
}
|
||||
|
||||
config_kernel_button.connect_clicked(clone!(@weak content_stack, @weak window, @weak sched_ext_badge_box => move |_| {
|
||||
@ -587,4 +591,13 @@ fn create_current_sched_badge(
|
||||
&kernel_badges_size_group0,
|
||||
&kernel_badges_size_group1,
|
||||
)));
|
||||
}
|
||||
|
||||
fn is_scx_installed() -> bool {
|
||||
match Command::new("rpm")
|
||||
.args(["-q", "sched-ext-scx"])
|
||||
.output() {
|
||||
Ok(t) if t.status.success() => true,
|
||||
_ => false
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user