From 38f97b0e6ede56fc58b81a0a9a6fcd82e26f4e4a Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Sat, 28 Dec 2024 22:36:13 -0800 Subject: [PATCH] add zenpower3 and zenmonitor3 (#2775) (#2777) (cherry picked from commit ee56c1ca1e7852ec95b427392b890a599ad64333) Co-authored-by: Cappy Ishihara --- anda/system/zenmonitor3/anda.hcl | 5 ++ anda/system/zenmonitor3/modules-load.conf | 1 + anda/system/zenmonitor3/zenmonitor3.spec | 89 +++++++++++++++++++++++ anda/system/zenpower3/anda.hcl | 5 ++ anda/system/zenpower3/zenpower3.spec | 82 +++++++++++++++++++++ 5 files changed, 182 insertions(+) create mode 100644 anda/system/zenmonitor3/anda.hcl create mode 100644 anda/system/zenmonitor3/modules-load.conf create mode 100644 anda/system/zenmonitor3/zenmonitor3.spec create mode 100644 anda/system/zenpower3/anda.hcl create mode 100644 anda/system/zenpower3/zenpower3.spec diff --git a/anda/system/zenmonitor3/anda.hcl b/anda/system/zenmonitor3/anda.hcl new file mode 100644 index 0000000000..361c6636b8 --- /dev/null +++ b/anda/system/zenmonitor3/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "zenmonitor3.spec" + } +} diff --git a/anda/system/zenmonitor3/modules-load.conf b/anda/system/zenmonitor3/modules-load.conf new file mode 100644 index 0000000000..45363189f9 --- /dev/null +++ b/anda/system/zenmonitor3/modules-load.conf @@ -0,0 +1 @@ +msr \ No newline at end of file diff --git a/anda/system/zenmonitor3/zenmonitor3.spec b/anda/system/zenmonitor3/zenmonitor3.spec new file mode 100644 index 0000000000..7bba8f0397 --- /dev/null +++ b/anda/system/zenmonitor3/zenmonitor3.spec @@ -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 +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 - 2.0.0^2.gitecd9bf3-2 +- fix: Update broken link to mirror + +* Tue Nov 07 2023 Andrey Brusnik - 2.0.0^1.gita09f0b25d3-1 +- Initial package \ No newline at end of file diff --git a/anda/system/zenpower3/anda.hcl b/anda/system/zenpower3/anda.hcl new file mode 100644 index 0000000000..288539e071 --- /dev/null +++ b/anda/system/zenpower3/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "zenpower3.spec" + } +} diff --git a/anda/system/zenpower3/zenpower3.spec b/anda/system/zenpower3/zenpower3.spec new file mode 100644 index 0000000000..de65ea7976 --- /dev/null +++ b/anda/system/zenpower3/zenpower3.spec @@ -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 + +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 - 0.2.0^2.gitc176fdb-1 +- Repackaged for Terra + +* Mon Dec 23 2024 Andrey Brusnik - 0.2.0^2.gitc176fdb-4 +- fix: Actually fix building with custom kernels on EL + +* Thu Dec 19 2024 Andrey Brusnik - 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 - 0.2.0^1.gitc176fdb0d5-2 +- fix: Build kmod instead of akmod for EL + +* Tue Nov 07 2023 Andrey Brusnik - 0.2.0^1.gitc176fdb0d5-1 +- Initial package