diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/at-3.2.5-past-date.patch b/at-3.2.5-past-date.patch deleted file mode 100644 index 6344c40..0000000 --- a/at-3.2.5-past-date.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6c131df8c85cb2761faf551f8f9db179e216fc09 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= -Date: Wed, 25 Jun 2025 14:35:31 +0200 -Subject: [PATCH] Reject past dates when using -t option - --t option was missing validation to reject past dates, unlike the -regular time parsing. - -Add the same past date validation used by parsetime() to the posixtime() -code path to ensure consistent behavior when parsing time. ---- - at.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/at.c b/at.c -index 8d0feaa..3fb0582 100644 ---- a/at.c -+++ b/at.c -@@ -951,6 +951,11 @@ main(int argc, char **argv) - fprintf(stderr, "invalid date format: %s\n", optarg); - exit(EXIT_FAILURE); - } -+ /* Check if the parsed time is in the past */ -+ if (timer < time(NULL)) { -+ fprintf(stderr, "at: refusing to create job destined in the past\n"); -+ exit(EXIT_FAILURE); -+ } - break; - - case 'o': --- -2.49.0 - diff --git a/at-tmpfiles.conf b/at-tmpfiles.conf deleted file mode 100644 index 8eec9a7..0000000 --- a/at-tmpfiles.conf +++ /dev/null @@ -1,6 +0,0 @@ -# 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 60d9fd4..d36c82d 100644 --- a/at.spec +++ b/at.spec @@ -3,7 +3,7 @@ Summary: Job spooling tools Name: at Version: 3.2.5 -Release: 20%{?dist} +Release: 12%{?dist} # http://packages.debian.org/changelogs/pool/main/a/at/current/copyright # + install-sh is MIT license with changes under Public Domain License: GPL-3.0-or-later AND GPL-2.0-or-later AND ISC @@ -12,7 +12,6 @@ URL: http://ftp.debian.org/debian/pool/main/a/at Source: http://software.calhariz.com/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 @@ -32,14 +31,12 @@ Patch: at-3.1.16-clear-nonjobs.patch Patch: at-3.2.2-lock-locks.patch Patch: at-3.1.23-document-n.patch Patch: at-3.1.20-log-jobs.patch -Patch: at-3.2.5-past-date.patch BuildRequires: gcc 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 @@ -90,7 +87,7 @@ make install \ DAEMON_USERNAME=`id -nu` \ DAEMON_GROUPNAME=`id -ng` \ DESTDIR=%{buildroot} \ - sbindir=%{_bindir} \ + sbindir=%{_prefix}/sbin \ bindir=%{_bindir} \ datadir=%{_datadir} \ prefix=%{_prefix} \ @@ -117,24 +114,18 @@ 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 @@ -159,48 +150,21 @@ make test %doc README timespec ChangeLog %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/at.deny %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/atd -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/pam.d/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 -%{_tmpfilesdir}/at.conf -%{_bindir}/atrun -%attr(0755,root,root) %{_bindir}/atd +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/pam.d/atd +%{_sbindir}/atrun +%attr(0755,root,root) %{_sbindir}/atd %{_mandir}/man*/* %{_bindir}/batch %{_bindir}/atrm %{_bindir}/atq %attr(4755,root,root) %{_bindir}/at -%{_datadir}/at/ +%{_datadir}/at/batch-job %attr(0644,root,root) /%{_unitdir}/atd.service %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 3.2.5-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Thu Sep 18 2025 Ondřej Pohořelský - 3.2.5-19 -- Add /var/spool/at and /var/spool/at/spool directories into %%files section -- Resolves: rhbz#2396330 - -* Wed Aug 27 2025 Ondřej Pohořelský - 3.2.5-18 -- Use systemd-tmpfiles for /var/spool/at directories - -* Wed Jul 23 2025 Fedora Release Engineering - 3.2.5-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jun 25 2025 Ondřej Pohořelský - 3.2.5-16 -- Fix past date handling with -t option - -* Mon May 05 2025 Ondřej Pohořelský - 3.2.5-15 -- Claim ownership of /usr/share/at -- Resolves: rhbz#2283298 - -* Mon Jan 27 2025 Ondřej Pohořelský - 3.2.5-14 -- Unify bin and sbin directories -- Resolves: rhbz#2339910 - -* Thu Jan 16 2025 Fedora Release Engineering - 3.2.5-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - * Thu Aug 8 2024 Ales Nezbeda - 3.2.5-12 - Backport fixes from upstream PR - https://salsa.debian.org/debian/at/-/merge_requests/34 diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/tests/at b/tests/at new file mode 160000 index 0000000..30cccc8 --- /dev/null +++ b/tests/at @@ -0,0 +1 @@ +Subproject commit 30cccc88a2064eb05018a09d65164a26972cd5b5 diff --git a/tests/initscript/main.fmf b/tests/initscript/main.fmf deleted file mode 100644 index 275b067..0000000 --- a/tests/initscript/main.fmf +++ /dev/null @@ -1,12 +0,0 @@ -summary: Initscript sanity -description: '' -contact: Radek Biba -component: - - at -test: ./runtest.sh -framework: beakerlib -recommend: - - at -duration: 5m -extra-summary: /CoreOS/at/Sanity/initscript -extra-task: /CoreOS/at/Sanity/initscript diff --git a/tests/initscript/runtest.sh b/tests/initscript/runtest.sh index 67ecc2d..a84aecb 100755 --- a/tests/initscript/runtest.sh +++ b/tests/initscript/runtest.sh @@ -27,7 +27,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 +. /usr/share/rhts-library/rhtslib.sh PACKAGE="at" SERVICE="atd" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..751a586 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,13 @@ +--- +# This first play always runs on the local staging system +- hosts: localhost + roles: + - role: standard-test-beakerlib + tags: + - classic + - container + - atomic + tests: + - initscript + required_packages: + - at # Required to run initscript