Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package at for openSUSE:Factory checked in 
at 2022-02-23 16:25:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/at (Old)
 and      /work/SRC/openSUSE:Factory/.at.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "at"

Wed Feb 23 16:25:55 2022 rev:82 rq:956825 version:3.2.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/at/at.changes    2021-11-27 00:51:02.310861286 
+0100
+++ /work/SRC/openSUSE:Factory/.at.new.1958/at.changes  2022-02-23 
16:26:32.395509023 +0100
@@ -1,0 +2,23 @@
+Tue Feb 22 16:24:52 UTC 2022 - Danilo Spinella <danilo.spine...@suse.com>
+
+- Update to version 3.2.4:
+  * Upstream SUSE patches
+- Update to version 3.2.3:
+  * Fix two typos on documentation
+  * Upstream SUSE patches
+  * Various improvements to the code and the build system
+- Refresh patches:
+  * at-3.1.16-handle_malformed_jobs.patch
+  * at-3.2.2.patch
+  * at-backport-old-privs.patch
+  * harden_atd.service.patch
+- Drop upstreamed patches:
+  * at-3.1.13-leak-fix.patch
+  * at-3.1.13-massive_batch.patch
+  * at-3.1.14-joblist.patch
+  * at-3.1.14-usePOSIXtimers.patch
+  * at-3.1.8-jobdir-mtime.patch
+  * at-atq-timeformat.patch
+  * at-secure_getenv.patch
+
+-------------------------------------------------------------------

Old:
----
  at-3.1.13-leak-fix.patch
  at-3.1.13-massive_batch.patch
  at-3.1.14-joblist.patch
  at-3.1.14-usePOSIXtimers.patch
  at-3.1.8-jobdir-mtime.patch
  at-atq-timeformat.patch
  at-secure_getenv.patch
  at_3.2.2.orig.tar.gz

New:
----
  at_3.2.4.orig.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ at.spec ++++++
--- /var/tmp/diff_new_pack.eKvWAN/_old  2022-02-23 16:26:33.315509056 +0100
+++ /var/tmp/diff_new_pack.eKvWAN/_new  2022-02-23 16:26:33.319509057 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package at
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -21,7 +21,7 @@
   %define _fillupdir %{_localstatedir}/adm/fillup-templates
 %endif
 Name:           at
-Version:        3.2.2
+Version:        3.2.4
 Release:        0
 Summary:        A Job Manager
 License:        GPL-2.0-or-later
@@ -32,29 +32,18 @@
 Source5:        atd.service
 Source6:        system-user-at.conf
 Patch0:         at-3.2.2.patch
-Patch4:         at-3.1.14-joblist.patch
-Patch10:        at-3.1.13-massive_batch.patch
 Patch11:        at-3.1.13-documentation-dir.patch
-# PATCH-FIX-UPSTREAM clean-up opened descriptors (bnc#533454, bnc#523346)
-Patch15:        at-3.1.13-leak-fix.patch
 #PATCH-FIX-OPENSUSE add proper system users to the deny list
 Patch16:        at-3.1.8-denylist.patch
 #PATCH-FIX-UPSTREAM plan jobs with past time to tomorrow (bnc#672586)
 Patch17:        at-3.1.13-tomorrow.patch
-#PATCH-FIX-UPSTREAM wrong mtime handling of jobdir (bnc#680113)
-Patch19:        at-3.1.8-jobdir-mtime.patch
 Patch20:        at-3.1.14-parse-suse-sysconfig.patch
 #PATCH-FIX-UPSTREAM fix makefile dependencies
 Patch21:        at-3.1.14-makefile-deps.patch
 #PATCH-FIX-OPENSUSE Set pid dir to /run not /var/run
 Patch22:        at-piddir.patch
-Patch23:        at-secure_getenv.patch
 #PATCH-FIX-OPENSUSE backport privs from 3.1.8 (bnc#849720)
 Patch24:        at-backport-old-privs.patch
-#PATCH-FEATURE-UPSTREAM introduce -o <timeformat> argument for atq (bnc#879402)
-Patch25:        at-atq-timeformat.patch
-#PATCH-FIX-OPENSUSE use posix timers to avoid the need of suspend/resume hacks.
-Patch27:        at-3.1.14-usePOSIXtimers.patch
 Patch28:        at-adjust_load_to_cpu_count.patch
 # PATCH-FIX-UPSTREAM bnc#945124 kstreit...@suse.com -- don't loop on corrupt 
files and prevent their creation
 Patch29:        at-3.1.16-handle_malformed_jobs.patch

++++++ at-3.1.14-parse-suse-sysconfig.patch ++++++
--- /var/tmp/diff_new_pack.eKvWAN/_old  2022-02-23 16:26:33.351509058 +0100
+++ /var/tmp/diff_new_pack.eKvWAN/_new  2022-02-23 16:26:33.355509057 +0100
@@ -87,7 +87,7 @@
  
 +PKG_CHECK_MODULES([HX], [libHX])
 +
+ AC_CHECK_FUNCS([__secure_getenv secure_getenv])
  dnl Checks for header files.
  AC_HEADER_DIRENT
- AC_HEADER_STDC
 

++++++ at-3.1.16-handle_malformed_jobs.patch ++++++
--- /var/tmp/diff_new_pack.eKvWAN/_old  2022-02-23 16:26:33.367509058 +0100
+++ /var/tmp/diff_new_pack.eKvWAN/_new  2022-02-23 16:26:33.367509058 +0100
@@ -1,17 +1,3 @@
-Index: at-3.1.13/at.c
-===================================================================
---- at-3.1.13.orig/at.c
-+++ at-3.1.13/at.c
-@@ -319,7 +319,8 @@ writefile(time_t runtimer, char queue)
-        * bit.  Yes, this is a kluge.
-        */
-       cmask = umask(S_IRUSR | S_IWUSR | S_IXUSR);
--      if ((fd = open(atfile, O_CREAT | O_EXCL | O_TRUNC | O_WRONLY, S_IRUSR)) 
== -1)
-+      if ((fd = open(atfile,
-+                     O_CREAT | O_EXCL | O_TRUNC | O_WRONLY | O_SYNC, 
S_IRUSR)) == -1)
-           perr("Cannot create atjob file %.500s", atfile);
- 
-       if ((fd2 = dup(fd)) < 0)
 Index: at-3.1.13/atd.c
 ===================================================================
 --- at-3.1.13.orig/atd.c

++++++ at-3.2.2.patch ++++++
--- /var/tmp/diff_new_pack.eKvWAN/_old  2022-02-23 16:26:33.379509058 +0100
+++ /var/tmp/diff_new_pack.eKvWAN/_new  2022-02-23 16:26:33.383509058 +0100
@@ -6,68 +6,68 @@
        $(CC) -c $(CFLAGS) $(DEFS) $*.c
  
  install: all
--      $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir)
--      $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir)
--      $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir)
--      $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdatadir)
--      $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir)
--      $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir)
--      $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d 
$(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
--      chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
-+      $(INSTALL) -m 755 -d $(IROOT)$(etcdir)
-+      $(INSTALL) -m 755 -d $(IROOT)$(bindir)
-+      $(INSTALL) -m 755 -d $(IROOT)$(sbindir)
-+      $(INSTALL) -m 755 -d $(IROOT)$(atdatadir)
-+      $(INSTALL) -m 755 -d $(IROOT)$(docdir)
-+      $(INSTALL) -m 755 -d $(IROOT)$(atdocdir)
-+      $(INSTALL) -m 755 -d $(IROOT)$(ATJOB_DIR)
-+      $(INSTALL) -m 755 -d $(IROOT)$(ATSPOOL_DIR)
-+      chmod 1770 $(IROOT)$(ATJOB_DIR) $(IROOT)$(ATSPOOL_DIR)
-       touch $(IROOT)$(LFILE)
-       chmod 600 $(IROOT)$(LFILE)
--      chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE)
--      test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny 
|| $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/
--      $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at 
$(IROOT)$(bindir)
-+      test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny 
|| $(INSTALL) -m 640 at.deny $(IROOT)$(etcdir)/
-+      $(INSTALL) -m 6755 at $(IROOT)$(bindir)
-       $(LN_S) -f at $(IROOT)$(bindir)/atq
-       $(LN_S) -f at $(IROOT)$(bindir)/atrm
--      $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir)
--      $(INSTALL) -g root -o root -m 755 batch-job $(IROOT)$(atdatadir)
--      $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir)
--      $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir)
--      $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir)
--      $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir)
--      $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir)
--      $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/
-+      $(INSTALL) -m 755 batch $(IROOT)$(bindir)
-+      $(INSTALL) -m 755 batch-job $(IROOT)$(atdatadir)
-+      $(INSTALL) -d -m 755 $(IROOT)$(man1dir)
-+      $(INSTALL) -d -m 755 $(IROOT)$(man5dir)
-+      $(INSTALL) -d -m 755 $(IROOT)$(man8dir)
-+      $(INSTALL) -m 755 atd $(IROOT)$(sbindir)
-+      $(INSTALL) -m 755 atrun $(IROOT)$(sbindir)
-+      $(INSTALL) -m 644 at.1 $(IROOT)$(man1dir)/
-       cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 
batch.1 && $(LN_S) -f at.1 atrm.1
--      $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/
-+      $(INSTALL) -m 644 atd.8 $(IROOT)$(man8dir)/
+-      $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
+-      $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
+-      $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
+-      $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdatadir)
+-      $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
+-      $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
+-      $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d 
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
+-      chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(atdatadir)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(ATJOB_DIR)
++      $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR)
++      chmod 1770 $(DESTDIR)$(ATJOB_DIR) $(DESTDIR)$(ATSPOOL_DIR)
+       touch $(DESTDIR)$(LFILE)
+       chmod 600 $(DESTDIR)$(LFILE)
+-      chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
+-      test -f $(DESTDIR)$(etcdir)/at.allow || test -f 
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 
at.deny $(DESTDIR)$(etcdir)/
+-      $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at 
$(DESTDIR)$(bindir)
++      test -f $(DESTDIR)$(etcdir)/at.allow || test -f 
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/
++      $(INSTALL) -m 6755 at $(DESTDIR)$(bindir)
+       $(LN_S) -f at $(DESTDIR)$(bindir)/atq
+       $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
+-      $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
+-      $(INSTALL) -g root -o root -m 755 batch-job $(DESTDIR)$(atdatadir)
+-      $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
+-      $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
+-      $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
+-      $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir)
+-      $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
+-      $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
++      $(INSTALL) -m 755 batch $(DESTDIR)$(bindir)
++      $(INSTALL) -m 755 batch-job $(DESTDIR)$(atdatadir)
++      $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
++      $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
++      $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
++      $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir)
++      $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir)
++      $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/
+       cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 
batch.1 && $(LN_S) -f at.1 atrm.1
+-      $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
++      $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/
        sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
--      $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
-+      $(INSTALL) -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
+-      $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
++      $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
        rm -f tmpman
--      $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/
-+      $(INSTALL) -m 644 at.allow.5 $(IROOT)$(man5dir)/
-       cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
--      $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir)
-+      $(INSTALL) -m 644 $(DOCS) $(IROOT)$(atdocdir)
-       rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
-               $(IROOT)$(mandir)/cat1/atq.1*
-       rm -f $(IROOT)$(mandir)/cat1/atd.8*
+-      $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
++      $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
+       cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
+-      $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
++      $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
+       rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
+               $(DESTDIR)$(mandir)/cat1/atq.1*
+       rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
        if test x"$(systemdsystemunitdir)" != xno; then \
--              $(INSTALL) -o root -g root -m 755 -d 
$(IROOT)$(systemdsystemunitdir); \
--              $(INSTALL) -o root -g root -m 644 atd.service 
$(IROOT)$(systemdsystemunitdir); \
-+              $(INSTALL) -m 755 -d $(IROOT)$(systemdsystemunitdir); \
-+              $(INSTALL) -m 644 atd.service $(IROOT)$(systemdsystemunitdir); \
+-              $(INSTALL) -o root -g root -m 755 -d 
$(DESTDIR)$(systemdsystemunitdir); \
+-              $(INSTALL) -o root -g root -m 644 atd.service 
$(DESTDIR)$(systemdsystemunitdir); \
++              $(INSTALL) -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \
++              $(INSTALL) -m 644 atd.service 
$(DESTDIR)$(systemdsystemunitdir); \
        fi
  
  dist: checkin $(DIST) $(LIST) Filelist.asc

++++++ at-backport-old-privs.patch ++++++
--- /var/tmp/diff_new_pack.eKvWAN/_old  2022-02-23 16:26:33.395509059 +0100
+++ /var/tmp/diff_new_pack.eKvWAN/_new  2022-02-23 16:26:33.399509059 +0100
@@ -11,10 +11,10 @@
  at.c |   31 ++++++++++---------------------
  1 file changed, 10 insertions(+), 21 deletions(-)
 
-Index: at-3.2.0/at.c
+Index: at-3.2.4/at.c
 ===================================================================
---- at-3.2.0.orig/at.c
-+++ at-3.2.0/at.c
+--- at-3.2.4.orig/at.c
++++ at-3.2.4/at.c
 @@ -155,18 +155,11 @@ sigc(int signo)
  /* If the user presses ^C, remove the spool file and exit 
   */
@@ -40,7 +40,7 @@
         */
        cmask = umask(S_IRUSR | S_IWUSR | S_IXUSR);
 -        seteuid(real_uid);
-       if ((fd = open(atfile, O_CREAT | O_EXCL | O_TRUNC | O_WRONLY, S_IRUSR)) 
== -1)
+       if ((fd = open(atfile, O_CREAT | O_EXCL | O_TRUNC | O_WRONLY | O_SYNC, 
S_IRUSR)) == -1)
            perr("Cannot create atjob file %.500s", atfile);
 -        seteuid(effective_uid);
  
@@ -54,7 +54,7 @@
  
      PRIV_END
  
-@@ -719,11 +708,7 @@ process_jobs(int argc, char **argv, int
+@@ -729,11 +718,7 @@ process_jobs(int argc, char **argv, int
                switch (what) {
                case ATRM:
  
@@ -67,7 +67,7 @@
  
                    if (queue == '=') {
                        fprintf(stderr, "Warning: deleting running job\n");
-@@ -733,7 +718,7 @@ process_jobs(int argc, char **argv, int
+@@ -743,7 +728,7 @@ process_jobs(int argc, char **argv, int
                        rc = EXIT_FAILURE;
                    }
  
@@ -76,7 +76,7 @@
                    done = 1;
  
                    break;
-@@ -743,21 +728,25 @@ process_jobs(int argc, char **argv, int
+@@ -753,22 +738,26 @@ process_jobs(int argc, char **argv, int
                        FILE *fp;
                        int ch;
  
@@ -96,6 +96,7 @@
 +                            PRIV_START
                            fclose(fp);
 +                            PRIV_END
+                           fp = NULL;
                        }
                        else {
                            perr("Cannot open %.500s", dirent->d_name);

++++++ at_3.2.2.orig.tar.gz -> at_3.2.4.orig.tar.gz ++++++
++++ 2539 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/.gitignore new/at-3.2.4/.gitignore
--- old/at-3.2.2/.gitignore     2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/.gitignore     2022-01-29 17:42:19.000000000 +0100
@@ -1,2 +1,21 @@
 autom4te.cache
 *~
+Makefile
+*.o
+at
+at.1
+at.allow.5
+atd
+atd.8
+atd.service
+atq
+atrm
+atrun
+atrun.8
+batch
+config.h
+config.log
+config.status
+lex.yy.c
+y.tab.c
+y.tab.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/CONTRIBUTING.md new/at-3.2.4/CONTRIBUTING.md
--- old/at-3.2.2/CONTRIBUTING.md        1970-01-01 01:00:00.000000000 +0100
+++ new/at-3.2.4/CONTRIBUTING.md        2022-01-29 17:42:19.000000000 +0100
@@ -0,0 +1,14 @@
+You may contribute in several ways:
+
+* PR at https://salsa.debian.org/debian/at
+
+* Bug report at https://bugs.debian.org
+
+* Patch file by email.
+
+Please include a nice description of your changes.  Split your changes
+into comprehensive chunks if your patch is longer than a dozen lines.
+If your patch does more that one thing, split it too.
+
+If you want to start working on a new feature please open PR at
+https://salsa.debian.org or a bug report at https://bugs.debian.org.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/ChangeLog new/at-3.2.4/ChangeLog
--- old/at-3.2.2/ChangeLog      2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/ChangeLog      2022-01-29 17:42:19.000000000 +0100
@@ -220,3 +220,39 @@
 at 3.2.2 (2021-04-25):
   Jose M Calhariz
        Add helper script batch-job
+
+at 3.2.3 (2022-01-29):
+  Jose M Calhariz
+       Fix two typos on documentation
+  Giulio Benetti
+       MR14 - Makefile: fix parallel build failure
+       MR12 - Makefile.in: use DESTDIR instead of IROOT
+       MR11 - Use quotes to include config.h since it is a local file.
+       MR8 - .gitignore: add all files produced during building
+       MR13 - getloadavg: use standard fcntl.h for open(), close(), read() and 
write()
+  Danilo Spinella
+       MR16 - Fix leaks in at.c
+       MR19 - Avoid sleeping when SIGHUP has been received
+       MR17 - Set PIDDIR to /run if exists on the system
+  Jan Stan??k
+       MR15 - Address issues raised by static analysis
+
+at 3.2.4 (2022-01-29):
+  Danillo Spinella
+       Use POSIX timers to wait on next job
+       Add timeformat argument in at.c
+       Use secure_getenv when available
+       Add O_SYNC option when opening atjob file
+       Fix mtime check in atd.c
+         https://bugzilla.suse.com/show_bug.cgi?id=680113
+       MR18 - Use POSIX timers to wait on next job
+         Upstreaming openSUSE patch: 
https://build.opensuse.org/package/view_file/Base:System/at/at-3.1.14-usePOSIXtimers.patch?expand=0&rev=d84f9fe442d5b5cce89c22d52581dfa4
+       MR21 - Add timeformat argument in at.c
+         Upstreaming openSUSE patch: 
https://build.opensuse.org/package/view_file/Base:System/at/at-atq-timeformat.patch?expand=1
+       MR23 - Use secure_getenv when available
+         
https://build.opensuse.org/package/view_file/Base:System/at/at-secure_getenv.patch?expand=1
+       MR25 - Fix mtime check in atd.c
+         https://bugzilla.suse.com/show_bug.cgi?id=680113
+       MR22 - Print the selected jobs in atq
+         
https://build.opensuse.org/package/view_file/Base:System/at/at-3.1.14-joblist.patch?expand=1
+       MR24 - Add O_SYNC option when opening atjob file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/README new/at-3.2.4/README
--- old/at-3.2.2/README 2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/README 2022-01-29 17:42:19.000000000 +0100
@@ -1,4 +1,4 @@
-This is version of 3.1.x of at, for running commands at a
+This is version of 3.2.x of at, for running commands at a
 specified time.  To install, do a
 
 $ ./configure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/at.1.in new/at-3.2.4/at.1.in
--- old/at-3.2.2/at.1.in        2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/at.1.in        2022-01-29 17:42:19.000000000 +0100
@@ -29,10 +29,22 @@
 .I job
 [...\&]
 .br
+.B at
+.RB [ \-V ]
+.RB \-l
+.RB [ -o
+.IR timeformat ]
+.I [job
+.IR ... ]
+.br
 .B atq
 .RB [ \-V ]
 .RB [ \-q
 .IR queue ]
+.RB [ -o
+.IR timeformat ]
+.I [job
+.IR ... ]
 .br
 .B at
 .RB [ \-rd ]
@@ -269,6 +281,9 @@
 .B
 \-c
 cats the jobs listed on the command line to standard output.
+.TP 8
+.BI \-o " fmt"
+strftime-like time format used for the job list
 .SH FILES
 .I @ATJBD@
 .br
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/at.c new/at-3.2.4/at.c
--- old/at-3.2.2/at.c   2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/at.c   2022-01-29 17:42:19.000000000 +0100
@@ -97,6 +97,12 @@
 #define DEFAULT_QUEUE 'a'
 #define BATCH_QUEUE   'b'
 
+#ifndef HAVE_SECURE_GETENV
+#  ifdef HAVE___SECURE_GETENV
+#    define secure_getenv __secure_getenv
+#  endif
+#endif
+
 enum {
     ATQ, BATCH, ATRM, AT, CAT
 };                             /* what program we want to run */
@@ -128,6 +134,7 @@
 char atqueue = 0;              /* which queue to examine for jobs (atq) */
 char atverify = 0;             /* verify time instead of queuing job */
 char *mail_rcpt = (char *) 0;   /* user to send mail to */
+char *timeformat = TIMEFORMAT_POSIX;   /* time format (atq) */
 
 /* Function declarations */
 
@@ -135,7 +142,10 @@
 static void alarmc(int signo);
 static char *cwdname(void);
 static void writefile(time_t runtimer, char queue);
-static void list_jobs(void);
+static void list_jobs(long *, int);
+static int in_job_list(long, long *, int);
+static long *get_job_list(int, char *[], int *);
+static char *at_getenv(char* env);
 
 /* Signal catching functions */
 
@@ -317,7 +327,7 @@
         */
        cmask = umask(S_IRUSR | S_IWUSR | S_IXUSR);
         seteuid(real_uid);
-       if ((fd = open(atfile, O_CREAT | O_EXCL | O_TRUNC | O_WRONLY, S_IRUSR)) 
== -1)
+       if ((fd = open(atfile, O_CREAT | O_EXCL | O_TRUNC | O_WRONLY | O_SYNC, 
S_IRUSR)) == -1)
            perr("Cannot create atjob file %.500s", atfile);
         seteuid(effective_uid);
 
@@ -370,7 +380,7 @@
          */
         mailname = getlogin();
         if (mailname == NULL)
-            mailname = getenv("LOGNAME");
+            mailname = at_getenv("LOGNAME");
         if (mailname == NULL || mailname[0] == '\0' || getpwnam(mailname) == 
NULL) {
             pass_entry = getpwuid(real_uid);
             if (pass_entry != NULL)
@@ -535,7 +545,7 @@
     /* This line maybe superfluous after commit 
11cb731bb560eb7bff4889c5528d5f776606b0d3 */
     runtime = localtime(&runtimer);
 
-    strftime(timestr, TIMESIZE, TIMEFORMAT_POSIX, runtime);
+    strftime(timestr, TIMESIZE, timeformat, runtime);
     fprintf(stderr, "job %ld at %s\n", jobno, timestr);
 
     /* Signal atd, if present. Usual precautions taken... */
@@ -545,17 +555,27 @@
        return;
     }
 
-    if (fstat(fd, &statbuf) == -1)
+    if (fstat(fd, &statbuf) == -1) {
+       close(fd);
        return;
+    }
     if ((statbuf.st_uid != 0) || !S_ISREG(statbuf.st_mode) ||
-       (statbuf.st_mode & (S_IWGRP | S_IWOTH)))
+       (statbuf.st_mode & (S_IWGRP | S_IWOTH))) {
+       close(fd);
        return;
+    }
 
     fp = fdopen(fd, "r");
-    if (fp == NULL)
+    if (fp == NULL) {
+       close(fd);
        return;
-    if (fscanf(fp, "%d", &pid) != 1)
+    }
+    if (fscanf(fp, "%d", &pid) != 1) {
+       fclose(fp);
        return;
+    } else {
+       fclose(fp);
+    }
 
     kill_errno = 0;
 
@@ -587,8 +607,20 @@
     return;
 }
 
+static int
+in_job_list(long job, long *joblist, int len)
+{
+    int i;
+
+    for (i = 0; i < len; i++)
+        if (job == joblist[i])
+            return 1;
+
+    return 0;
+}
+
 static void
-list_jobs(void)
+list_jobs(long *joblist, int len)
 {
     /* List all a user's jobs in the queue, by looping through ATJOB_DIR, 
      * or everybody's if we are root
@@ -627,19 +659,26 @@
        if (sscanf(dirent->d_name, "%c%5lx%8lx", &queue, &jobno, &ctm) != 3)
            continue;
 
+       /* If jobs are given, only list those jobs */
+       if (joblist && !in_job_list(jobno, joblist, len))
+           continue;
+
        if (atqueue && (queue != atqueue))
            continue;
 
        runtimer = 60 * (time_t) ctm;
        runtime = localtime(&runtimer);
 
-       strftime(timestr, TIMESIZE, TIMEFORMAT_POSIX, runtime);
+       strftime(timestr, TIMESIZE, timeformat, runtime);
 
        if ((pwd = getpwuid(buf.st_uid)))
          printf("%ld\t%s %c %s\n", jobno, timestr, queue, pwd->pw_name);
        else
          printf("%ld\t%s %c\n", jobno, timestr, queue);
     }
+
+    closedir(spool);
+
     PRIV_END
 }
 
@@ -722,6 +761,8 @@
                                putchar(ch);
                            }
                            done = 1;
+                           fclose(fp);
+                           fp = NULL;
                        }
                        else {
                            perr("Cannot open %.500s", dirent->d_name);
@@ -748,6 +789,29 @@
     return rc;
 }                              /* delete_jobs */
 
+static long *
+get_job_list(int argc, char *argv[], int *joblen)
+{
+    int i, len;
+    long *joblist;
+    char *ep;
+
+    joblist = NULL;
+    len = argc;
+    if (len > 0) {
+       joblist = (long *) mymalloc(len * sizeof(*joblist));
+       for (i = 0; i < argc; i++) {
+           errno = 0;
+           if ((joblist[i] = strtol(argv[i], &ep, 10)) < 0 ||
+               ep == argv[i] || *ep != '\0' || errno)
+               panic("invalid job number");
+        }
+    }
+
+    *joblen = len;
+    return joblist;
+}
+
 /* Global functions */
 
 void *
@@ -773,6 +837,8 @@
     char *options = "q:f:Mmu:bvlrdhVct:";      /* default options for at */
     int disp_version = 0;
     time_t timer = 0;
+    long *joblist = NULL;
+    int joblen = 0;
     struct passwd *pwe;
     struct group *ge;
 
@@ -801,7 +867,7 @@
      */
     if (strcmp(pgm, "atq") == 0) {
        program = ATQ;
-       options = "hq:V";
+       options = "hq:Vo:";
     } else if (strcmp(pgm, "atrm") == 0) {
        program = ATRM;
        options = "hV";
@@ -887,6 +953,10 @@
            }
            break;
 
+       case 'o':
+           timeformat = optarg;
+            break;
+
        default:
            usage();
            break;
@@ -912,8 +982,9 @@
     case ATQ:
 
        REDUCE_PRIV(daemon_uid, daemon_gid)
-
-           list_jobs();
+           if (queue_set == 0)
+               joblist = get_job_list(argc - optind, argv + optind, &joblen);
+           list_jobs(joblist, joblen);
        break;
 
     case ATRM:
@@ -1003,3 +1074,14 @@
     exit(EXIT_SUCCESS);
 }
 
+#if defined (HAVE_SECURE_GETENV) || defined(HAVE___SECURE_GETENV)
+static
+char *at_getenv(char* env) {
+    return secure_getenv(env);
+}
+#else
+char *at_getenv(char* env) {
+    return getenv(env);
+}
+#endif
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/atd.c new/at-3.2.4/atd.c
--- old/at-3.2.2/atd.c  2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/atd.c  2022-01-29 17:42:19.000000000 +0100
@@ -108,9 +108,10 @@
 static double load_avg = LOADAVG_MX;
 static time_t now;
 static time_t last_chg;
-static int nothing_to_do;
+static int nothing_to_do = 0;
 unsigned int batch_interval;
 static int run_as_daemon = 0;
+static int hupped = 0;
 
 static volatile sig_atomic_t term_signal = 0;
 
@@ -141,10 +142,10 @@
     return;
 }
 
-RETSIGTYPE 
-sdummy(int dummy)
+RETSIGTYPE
+set_hup(int dummy)
 {
-    /* Empty signal handler */
+    hupped = 1;
     nothing_to_do = 0;
     return;
 }
@@ -635,10 +636,11 @@
     if (stat(".", &buf) == -1)
        perr("Cannot stat " ATJOB_DIR);
 
-    if (nothing_to_do && buf.st_mtime <= last_chg)
+    if (nothing_to_do && buf.st_mtime == last_chg)
        return next_job;
     last_chg = buf.st_mtime;
 
+    hupped = 0;
     if ((spool = opendir(".")) == NULL)
        perr("Cannot read " ATJOB_DIR);
 
@@ -771,6 +773,54 @@
     return next_job;
 }
 
+#ifdef HAVE_CLOCK_GETTIME
+timer_t timer;
+struct itimerspec timeout;
+
+void timer_setup()
+{
+    struct sigevent sev;
+
+    sev.sigev_notify = SIGEV_SIGNAL;
+    sev.sigev_signo = SIGHUP;
+    sev.sigev_value.sival_ptr = &timer;
+
+    memset(&timeout, 0, sizeof(timeout));
+
+    if (timer_create(CLOCK_REALTIME, &sev, &timer) < 0)
+           pabort("unable to create timer");
+}
+
+time_t atd_gettime()
+{
+    struct timespec curtime;
+
+    clock_gettime(CLOCK_REALTIME, &curtime);
+
+    return curtime.tv_sec;
+}
+
+void atd_setalarm(time_t next)
+{
+    timeout.it_value.tv_sec = next;
+    timer_settime(timer, TIMER_ABSTIME, &timeout, NULL);
+    pause();
+}
+#else
+void timer_setup()
+{
+}
+
+time_t atd_gettime()
+{
+    return time(NULL);
+}
+
+void atd_setalarm(time_t next)
+{
+    sleep(next - atd_gettime());
+}
+#endif
 /* Global functions */
 
 int
@@ -876,7 +926,7 @@
     sigaction(SIGCHLD, &act, NULL);
 
     if (!run_as_daemon) {
-       now = time(NULL);
+       now = atd_gettime();
        run_loop();
        exit(EXIT_SUCCESS);
     }
@@ -888,7 +938,7 @@
      */
 
     sigaction(SIGHUP, NULL, &act);
-    act.sa_handler = sdummy;
+    act.sa_handler = set_hup;
     sigaction(SIGHUP, &act, NULL);
 
     sigaction(SIGTERM, NULL, &act);
@@ -899,14 +949,16 @@
     act.sa_handler = set_term;
     sigaction(SIGINT, &act, NULL);
 
+    timer_setup();
     daemon_setup();
 
     do {
        now = time(NULL);
        next_invocation = run_loop();
-       if (next_invocation > now) {
-           sleep(next_invocation - now);
+       if ((next_invocation > now) && (!hupped)) {
+           atd_setalarm(next_invocation);
        }
+       hupped = 0;
     } while (!term_signal);
     daemon_cleanup();
     exit(EXIT_SUCCESS);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/config.h.in new/at-3.2.4/config.h.in
--- old/at-3.2.2/config.h.in    2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/config.h.in    2022-01-29 17:42:19.000000000 +0100
@@ -19,6 +19,9 @@
 /* Define to 1 if compiler supports __attribute__((noreturn)) */
 #undef HAVE_ATTRIBUTE_NORETURN
 
+/* Define to 1 if you have the `clock_gettime' function. */
+#undef HAVE_CLOCK_GETTIME
+
 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
    */
 #undef HAVE_DIRENT_H
@@ -77,6 +80,9 @@
 /* Define to 1 if you have the `pstat_getdynamic' function. */
 #undef HAVE_PSTAT_GETDYNAMIC
 
+/* Define to 1 if you have the `secure_getenv' function. */
+#undef HAVE_SECURE_GETENV
+
 /* Define to 1 if you have the <security/pam_appl.h> header file. */
 #undef HAVE_SECURITY_PAM_APPL_H
 
@@ -136,6 +142,9 @@
 /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
 #undef HAVE_SYS_WAIT_H
 
+/* Define to 1 if you have the `timer_create' function. */
+#undef HAVE_TIMER_CREATE
+
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
@@ -145,6 +154,9 @@
 /* Define to 1 if you have the `waitpid' function. */
 #undef HAVE_WAITPID
 
+/* Define to 1 if you have the `__secure_getenv' function. */
+#undef HAVE___SECURE_GETENV
+
 /* Define to 1 if we need to provide our own yywrap() */
 #undef NEED_YYWRAP
 
@@ -195,6 +207,28 @@
    <sys/cpustats.h>. */
 #undef UMAX4_3
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
 /* Define if you are building with_selinux */
 #undef WITH_SELINUX
 
@@ -202,6 +236,16 @@
    `char[]'. */
 #undef YYTEXT_POINTER
 
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/configure.ac new/at-3.2.4/configure.ac
--- old/at-3.2.2/configure.ac   2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/configure.ac   2022-01-29 17:42:19.000000000 +0100
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([at],[3.2.2])
+AC_INIT([at],[3.2.4])
 AC_CONFIG_SRCDIR(at.c)
 
 AC_PREFIX_DEFAULT(/usr)
@@ -17,8 +17,8 @@
 AC_CANONICAL_HOST
 
 dnl Checks for programs.
-
-AC_PROG_CC
+AC_USE_SYSTEM_EXTENSIONS
+AC_PROG_CC_STDC
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_YACC
@@ -52,6 +52,7 @@
                   [Define to 1 if we need to provide our own yywrap()])
 )
 
+AC_CHECK_FUNCS([__secure_getenv secure_getenv])
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
@@ -139,7 +140,9 @@
 AC_SUBST(systemdsystemunitdir, [$with_systemdsystemunitdir])
 
 AC_MSG_CHECKING(location of pid file)
-if test -d /var/run ; then
+if test -d /run ; then
+    PIDDIR=/run
+elif test -d /var/run ; then
     PIDDIR=/var/run
 elif test -d /usr/run ; then
     PIDDIR=/usr/run
@@ -276,6 +279,12 @@
 AC_SUBST(SELINUXLIB)
 AC_SUBST(WITH_SELINUX)
 
+dnl check for POSIX timer functions
+AC_SEARCH_LIBS([timer_create],[rt])
+AC_CHECK_FUNCS([timer_create])
+AC_SEARCH_LIBS([clock_gettime],[rt])
+AC_CHECK_FUNCS([clock_gettime])
+
 AC_MSG_CHECKING(groupname to run under)
 AC_ARG_WITH(daemon_groupname,
 [ --with-daemon_groupname=DAEMON_GROUPNAME     Groupname to run under (default 
daemon) ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/daemon.c new/at-3.2.4/daemon.c
--- old/at-3.2.2/daemon.c       2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/daemon.c       2022-01-29 17:42:19.000000000 +0100
@@ -122,18 +122,23 @@
     /* Set up standard daemon environment */
     pid_t pid;
     mode_t old_umask;
-    int fd;
+    int fd, devnull;
     FILE *fp;
 
     if (!daemon_debug) {
-       close(0);
-       close(1);
-       close(2);
-       if ((open("/dev/null", O_RDWR) != 0) ||
-           (open("/dev/null", O_RDWR) != 1) ||
-           (open("/dev/null", O_RDWR) != 2)) {
+       devnull = open("/dev/null", O_RDWR);
+       if (devnull == -1) {
            perr("Error redirecting I/O");
        }
+
+       if ((dup2(devnull, 0) == -1) ||
+           (dup2(devnull, 1) == -1) ||
+           (dup2(devnull, 2) == -1)) {
+           close(devnull);
+           perr("Error redirecting I/O");
+       } else {
+           close(devnull);
+       }
     }
 
     if (daemon_foreground)
@@ -208,6 +213,8 @@
     fcntl(fd, F_SETFD, FD_CLOEXEC);
     PRIV_END
 
+    /* See the above comment. */
+    /* coverity[leaked_storage: FALSE] */
     return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/getloadavg.c new/at-3.2.4/getloadavg.c
--- old/at-3.2.2/getloadavg.c   2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/getloadavg.c   2022-01-29 17:42:19.000000000 +0100
@@ -66,11 +66,10 @@
 
 /* This should always be first.  */
 #ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "config.h"
 #endif
 
-#include "lisp.h"
-#include "sysfile.h" /* for encapsulated open, close, read, write */
+#include <fcntl.h> /* for encapsulated open, close, read, write */
 
 #ifndef HAVE_GETLOADAVG
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/panic.c new/at-3.2.4/panic.c
--- old/at-3.2.2/panic.c        2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/panic.c        2022-01-29 17:42:19.000000000 +0100
@@ -95,7 +95,8 @@
     fprintf(stderr, "Usage: at [-V] [-q x] [-f file] [-u username] [-mMlbv] 
timespec ...\n"
             "       at [-V] [-q x] [-f file] [-u username] [-mMlbv] -t time\n"
            "       at -c job ...\n"
-           "       atq [-V] [-q x]\n"
+           "       at [-V] -l [-o timeformat] [job ...]\n"
+           "       atq [-V] [-q x] [-o timeformat] [job ...]\n"
            "       at [ -rd ] job ...\n"
            "       atrm [-V] job ...\n"
            "       batch\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/posixtm.c new/at-3.2.4/posixtm.c
--- old/at-3.2.2/posixtm.c      2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/posixtm.c      2022-01-29 17:42:19.000000000 +0100
@@ -23,7 +23,7 @@
 /* Yacc-based version written by Jim Kingdon and David MacKenzie.
    Rewritten by Jim Meyering.  */
 
-#include <config.h>
+#include "config.h"
 
 #include "posixtm.h"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/at-3.2.2/release new/at-3.2.4/release
--- old/at-3.2.2/release        2021-04-25 03:31:30.000000000 +0200
+++ new/at-3.2.4/release        2022-01-29 17:42:19.000000000 +0100
@@ -4,7 +4,7 @@
 
 VERSION=$(grep AC_INIT configure.ac | cut -f 2 -d , | tr -d ")" | tr -d " []")
 echo "Going to release version: $VERSION"
-tail ChangeLog
+tail -n20 ChangeLog
 echo "Press enter to continue:"
 read enter
 autoconf

++++++ harden_atd.service.patch ++++++
--- /var/tmp/diff_new_pack.eKvWAN/_old  2022-02-23 16:26:33.511509063 +0100
+++ /var/tmp/diff_new_pack.eKvWAN/_new  2022-02-23 16:26:33.515509063 +0100
@@ -1,7 +1,7 @@
-Index: at-3.2.2/atd.service.in
+Index: at-3.2.4/atd.service.in
 ===================================================================
---- at-3.2.2.orig/atd.service.in
-+++ at-3.2.2/atd.service.in
+--- at-3.2.4.orig/atd.service.in
++++ at-3.2.4/atd.service.in
 @@ -4,6 +4,17 @@ Documentation=man:atd(8)
  After=remote-fs.target nss-user-lookup.target
  

Reply via email to