diff --git a/at-tmpfiles.conf b/at-tmpfiles.conf new file mode 100644 index 0000000..914985e --- /dev/null +++ b/at-tmpfiles.conf @@ -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 - - + diff --git a/at.spec b/at.spec index ce54a6f..36765c6 100644 --- a/at.spec +++ b/at.spec @@ -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ý - 3.1.23-13 +- Use systemd-tmpfiles for /var/spool/at directories +- Resolves: RHEL-110319 + * Mon Jun 30 2025 Ondřej Pohořelský - 3.1.23-12 - Add patch to fix past date handling - Resolves: RHEL-97024