File cachyos-settings.spec of Package cachyos-settings

#
# spec file for package cachyos-settings
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/

Name:           cachyos-settings
Version:        1.2.x
Release:        0
Summary:        A collection of configuration files and scripts to optimize OS installations 
License:        GPL-3.0-or-later
URL:            https://github.com/CachyOS/CachyOS-Settings
Source0:        %{name}-%{version}.tar.xz
# Require owner for some directories
BuildRequires:  udev
BuildArch:      noarch

%description
A collection of configuration files and scripts to optimize OS installations.
These settings are designed to enhance system performance, responsiveness, and resource management for technical users.

%prep
%autosetup -n %{name}-%{version}

sed -i 's|/usr/bin/env bash|/bin/bash|g' usr/bin/game-performance
sed -i 's|/usr/bin/env sh|/bin/bash|g' usr/bin/pci-latency
sed -i 's|/usr/bin/env bash|/bin/bash|g' usr/bin/zink-run

%build
# Nothing to do here

%install
install -d -m 755 %{buildroot}/%{_bindir}
install -d -m 755 %{buildroot}/%{_sysconfdir}/security
install -d -m 755 %{buildroot}/%{_sysconfdir}/security/limits.d/
install -d -m 755 %{buildroot}/usr/lib/sysctl.d
install -d -m 755 %{buildroot}/usr/lib/modprobe.d
install -d -m 755 %{buildroot}/usr/lib/modules-load.d
install -d -m 755 %{buildroot}/usr/lib/tmpfiles.d
install -d -m 755 %{buildroot}/usr/lib/udev/
install -d -m 755 %{buildroot}/usr/lib/udev/rules.d
install -d -m 755 %{buildroot}/usr/lib/systemd/system.conf.d
install -d -m 755 %{buildroot}/usr/lib/systemd/system
install -d -m 755 %{buildroot}/usr/lib/systemd/system/rtkit-daemon.service.d
install -d -m 755 %{buildroot}/usr/lib/systemd/system/user@.service.d
install -d -m 755 %{buildroot}/usr/lib/systemd/user.conf.d
install -m 755 etc/security/limits.d/20-audio.conf %{buildroot}/%{_sysconfdir}/security/limits.d/
install -m 755 usr/bin/dlss-swapper %{buildroot}/%{_bindir}/
install -m 755 usr/bin/dlss-swapper-dll %{buildroot}/%{_bindir}/
install -m 755 usr/bin/game-performance %{buildroot}/%{_bindir}/
install -m 755 usr/bin/pci-latency %{buildroot}/%{_bindir}/
install -m 755 usr/bin/zink-run %{buildroot}/%{_bindir}/
install -m 755 usr/lib/modprobe.d/*.conf %{buildroot}/usr/lib/modprobe.d/
install -m 755 usr/lib/modules-load.d/*.conf %{buildroot}/usr/lib/modules-load.d/
install -m 755 usr/lib/sysctl.d/*.conf %{buildroot}/usr/lib/sysctl.d/
install -m 755 usr/lib/systemd/system/rtkit-daemon.service.d/override.conf %{buildroot}/%{_unitdir}/rtkit-daemon.service.d/
install -m 755 usr/lib/systemd/system/user@.service.d/delegate.conf %{buildroot}/%{_unitdir}/user@.service.d/
install -m 755 usr/lib/systemd/system/pci-latency.service %{buildroot}/%{_unitdir}/ 
install -m 755 usr/lib/systemd/user.conf.d/10-limits.conf %{buildroot}/usr/lib/systemd/user.conf.d/
install -m 755 usr/lib/systemd/*.conf %{buildroot}/usr/lib/systemd/
install -m 755 usr/lib/tmpfiles.d/*.conf %{buildroot}/usr/lib/tmpfiles.d/
install -m 755 usr/lib/udev/rules.d/*.rules %{buildroot}/%{_udevrulesdir}/

%pre
%service_add_pre pci-latency.service

%post
%service_add_post pci-latency.service
%tmpfiles_create coredump.conf
%tmpfiles_create thp-shrinker.conf
%tmpfiles_create thp.conf

%preun
%service_del_preun pci-latency.service

%postun
%service_del_postun pci-latency.service

%files
%defattr(-,root,root)
%{_bindir}/dlss-swapper
%{_bindir}/dlss-swapper-dll
%{_bindir}/game-performance
%{_bindir}/pci-latency
%{_bindir}/zink-run
%dir %{_sysconfdir}/security/limits.d 
%attr(644,root,root) %{_sysconfdir}/security/limits.d/20-audio.conf
%attr(644,root,root) /usr/lib/modprobe.d/*.conf
%attr(644,root,root) /usr/lib/modules-load.d/*.conf
%attr(644,root,root) /usr/lib/sysctl.d/*.conf
%dir %{_unitdir}/rtkit-daemon.service.d
%attr(644,root,root) %{_unitdir}/rtkit-daemon.service.d/override.conf
%dir %{_unitdir}/user@.service.d 
%attr(644,root,root) %{_unitdir}/user@.service.d/delegate.conf
%{_unitdir}/pci-latency.service
%dir /usr/lib/systemd/user.conf.d
%attr(644,root,root) /usr/lib/systemd/user.conf.d/10-limits.conf
%attr(644,root,root) /usr/lib/systemd/*.conf
%attr(644,root,root) /usr/lib/tmpfiles.d/*.conf
%attr(644,root,root) %{_udevrulesdir}/*.rules

%changelog
openSUSE Build Service is sponsored by