add zenpower3 and zenmonitor3 (#2775) (#2777)

(cherry picked from commit ee56c1ca1e)

Co-authored-by: Cappy Ishihara <cappy@cappuchino.xyz>
This commit is contained in:
Raboneko
2024-12-28 22:36:13 -08:00
committed by GitHub
parent 9fd84d6b9e
commit 38f97b0e6e
5 changed files with 182 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "zenmonitor3.spec"
}
}
@@ -0,0 +1 @@
msr
+89
View File
@@ -0,0 +1,89 @@
%global debug_package %{nil}
%global prjname zenmonitor3
%global commit ecd9bf31dd532ac53f305e10378e637cd1cc4bbe
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: %{prjname}
Version: 2.0.0^2.git%{shortcommit}
Release: 2%{?dist}
Summary: GUI monitoring software for AMD Zen-based CPUs.
Packager: Cappy Ishihara <cappy@cappuchino.xyz>
License: MIT
URL: https://gitlab.com/shdwchn10/%{prjname}
Source0: https://gitlab.com/shdwchn10/%{prjname}/-/archive/%{commit}/%{prjname}-%{commit}.tar.gz
Source1: modules-load.conf
BuildRequires: gcc
BuildRequires: make
BuildRequires: systemd-rpm-macros
BuildRequires: sed
BuildRequires: gtk3-devel
%description
Zenmonitor3 is GTK3 monitoring software for AMD Zen-based CPUs.
It can monitor these values:
- CPU Temperature
- CPU Core (SVI2) Voltage, Current and Power
- SOC (SVI2) Voltage, Current and Power
- Package and Core Power (RAPL)
- Core Frequency (from OS)
%package cli
Summary: CLI monitoring software for AMD Zen-based CPUs.
BuildRequires: ncurses-devel
%description cli
Zenmonitor3 is ncurses monitoring software for AMD Zen-based CPUs.
It can monitor these values:
- CPU Temperature
- CPU Core (SVI2) Voltage, Current and Power
- SOC (SVI2) Voltage, Current and Power
- Package and Core Power (RAPL)
- Core Frequency (from OS)
%prep
%setup -q -n %{prjname}-%{commit}
%build
make %{?_smp_mflags} DESTDIR=%{buildroot} build build-cli
%install
make %{?_smp_mflags} DESTDIR=%{buildroot} PREFIX=%{_prefix} install install-cli
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/polkit-1/actions/
sed -e "s|@APP_EXEC@|%{_bindir}/zenmonitor|" data/zenmonitor.desktop.in > \
%{buildroot}%{_datadir}/applications/zenmonitor.desktop
sed -e "s|@APP_EXEC@|%{_bindir}/zenmonitor|" data/zenmonitor-root.desktop.in > \
%{buildroot}%{_prefix}/share/applications/zenmonitor-root.desktop
sed -e "s|@APP_EXEC@|%{_bindir}/zenmonitor|" data/org.pkexec.zenmonitor.policy.in > \
%{buildroot}%{_datadir}/polkit-1/actions/org.pkexec.zenmonitor.policy
install -Dpm 0644 %{S:1} %{buildroot}%{_modulesloaddir}/%{name}.conf
%files
%{_bindir}/zenmonitor
%{_datadir}/applications/zenmonitor.desktop
%{_datadir}/applications/zenmonitor-root.desktop
%{_datadir}/polkit-1/actions/org.pkexec.zenmonitor.policy
%{_modulesloaddir}/%{name}.conf
%files cli
%{_bindir}/zenmonitor-cli
%changelog
* Thu Dec 19 2024 Andrey Brusnik <dev@shdwchn.io> - 2.0.0^2.gitecd9bf3-2
- fix: Update broken link to mirror
* Tue Nov 07 2023 Andrey Brusnik <dev@shdwchn.io> - 2.0.0^1.gita09f0b25d3-1
- Initial package
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "zenpower3.spec"
}
}
+82
View File
@@ -0,0 +1,82 @@
%global buildforkernels akmod
%global debug_package %{nil}
%global prjname zenpower3
# There will probably not be an update script for this package, since this kernel module
# is kind of dead, I will update them manually when needed.
%global commit c176fdb0d5bcba6ba2aba99ea36812e40f47751f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: %{prjname}
Version: 0.2.0^2.git%{shortcommit}
Release: 1%{?dist}
Summary: AMD Ryzen SMU driver for lm_sensors, up to Zen 3
Packager: Cappy Ishihara <cappy@fyralabs.com>
License: GPLv2
URL: https://gitlab.com/shdwchn10/%{prjname}
Source0: https://gitlab.com/shdwchn10/%{prjname}/-/archive/%{commit}/%{prjname}-%{commit}.tar.gz
BuildRequires: gcc
BuildRequires: make
BuildRequires: kmodtool
# kmodtool does its magic here
%{expand:%(kmodtool --target %{_target_cpu} --repo %{repo} --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null | sed '/global with_rhel_kabi/d') }
%description
Zenpower3 is a Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs, now with Zen 3 support!
This package contains the kmod module for %{prjname}.
%prep
%setup -q -n %{prjname}-%{commit}
# Error out if there was something wrong with kmodtool.
%{?kmodtool_check}
# Print kmodtool output for debugging purposes:
kmodtool --target %{_target_cpu} --repo %{repo} --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null | sed '/global with_rhel_kabi/d'
mkdir src
cp -a Makefile zenpower.c src/
for kernel_version in %{?kernel_versions} ; do
cp -a src _kmod_build_${kernel_version%%___*}
done
echo %{version} > VERSION
%build
for kernel_version in %{?kernel_versions} ; do
make V=1 %{?_smp_mflags} -C ${kernel_version##*___} M=${PWD}/_kmod_build_${kernel_version%%___*} modules
done
%install
for kernel_version in %{?kernel_versions}; do
mkdir -p %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
install -Dpm 0755 _kmod_build_${kernel_version%%___*}/*.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/*.ko
done
%{?akmod_install}
%changelog
* Sun Dec 29 2024 Cappy Ishihara <cappy@cappuchino.xyz> - 0.2.0^2.gitc176fdb-1
- Repackaged for Terra
* Mon Dec 23 2024 Andrey Brusnik <dev@shdwchn.io> - 0.2.0^2.gitc176fdb-4
- fix: Actually fix building with custom kernels on EL
* Thu Dec 19 2024 Andrey Brusnik <dev@shdwchn.io> - 0.2.0^2.gitc176fdb-3
- fix: Update broken link to mirror
- fix: Rollback to akmod on EL so module will work with custom kernels
* Sat Sep 28 2024 Andrey Brusnik <dev@shdwchn.io> - 0.2.0^1.gitc176fdb0d5-2
- fix: Build kmod instead of akmod for EL
* Tue Nov 07 2023 Andrey Brusnik <dev@shdwchn.io> - 0.2.0^1.gitc176fdb0d5-1
- Initial package