Use systemd-tmpfiles for /var/spool/at directories

Replace RPM scriptlets with systemd-tmpfiles to create /var/spool/at
structure, fixing Image Mode compatibility and bootc container lint
warnings.

Resolves: RHEL-110319
This commit is contained in:
Ondřej Pohořelský 2025-09-19 14:25:03 +02:00
parent 46e6e618c8
commit 6f16984fb9
2 changed files with 25 additions and 5 deletions

7
at-tmpfiles.conf Normal file
View File

@ -0,0 +1,7 @@
# at - Tmpfiles configuration for at daemon
# Create /var/spool/at directory structure for the at daemon
d /var/spool/at 0700 root root - -
d /var/spool/at/spool 0700 root root - -
f /var/spool/at/.SEQ 0600 root root - -

23
at.spec
View File

@ -3,7 +3,7 @@
Summary: Job spooling tools
Name: at
Version: 3.1.23
Release: 12%{?dist}
Release: 13%{?dist}
# http://packages.debian.org/changelogs/pool/main/a/at/current/copyright
# + install-sh is MIT license with changes under Public Domain
License: GPLv3+ and GPLv2+ and ISC and MIT and Public Domain
@ -12,6 +12,7 @@ URL: http://ftp.debian.org/debian/pool/main/a/at
Source: http://ftp.debian.org/debian/pool/main/a/at/at_%{version}.orig.tar.gz
# git upstream source git://git.debian.org/git/collab-maint/at.git
Source1: pam_atd
Source2: at-tmpfiles.conf
Source3: atd.sysconf
Source5: atd.systemd
@ -40,6 +41,7 @@ BuildRequires: flex flex-static bison autoconf
BuildRequires: libselinux-devel >= 1.27.9
BuildRequires: perl(Test::Harness)
BuildRequires: perl(Test::More)
BuildRequires: systemd-rpm-macros
%if %{with pam}
BuildRequires: pam-devel
@ -117,18 +119,25 @@ install -m 644 %{SOURCE3} %{buildroot}/etc/sysconfig/atd
mkdir -p %{buildroot}/%{_unitdir}/
install -m 644 %{SOURCE5} %{buildroot}/%{_unitdir}/atd.service
# install tmpfiles configuration
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/at.conf
# remove unpackaged files from the buildroot
rm -r %{buildroot}%{_prefix}/doc
# Remove .SEQ file created by make install - tmpfiles will create it
rm -f %{buildroot}%{_localstatedir}/spool/at/.SEQ
%check
make test
%post
touch %{_localstatedir}/spool/at/.SEQ
chmod 600 %{_localstatedir}/spool/at/.SEQ
chown root:root %{_localstatedir}/spool/at/.SEQ
%systemd_post atd.service
# Create directories and files using tmpfiles
%tmpfiles_create at.conf
%preun
%systemd_preun atd.service
@ -154,9 +163,9 @@ chown root:root %{_localstatedir}/spool/at/.SEQ
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/at.deny
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/atd
%attr(0700,root,root) %dir %{_localstatedir}/spool/at
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %{_localstatedir}/spool/at/.SEQ
%attr(0700,root,root) %dir %{_localstatedir}/spool/at/spool
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/pam.d/atd
%{_tmpfilesdir}/at.conf
%{_sbindir}/atrun
%attr(0755,root,root) %{_sbindir}/atd
%{_mandir}/man*/*
@ -167,6 +176,10 @@ chown root:root %{_localstatedir}/spool/at/.SEQ
%attr(0644,root,root) /%{_unitdir}/atd.service
%changelog
* Fri Sep 19 2025 Ondřej Pohořelský <opohorel@redhat.com> - 3.1.23-13
- Use systemd-tmpfiles for /var/spool/at directories
- Resolves: RHEL-110319
* Mon Jun 30 2025 Ondřej Pohořelský <opohorel@redhat.com> - 3.1.23-12
- Add patch to fix past date handling
- Resolves: RHEL-97024