scx package check
This commit is contained in:
parent
9cd9f6dd8f
commit
b0dca62811
@ -13,6 +13,12 @@
|
|||||||
"packages": "kernel-cachyos kernel-cachyos-devel-matched",
|
"packages": "kernel-cachyos kernel-cachyos-devel-matched",
|
||||||
"min_x86_march": "2"
|
"min_x86_march": "2"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Sched EXT SCX",
|
||||||
|
"main_package": "sched-ext-scx",
|
||||||
|
"packages": "sched-ext-scx",
|
||||||
|
"min_x86_march": "1"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "UKSMD Daemon",
|
"name": "UKSMD Daemon",
|
||||||
"main_package": "uksmd",
|
"main_package": "uksmd",
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
"browse_kernels_button_tooltip_text": "Browse Kernel for select branch",
|
"browse_kernels_button_tooltip_text": "Browse Kernel for select branch",
|
||||||
"config_kernel_button_tooltip_text": "Configure Sched_EXT settings",
|
"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": "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",
|
"null_checkbutton_label": "No branch selected",
|
||||||
"db_load_complete": "DB load complete!",
|
"db_load_complete": "DB load complete!",
|
||||||
"db_downloading": "Downloading & Parsing package DB for",
|
"db_downloading": "Downloading & Parsing package DB for",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
||||||
<policyconfig>
|
<policyconfig>
|
||||||
|
|
||||||
<action id="fdm.change.scx">
|
<action id="fkm.change.scx">
|
||||||
<message>Authentication is required to change the SCX Scheduler</message>
|
<message>Authentication is required to change the SCX Scheduler</message>
|
||||||
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
||||||
<defaults>
|
<defaults>
|
@ -4,7 +4,7 @@
|
|||||||
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
||||||
<policyconfig>
|
<policyconfig>
|
||||||
|
|
||||||
<action id="fdm.kernel.cachyos.init">
|
<action id="fkm.kernel.cachyos.init">
|
||||||
<message>Authentication is required to initialize the Cachyos kernel repo</message>
|
<message>Authentication is required to initialize the Cachyos kernel repo</message>
|
||||||
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
||||||
<defaults>
|
<defaults>
|
@ -4,7 +4,7 @@
|
|||||||
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
|
||||||
<policyconfig>
|
<policyconfig>
|
||||||
|
|
||||||
<action id="fdm.modify.package">
|
<action id="fkm.modify.package">
|
||||||
<message>Authentication is required to modify system packages</message>
|
<message>Authentication is required to modify system packages</message>
|
||||||
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
<icon_name>com.github.cosmicfusion.fedora-kernel-manager</icon_name>
|
||||||
<defaults>
|
<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: iputils
|
||||||
Requires: fedora-kernel-manager-cachyos-config
|
Requires: fedora-kernel-manager-cachyos-config
|
||||||
|
|
||||||
|
Recommends: sched-ext-scx
|
||||||
|
|
||||||
%description
|
%description
|
||||||
A Libadwaita rust based application for managing and installing kernels.
|
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
|
%files cachyos-config
|
||||||
%{_prefix}/lib/fedora-kernel-manager/kernel_branches/kernel-cachyos.json
|
%{_prefix}/lib/fedora-kernel-manager/kernel_branches/kernel-cachyos.json
|
||||||
%{_datadir}/polkit-1/actions/fdm.kernel.cachyos.init.policy
|
%{_datadir}/polkit-1/actions/fkm.kernel.cachyos.init.policy
|
||||||
%{_datadir}/polkit-1/rules.d/99-fdm.kernel.cachyos.init.rules
|
%{_datadir}/polkit-1/rules.d/99-fkm.kernel.cachyos.init.rules
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n nobara-drivers-gtk4
|
%autosetup -p1 -n nobara-drivers-gtk4
|
||||||
@ -56,5 +58,5 @@ DESTDIR=%{buildroot} make install
|
|||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_datadir}/applications/*
|
%{_datadir}/applications/*
|
||||||
%{_datadir}/icons/hicolor/scalable/apps/*.svg
|
%{_datadir}/icons/hicolor/scalable/apps/*.svg
|
||||||
%{_datadir}/polkit-1/actions/fdm.change.scx.policy
|
%{_datadir}/polkit-1/actions/fkm.change.scx.policy
|
||||||
%{_datadir}/polkit-1/actions/fdm.modify.package.policy
|
%{_datadir}/polkit-1/actions/fkm.modify.package.policy
|
@ -149,14 +149,18 @@ pub fn content(
|
|||||||
.height_request(50)
|
.height_request(50)
|
||||||
.width_request(50)
|
.width_request(50)
|
||||||
.tooltip_text(t!("config_kernel_button_tooltip_text"))
|
.tooltip_text(t!("config_kernel_button_tooltip_text"))
|
||||||
.sensitive(is_scx_kernel())
|
|
||||||
.hexpand(true)
|
.hexpand(true)
|
||||||
.build();
|
.build();
|
||||||
config_kernel_button.add_css_class("circular");
|
config_kernel_button.add_css_class("circular");
|
||||||
|
|
||||||
if !is_scx_kernel() {
|
if !is_scx_kernel() {
|
||||||
|
config_kernel_button.set_sensitive(false);
|
||||||
config_kernel_button
|
config_kernel_button
|
||||||
.set_tooltip_text(Some(&t!("config_kernel_button_tooltip_text_no_scx").to_string()));
|
.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 |_| {
|
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_group0,
|
||||||
&kernel_badges_size_group1,
|
&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