# copr-cli build i8kutils i8kutils.spec --chroot fedora-42-x86_64 --chroot fedora-rawhide-x86_64 %global major 1 %global minor 57 %global commit 3a8e4ca6bd2618e49b0ee1bfd580f223d304002d %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global snapshotyear %(date +\%Y) %global snapshotday %(date +\%m\%d) %global snapshotdate %{snapshotyear}%{snapshotday} %{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)} %global tcl_major_version %(v=%{tcl_version}; echo ${v:0:1}) %global tcl_module_dir %{_datadir}/tcl%{tcl_major_version}/%{tcl_version} Name: i8kutils Version: %{major}.%{minor}^git%{snapshotdate}.%{shortcommit} Release: 3%{?dist} License: GPLv3 URL: https://github.com/Wer-Wolf/%{name} Summary: Fan control for Dell laptops Group: Applications/System/Configuration/Hardware Source0: https://github.com/Wer-Wolf/%{name}/archive/%{commit}.zip BuildRequires: gcc BuildRequires: meson BuildRequires: systemd BuildRequires: tcl Requires: systemd Requires: tcl Requires: tcllib Provides: %{name}-%{version}-%{release} %description This is a collection of utilities to control Dell laptops fans. It includes programs to turn the fans on and off, to read fans status, CPU temperature, BIOS version. %global debug_package %{nil} %prep %autosetup -n %{name}-%{commit} -p1 %build %meson --prefix="/usr" -Dsysvinit_support=disabled -Dmoduledir=%{tcl_module_dir} %meson_build %install %meson_install # we don't need init scripts rm -rf %{buildroot}/etc/init.d # run dell-bios-fan-control in service start and stop sed -i "/\\[Service\\]/a ExecStopPost=/bin/bash -c '/usr/bin/test -f /usr/sbin/dell-bios-fan-control && /usr/sbin/dell-bios-fan-control 1; /usr/bin/true'" %{buildroot}/usr/lib/systemd/system/i8kmon.service sed -i "/\\[Service\\]/a ExecStartPre=/bin/bash -c '/usr/bin/test -f /usr/sbin/dell-bios-fan-control && /usr/sbin/dell-bios-fan-control 0; /usr/bin/true'" %{buildroot}/usr/lib/systemd/system/i8kmon.service # remove requirement of specific tcl version #sed -i -n '/package require Tcl /!p' %{buildroot}/usr/bin/i8kctl #sed -i -n '/package require Tcl /!p' %{buildroot}/usr/bin/i8kmon #sed -i -n '/package require Tcl /!p' %{buildroot}%{tcl_module_dir}/i8k/hwmon-1.0.tm #sed -i -n '/package require Tcl /!p' %{buildroot}%{tcl_module_dir}/i8k/thermal-1.0.tm %files %config(noreplace) /etc/i8kmon.conf %{tcl_module_dir} %{_bindir}/i8kmon %{_bindir}/i8kctl %{_mandir}/man1/* %{_udevrulesdir}/*.rules %{_unitdir}/i8kmon.service %changelog * Sat May 03 2025 uriesk 1.57-2 - be compatible with different versions of tcl * Sun Mar 30 2025 uriesk 1.57 - bump version * Wed Mar 26 2025 uriesk 1.55 - bump version * Wed Sep 27 2023 uriesk 1.52 - merge with Wer-Wolf fork, that fixes dependency to /proc/i8k * Sun Jun 3 2018 uriesk 1.43 - spec file rewritten to build against current version * Sun Nov 17 2002 Roger 1.17-1mdk - Packaged