Hello community,

here is the log from the commit of package at for openSUSE:Factory checked in 
at 2015-07-05 17:58:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/at (Old)
 and      /work/SRC/openSUSE:Factory/.at.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "at"

Changes:
--------
--- /work/SRC/openSUSE:Factory/at/at.changes    2015-06-11 09:10:04.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.at.new/at.changes       2015-07-05 
17:58:03.000000000 +0200
@@ -1,0 +2,24 @@
+Tue Jun 23 16:48:56 UTC 2015 - [email protected]
+
+- loadavg on Linux is a sum over all CPUs, so multiply LOADAVG_MX
+  by the amount of CPUs when comparing to loadavg (bnc#889174)
+  * added at-adjust_load_to_cpu_count.patch
+
+-------------------------------------------------------------------
+Mon Jun 22 15:07:32 UTC 2015 - [email protected]
+
+- Version bump to 3.1.16 to match latest upstream:
+  * Fix regression for sec-fix in bash we applied in form of patch
+    till now - deleting at-3.1.15-sane-envkeys.patch
+- Sync/split features to be patch specific, modifying:
+  * at-3.1.13-pam.patch
+  * at-3.1.14-parse-suse-sysconfig.patch
+  * at-3.1.14-selinux.patch
+
+-------------------------------------------------------------------
+Mon Jun 22 15:02:30 UTC 2015 - [email protected]
+
+- Cleanup with spec-cleaner
+- Remove systemd conditional (we do not work on sle11 anyway)
+
+-------------------------------------------------------------------

Old:
----
  at-3.1.15-sane-envkeys.patch
  at_3.1.15.orig.tar.gz

New:
----
  at-adjust_load_to_cpu_count.patch
  at_3.1.16.orig.tar.gz

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

Other differences:
------------------
++++++ at.spec ++++++
--- /var/tmp/diff_new_pack.PKXISx/_old  2015-07-05 17:58:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PKXISx/_new  2015-07-05 17:58:04.000000000 +0200
@@ -17,18 +17,16 @@
 
 
 Name:           at
-Version:        3.1.15
+Version:        3.1.16
 Release:        0
 Summary:        A Job Manager
 License:        GPL-2.0+
 Group:          System/Daemons
-
 Url:            ftp://ftp.debian.org/debian/pool/main/a/at
 Source:         
ftp://ftp.debian.org/debian/pool/main/a/at/%{name}_%{version}.orig.tar.gz
 Source2:        atd.pamd
 Source3:        sysconfig.atd
 Source5:        atd.service
-
 Patch0:         at-3.1.14.patch
 Patch4:         at-3.1.14-joblist.patch
 Patch5:         at-3.1.14-selinux.patch
@@ -59,28 +57,25 @@
 Patch24:        at-backport-old-privs.patch
 #PATCH-FEATURE-UPSTREAM introduce -o <timeformat> argument for atq (bnc#879402)
 Patch25:        at-atq-timeformat.patch
-#PATCH-FIX-UPSTREAM sanitize environment variables (bnc#899160)
-Patch26:        at-3.1.15-sane-envkeys.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
 BuildRequires:  autoconf >= 2.69
 BuildRequires:  automake
 BuildRequires:  bison
 BuildRequires:  flex
+BuildRequires:  libHX-devel
 BuildRequires:  libselinux-devel
 BuildRequires:  pam-devel
-%if 0%{?suse_version} > 1140
-BuildRequires:  libHX-devel
 BuildRequires:  pkgconfig
-BuildRequires:  pkgconfig(systemd)
-%{?systemd_requires}
-%define has_systemd 1
-%endif
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-
-PreReq:         %{_sbindir}/useradd %{_sbindir}/groupadd %fillup_prereq
-PreReq:         permissions
+BuildRequires:  systemd-rpm-macros
+Requires(post): %fillup_prereq
+Requires(pre):  %{_sbindir}/groupadd
+Requires(pre):  %{_sbindir}/useradd
+Requires(pre):  permissions
 Recommends:     smtp_daemon
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+%{?systemd_requires}
 
 %description
 This program allows you to run jobs at specified times.
@@ -107,8 +102,9 @@
 %patch23 -p1
 %patch24 -p1
 %patch25
-%patch26 -p1
 %patch27 -p1
+%patch28 -p1
+
 %build
 rm -fv y.tab.c y.tab.h lex.yy.c lex.yy.o y.tab.o
 autoreconf -fiv
@@ -123,41 +119,41 @@
   --with-daemon_username=at \
   --with-daemon_groupname=at
 
-%{__make} %{?_smp_mflags}
+make %{?_smp_mflags}
 
 %install
-%{__install} -d 
%{buildroot}{%{_sysconfdir}/pam.d,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8},%{_localstatedir}/adm/fillup-templates}
+install -d 
%{buildroot}{%{_sysconfdir}/pam.d,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8},%{_localstatedir}/adm/fillup-templates}
 
 export CFLAGS="%{?optflags}"
 export SENDMAIL=%{_sbindir}/sendmail
 
-%{__make} install IROOT=%{buildroot}
+make install IROOT=%{buildroot}
 
 # Don't install docs here in this way
 mkdir docs
 mv %{buildroot}/%{_prefix}/doc/at/* docs/
 
-%{__install} -D -m 0644 %{S:5} %{buildroot}%{_unitdir}/atd.service
-%{__ln_s} -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcatd
+install -D -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/atd.service
+ln -s service %{buildroot}%{_sbindir}/rcatd
 
-%{__install} -m644 %SOURCE2 %{buildroot}%{_sysconfdir}/pam.d/atd
-%{__install} -m644 %SOURCE3 %{buildroot}%{_localstatedir}/adm/fillup-templates
+install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/atd
+install -m644 %{SOURCE3} %{buildroot}%{_localstatedir}/adm/fillup-templates
 
 %pre
 %{_sbindir}/groupadd -g 25 -o -r at 2> /dev/null || :
-%{_sbindir}/useradd -r -o -g at -u 25 -s /bin/bash -c "Batch jobs daemon" -d 
/var/spool/atjobs at 2> /dev/null || :
+%{_sbindir}/useradd -r -o -g at -u 25 -s /bin/bash -c "Batch jobs daemon" -d 
%{_localstatedir}/spool/atjobs at 2> /dev/null || :
 %service_add_pre atd.service
 
 %preun
 %service_del_preun atd.service
 
 %post
-%fillup_only -n atd
-%set_permissions /usr/bin/at
+%{fillup_only -n atd}
+%set_permissions %{_bindir}/at
 %service_add_post atd.service
 
 %verifyscript
-%verify_permissions -e /usr/bin/at
+%verify_permissions -e %{_bindir}/at
 
 %postun
 %service_del_postun atd.service

++++++ at-3.1.13-pam.patch ++++++
--- /var/tmp/diff_new_pack.PKXISx/_old  2015-07-05 17:58:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PKXISx/_new  2015-07-05 17:58:04.000000000 +0200
@@ -2,9 +2,7 @@
 ===================================================================
 --- atd.c.orig
 +++ atd.c
-@@ -89,10 +89,14 @@
- int selinux_enabled=0;
- #include <selinux/flask.h>
+@@ -91,6 +91,10 @@ int selinux_enabled=0;
  #include <selinux/av_permissions.h>
  #endif
  
@@ -15,11 +13,7 @@
  /* Macros */
  
  #define BATCH_INTERVAL_DEFAULT 60
- #define CHECK_INTERVAL 3600
- 
-@@ -114,11 +118,11 @@ static int nothing_to_do;
- unsigned int batch_interval;
- static int run_as_daemon = 0;
+@@ -116,7 +120,7 @@ static int run_as_daemon = 0;
  
  static volatile sig_atomic_t term_signal = 0;
  
@@ -28,11 +22,7 @@
  #include <security/pam_appl.h>
  
  static pam_handle_t *pamh = NULL;
- 
- static const struct pam_conv conv = {
-@@ -126,16 +130,17 @@ static const struct pam_conv conv = {
- };
- 
+@@ -128,12 +132,13 @@ static const struct pam_conv conv = {
  #define PAM_FAIL_CHECK if (retcode != PAM_SUCCESS) { \
        fprintf(stderr,"\n%s\n",pam_strerror(pamh, retcode)); \
        syslog(LOG_ERR,"%s",pam_strerror(pamh, retcode)); \
@@ -47,11 +37,7 @@
  
  /* Signal handlers */
  RETSIGTYPE 
- set_term(int dummy)
- {
-@@ -263,10 +268,23 @@ static int set_selinux_context(const cha
-        freecon(user_context);
-        return 0;
+@@ -265,6 +270,19 @@ static int set_selinux_context(const cha
  }
  #endif
  
@@ -71,11 +57,7 @@
  static void
  run_file(const char *filename, uid_t uid, gid_t gid)
  {
- /* Run a file by by spawning off a process which redirects I/O,
-  * spawns a subshell, then waits for it to complete and sends
-@@ -288,11 +306,11 @@ run_file(const char *filename, uid_t uid
-     int ngid;
-     char queue;
+@@ -290,7 +308,7 @@ run_file(const char *filename, uid_t uid
      char fmt[64];
      unsigned long jobno;
      int rc;
@@ -84,11 +66,7 @@
      int retcode;
  #endif
  
- #ifdef _SC_LOGIN_NAME_MAX
-     errno = 0;
-@@ -450,20 +468,24 @@ run_file(const char *filename, uid_t uid
-     write_string(fd_out, mailname);    
-     write_string(fd_out, "\n\n");
+@@ -452,16 +470,20 @@ run_file(const char *filename, uid_t uid
      fstat(fd_out, &buf);
      size = buf.st_size;
  
@@ -110,11 +88,7 @@
      PRIV_END
  #endif
  
-     close(STDIN_FILENO);
-     close(STDOUT_FILENO);
-@@ -474,10 +496,20 @@ run_file(const char *filename, uid_t uid
-       perr("Error in fork");
- 
+@@ -476,6 +498,16 @@ run_file(const char *filename, uid_t uid
      else if (pid == 0) {
        char *nul = NULL;
        char **nenvp = &nul;
@@ -131,11 +105,7 @@
  
        /* Set up things for the child; we want standard input from the
         * input file, and standard output and error sent to our output file.
-        */
-       if (lseek(fd_in, (off_t) 0, SEEK_SET) < 0)
-@@ -493,12 +525,10 @@ run_file(const char *filename, uid_t uid
-           perr("Error in I/O redirection");
- 
+@@ -495,8 +527,6 @@ run_file(const char *filename, uid_t uid
        close(fd_in);
        close(fd_out);
  
@@ -144,11 +114,7 @@
            nice((tolower((int) queue) - 'a' + 1) * 2);
  
            if (initgroups(pentry->pw_name, pentry->pw_gid))
-               perr("Cannot initialize the supplementary group access list");
- 
-@@ -526,10 +556,20 @@ run_file(const char *filename, uid_t uid
-                                if (security_getenforce()==1)
-                                        perr("Could not resset exec context 
for user %s\n", pentry->pw_name);
+@@ -528,6 +558,16 @@ run_file(const char *filename, uid_t uid
  #endif
  //end
  
@@ -165,11 +131,7 @@
        PRIV_END
      }
      /* We're the parent.  Let's wait.
-      */
-     close(fd_in);
-@@ -538,18 +578,10 @@ run_file(const char *filename, uid_t uid
-        non-blocking waitpid. So this blocking one will eventually
-        return with an ECHILD error. 
+@@ -540,14 +580,6 @@ run_file(const char *filename, uid_t uid
       */
      waitpid(pid, (int *) NULL, 0);
  
@@ -184,11 +146,7 @@
      /* Send mail.  Unlink the output file after opening it, so it
       * doesn't hang around after the run.
       */
-     fstat(fd_out, &buf);
-     lseek(fd_out, 0, SEEK_SET);
-@@ -570,19 +602,51 @@ run_file(const char *filename, uid_t uid
- 
-     if (unlink(filename) == -1)
+@@ -572,6 +604,14 @@ run_file(const char *filename, uid_t uid
          syslog(LOG_WARNING, "Warning: removing output file for job %li 
failed: %s",
                  jobno, strerror(errno));
  
@@ -203,8 +161,7 @@
      /* The job is now finished.  We can delete its input file.
       */
      chdir(ATJOB_DIR);
-     unlink(newname);
-     free(newname);
+@@ -580,7 +620,31 @@ run_file(const char *filename, uid_t uid
  
      if (((send_mail != -1) && (buf.st_size != size)) || (send_mail == 1)) {
  
@@ -236,11 +193,7 @@
  
            if (initgroups(pentry->pw_name, pentry->pw_gid))
                perr("Cannot initialize the supplementary group access list");
- 
-           if (setgid(gid) < 0)
-@@ -591,18 +655,85 @@ run_file(const char *filename, uid_t uid
-           if (setuid(uid) < 0)
-               perr("Cannot set user id");
+@@ -593,6 +657,47 @@ run_file(const char *filename, uid_t uid
  
            chdir ("/");
  
@@ -288,7 +241,7 @@
  #if defined(SENDMAIL)
            execl(SENDMAIL, "sendmail", "-i", mailname, (char *) NULL);
  #else
- #error      "No mail command specified."
+@@ -600,7 +705,33 @@ run_file(const char *filename, uid_t uid
  #endif
            perr("Exec failed for mail command");
  
@@ -323,11 +276,7 @@
      }
      exit(EXIT_SUCCESS);
  }
- 
- static time_t
-@@ -817,16 +948,11 @@ main(int argc, char *argv[])
- 
-     daemon_gid = ge->gr_gid;
+@@ -819,12 +950,7 @@ main(int argc, char *argv[])
  
      RELINQUISH_PRIVS_ROOT(daemon_uid, daemon_gid)
  
@@ -341,15 +290,11 @@
      opterr = 0;
      errno = 0;
      run_as_daemon = 1;
-     batch_interval = BATCH_INTERVAL_DEFAULT;
- 
 Index: config.h.in
 ===================================================================
 --- config.h.in.orig
 +++ config.h.in
-@@ -69,13 +69,10 @@
- #undef HAVE_NLIST_H
- 
+@@ -71,9 +71,6 @@
  /* Define to 1 for PAM support */
  #undef HAVE_PAM
  
@@ -359,11 +304,7 @@
  /* Define to 1 if you have the `pstat_getdynamic' function. */
  #undef HAVE_PSTAT_GETDYNAMIC
  
- /* Define to 1 if you have the <security/pam_appl.h> header file. */
- #undef HAVE_SECURITY_PAM_APPL_H
-@@ -143,11 +140,11 @@
- #undef HAVE_VPRINTF
- 
+@@ -145,7 +142,7 @@
  /* Define to 1 if you have the `waitpid' function. */
  #undef HAVE_WAITPID
  
@@ -372,11 +313,7 @@
  #undef NEED_YYWRAP
  
  /* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
-    on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
- #undef NLIST_NAME_UNION
-@@ -193,10 +190,13 @@
- 
- /* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
+@@ -195,6 +192,9 @@
     <sys/cpustats.h>. */
  #undef UMAX4_3
  
@@ -386,15 +323,11 @@
  /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
     `char[]'. */
  #undef YYTEXT_POINTER
- 
- /* Define to empty if `const' does not conform to ANSI C. */
 Index: perm.c
 ===================================================================
 --- perm.c.orig
 +++ perm.c
-@@ -106,18 +106,19 @@ user_in_file(const char *path, const cha
- 
- /* Global functions */
+@@ -108,14 +108,15 @@ user_in_file(const char *path, const cha
  int
  check_permission()
  {
@@ -413,21 +346,17 @@
      perror("Cannot access user database");
      exit(EXIT_FAILURE);
    }
- 
-   allow = user_in_file(ETCDIR "/at.allow", pentry->pw_name);
 Index: configure.ac
 ===================================================================
 --- configure.ac.orig
 +++ configure.ac
-@@ -265,7 +265,14 @@ AC_DEFINE(WITH_SELINUX),
- )
- AC_CHECK_LIB(selinux, is_selinux_enabled, SELINUXLIB=-lselinux)
+@@ -277,5 +277,12 @@ AC_CHECK_LIB(selinux, is_selinux_enabled
  AC_SUBST(SELINUXLIB)
  AC_SUBST(WITH_SELINUX)
  
 +AC_ARG_WITH(pam,
 +[ --with-pam            Define to enable pam support ],
-+AC_DEFINE(WITH_PAM),
++AC_DEFINE([WITH_PAM], [1], [use PAM]),
 +)
 +AC_CHECK_LIB(pam, pam_start, PAMLIB='-lpam -lpam_misc')
 +AC_SUBST(PAMLIB)

++++++ at-3.1.14-parse-suse-sysconfig.patch ++++++
--- /var/tmp/diff_new_pack.PKXISx/_old  2015-07-05 17:58:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PKXISx/_new  2015-07-05 17:58:04.000000000 +0200
@@ -11,9 +11,9 @@
 
 Index: Makefile.in
 ===================================================================
---- Makefile.in.orig   2014-09-18 10:46:08.197168752 +0200
-+++ Makefile.in        2014-09-18 10:46:08.265168751 +0200
-@@ -28,7 +28,7 @@
+--- Makefile.in.orig
++++ Makefile.in
+@@ -28,7 +28,7 @@ LEX          = @LEX@
  LEXLIB                = @LEXLIB@
  
  CC            = @CC@
@@ -22,7 +22,7 @@
  LDFLAGS               = @LDFLAGS@
  LFILE         = $(ATJOB_DIR)/.SEQ
  DEFS          = @DEFS@ -DVERSION=\"$(VERSION)\" \
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ DEFS                 = @DEFS@ -DVERSION=\"$(VERSION)\"
                -DDAEMON_USERNAME=\"$(DAEMON_USERNAME)\" \
                -DDAEMON_GROUPNAME=\"$(DAEMON_GROUPNAME)\" \
                -DLFILE=\"$(LFILE)\" -Wall
@@ -33,8 +33,8 @@
  PAMLIB          = @PAMLIB@
 Index: atd.c
 ===================================================================
---- atd.c.orig 2014-09-18 10:46:08.261168751 +0200
-+++ atd.c      2014-09-18 10:46:08.265168751 +0200
+--- atd.c.orig
++++ atd.c
 @@ -74,6 +74,10 @@
  #include <syslog.h>
  #endif
@@ -46,7 +46,7 @@
  /* Local headers */
  
  #include "privs.h"
-@@ -930,6 +934,7 @@
+@@ -930,6 +934,7 @@ main(int argc, char *argv[])
   * for execution and yet another one, optionally, for sending mail.
   * Files which already have run are removed during the next invocation.
   */
@@ -54,7 +54,7 @@
      int c;
      time_t next_invocation;
      struct sigaction act;
-@@ -998,6 +1003,22 @@
+@@ -998,6 +1003,22 @@ main(int argc, char *argv[])
        }
      }
  
@@ -79,36 +79,10 @@
        perr("Cannot change to " ATJOB_DIR);
 Index: configure.ac
 ===================================================================
---- configure.ac.orig  2014-09-18 10:46:08.217168752 +0200
-+++ configure.ac       2014-09-18 10:46:08.265168751 +0200
-@@ -5,7 +5,7 @@
- 
- AC_PREFIX_DEFAULT(/usr)
- AC_CONFIG_HEADER(config.h)
--AC_PREREQ([2.64])
-+AC_PREREQ([2.69])
- 
- VERSION=AC_PACKAGE_VERSION
- if test "X$CFLAGS" = "X"; then
-@@ -40,20 +40,21 @@
- esac
- 
- AC_MSG_CHECKING(__attribute__((noreturn)))
--AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);],
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn)) 
panic(void);]])],[
-     AC_MSG_RESULT(yes)
-     AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1,
-               [Define to 1 if compiler supports __attribute__((noreturn))]),
-     AC_MSG_RESULT(no)
--)
-+])
- dnl Checks for libraries.
- 
- AC_CHECK_LIB(fl,yywrap,
-         [],
--        AC_DEFINE(NEED_YYWRAP, 1,
--                  [Define to 1 if we need to provide our own yywrap()])
-+        AC_DEFINE([NEED_YYWRAP], 1, [need yywrap])
+--- configure.ac.orig
++++ configure.ac
+@@ -53,6 +53,8 @@ AC_CHECK_LIB(fl,yywrap,
+         AC_DEFINE([NEED_YYWRAP], 1, [need yywrap])
  )
  
 +PKG_CHECK_MODULES([HX], [libHX])
@@ -116,43 +90,3 @@
  dnl Checks for header files.
  AC_HEADER_DIRENT
  AC_HEADER_STDC
-@@ -63,7 +64,18 @@
- 
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
--AC_TYPE_SIGNAL
-+AC_DIAGNOSE([obsolete],[your code may safely assume C89 semantics that 
RETSIGTYPE is void.
-+Remove this warning and the `AC_CACHE_CHECK' when you adjust the code.])dnl
-+AC_CACHE_CHECK([return type of signal 
handlers],[ac_cv_type_signal],[AC_COMPILE_IFELSE(
-+[AC_LANG_PROGRAM([#include <sys/types.h>
-+#include <signal.h>
-+],
-+               [return *(signal (0, 0)) (0) == 1;])],
-+                 [ac_cv_type_signal=int],
-+                 [ac_cv_type_signal=void])])
-+AC_DEFINE_UNQUOTED([RETSIGTYPE],[$ac_cv_type_signal],[Define as the return 
type of signal handlers
-+                  (`int' or `void').])
-+
- AC_TYPE_UID_T
- AC_TYPE_MODE_T
- AC_TYPE_OFF_T
-@@ -261,8 +273,8 @@
- AC_SUBST(DAEMON_GROUPNAME)
- 
- AC_ARG_WITH(selinux,
--[ --with-selinux       Define to run with selinux],
--AC_DEFINE(WITH_SELINUX),
-+[ --with-selinux      Define to run with selinux],
-+AC_DEFINE([WITH_SELINUX] , [1], [enable selinux]),
- )
- AC_CHECK_LIB(selinux, is_selinux_enabled, SELINUXLIB=-lselinux)
- AC_SUBST(SELINUXLIB)
-@@ -270,7 +282,7 @@
- 
- AC_ARG_WITH(pam,
- [ --with-pam            Define to enable pam support ],
--AC_DEFINE(WITH_PAM),
-+AC_DEFINE([WITH_PAM], [1], [use PAM]),
- )
- AC_CHECK_LIB(pam, pam_start, PAMLIB='-lpam -lpam_misc')
- AC_SUBST(PAMLIB)

++++++ at-3.1.14-selinux.patch ++++++
--- /var/tmp/diff_new_pack.PKXISx/_old  2015-07-05 17:58:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PKXISx/_new  2015-07-05 17:58:04.000000000 +0200
@@ -2,9 +2,7 @@
 ===================================================================
 --- atd.c.orig
 +++ atd.c
-@@ -81,10 +81,18 @@
- 
- #ifndef HAVE_GETLOADAVG
+@@ -83,6 +83,14 @@
  #include "getloadavg.h"
  #endif
  
@@ -19,11 +17,7 @@
  /* Macros */
  
  #define BATCH_INTERVAL_DEFAULT 60
- #define CHECK_INTERVAL 3600
- 
-@@ -193,10 +201,72 @@ myfork()
- }
- 
+@@ -195,6 +203,68 @@ myfork()
  #define fork myfork
  #endif
  
@@ -92,11 +86,7 @@
  static void
  run_file(const char *filename, uid_t uid, gid_t gid)
  {
- /* Run a file by by spawning off a process which redirects I/O,
-  * spawns a subshell, then waits for it to complete and sends
-@@ -440,13 +510,25 @@ run_file(const char *filename, uid_t uid
- 
-           if (SIG_ERR == signal(SIGCHLD, SIG_DFL))
+@@ -442,9 +512,21 @@ run_file(const char *filename, uid_t uid
                perr("Cannot reset signal handler to default");
  
            chdir("/");
@@ -119,11 +109,7 @@
  
        PRIV_END
      }
-     /* We're the parent.  Let's wait.
-      */
-@@ -715,10 +797,14 @@ main(int argc, char *argv[])
-     time_t next_invocation;
-     struct sigaction act;
+@@ -717,6 +799,10 @@ main(int argc, char *argv[])
      struct passwd *pwe;
      struct group *ge;
  
@@ -134,15 +120,11 @@
  /* We don't need root privileges all the time; running under uid and gid
   * daemon is fine.
   */
- 
-     if ((pwe = getpwnam(DAEMON_USERNAME)) == NULL)
 Index: config.h.in
 ===================================================================
 --- config.h.in.orig
 +++ config.h.in
-@@ -69,10 +69,13 @@
- #undef HAVE_NLIST_H
- 
+@@ -71,6 +71,9 @@
  /* Define to 1 for PAM support */
  #undef HAVE_PAM
  
@@ -152,21 +134,67 @@
  /* Define to 1 if you have the `pstat_getdynamic' function. */
  #undef HAVE_PSTAT_GETDYNAMIC
  
- /* Define to 1 if you have the <security/pam_appl.h> header file. */
- #undef HAVE_SECURITY_PAM_APPL_H
 Index: configure.ac
 ===================================================================
 --- configure.ac.orig
 +++ configure.ac
-@@ -258,7 +258,15 @@ AC_ARG_WITH(daemon_groupname,
-     DAEMON_GROUPNAME=daemon
-     AC_MSG_RESULT(daemon)
+@@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR(at.c)
+ 
+ AC_PREFIX_DEFAULT(/usr)
+ AC_CONFIG_HEADER(config.h)
+-AC_PREREQ([2.64])
++AC_PREREQ([2.69])
+ 
+ VERSION=AC_PACKAGE_VERSION
+ if test "X$CFLAGS" = "X"; then
+@@ -40,18 +40,17 @@ case "$host" in
+ esac
+ 
+ AC_MSG_CHECKING(__attribute__((noreturn)))
+-AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);],
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn)) 
panic(void);]])],[
+     AC_MSG_RESULT(yes)
+     AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1,
+               [Define to 1 if compiler supports __attribute__((noreturn))]),
+     AC_MSG_RESULT(no)
+-)
++])
+ dnl Checks for libraries.
+ 
+ AC_CHECK_LIB(fl,yywrap,
+         [],
+-        AC_DEFINE(NEED_YYWRAP, 1,
+-                  [Define to 1 if we need to provide our own yywrap()])
++        AC_DEFINE([NEED_YYWRAP], 1, [need yywrap])
+ )
+ 
+ dnl Checks for header files.
+@@ -63,7 +62,17 @@ AC_CHECK_HEADERS(stdarg.h)
+ 
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+-AC_TYPE_SIGNAL
++AC_DIAGNOSE([obsolete],[your code may safely assume C89 semantics that 
RETSIGTYPE is void.
++Remove this warning and the `AC_CACHE_CHECK' when you adjust the code.])dnl
++AC_CACHE_CHECK([return type of signal 
handlers],[ac_cv_type_signal],[AC_COMPILE_IFELSE(
++[AC_LANG_PROGRAM([#include <sys/types.h>
++#include <signal.h>
++],
++                [return *(signal (0, 0)) (0) == 1;])],
++                  [ac_cv_type_signal=int],
++                  [ac_cv_type_signal=void])])
++AC_DEFINE_UNQUOTED([RETSIGTYPE],[$ac_cv_type_signal],[Define as the return 
type of signal handlers
++                   (`int' or `void').])
+ AC_TYPE_UID_T
+ AC_TYPE_MODE_T
+ AC_TYPE_OFF_T
+@@ -260,5 +269,13 @@ AC_ARG_WITH(daemon_groupname,
  )
  AC_SUBST(DAEMON_GROUPNAME)
  
 +AC_ARG_WITH(selinux,
 +[ --with-selinux       Define to run with selinux],
-+AC_DEFINE(WITH_SELINUX),
++AC_DEFINE([WITH_SELINUX] , [1], [enable selinux]),
 +)
 +AC_CHECK_LIB(selinux, is_selinux_enabled, SELINUXLIB=-lselinux)
 +AC_SUBST(SELINUXLIB)
@@ -178,9 +206,7 @@
 ===================================================================
 --- Makefile.in.orig
 +++ Makefile.in
-@@ -38,10 +38,12 @@ DEFS               = @DEFS@ -DVERSION=\"$(VERSION)\"
-               -DLFILE=\"$(LFILE)\" -Wall
- LIBS          = @LIBS@
+@@ -40,6 +40,8 @@ LIBS         = @LIBS@
  LIBOBJS               = @LIBOBJS@
  INSTALL               = @INSTALL@
  PAMLIB          = @PAMLIB@
@@ -189,11 +215,7 @@
  
  CLONES                = atq atrm
  ATOBJECTS     = at.o panic.o perm.o posixtm.o y.tab.o lex.yy.o
- RUNOBJECTS    = atd.o daemon.o $(LIBOBJS)
- CSRCS         = at.c atd.c panic.c perm.c posixtm.c daemon.c getloadavg.c \
-@@ -71,11 +72,11 @@ at: $(ATOBJECTS)
-       rm -f $(CLONES)
-       $(LN_S) -f at atq
+@@ -73,7 +75,7 @@ at: $(ATOBJECTS)
        $(LN_S) -f at atrm
  
  atd: $(RUNOBJECTS)
@@ -202,5 +224,3 @@
  
  y.tab.c y.tab.h: parsetime.y
        $(YACC) -d parsetime.y
- 
- lex.yy.c: parsetime.l

++++++ at-adjust_load_to_cpu_count.patch ++++++
Index: at-3.1.16/at.1.in
===================================================================
--- at-3.1.16.orig/at.1.in      2015-06-23 18:12:35.348993941 +0200
+++ at-3.1.16/at.1.in   2015-06-23 18:48:39.666401868 +0200
@@ -68,6 +68,9 @@ deletes jobs, identified by their job nu
 executes commands when system load levels permit; in other words, when the 
load average
 drops below @LOADAVG_MX@, or the value specified in the invocation of
 .BR atd .
+Note that because of the load meaning on Linux,
+this number is multiplied by the amount of CPUs when compared to the
+system loadavg.
 .PP
 .B At
 allows fairly complex time
Index: at-3.1.16/atd.c
===================================================================
--- at-3.1.16.orig/atd.c        2015-06-23 18:12:35.353994001 +0200
+++ at-3.1.16/atd.c     2015-06-23 18:31:52.137058536 +0200
@@ -763,6 +763,7 @@ run_loop()
     int run_batch;
     static time_t next_batch = 0;
     double currlavg[3];
+    int cpu_count = 1;
 
     /* Main loop. Open spool directory for reading and look over all the
      * files in there. If the filename indicates that the job should be run,
@@ -907,7 +908,14 @@ run_loop()
 #ifdef GETLOADAVG_PRIVILEGED
        END_PRIV
 #endif
-       if (currlavg[0] < load_avg) {
+#ifdef _SC_NPROCESSORS_ONLN
+       cpu_count = sysconf(_SC_NPROCESSORS_ONLN);
+       if (cpu_count < 1) {
+               cpu_count = 1;
+       }
+#endif
+
+       if (currlavg[0] < load_avg * cpu_count) {
            run_file(batch_name, batch_uid, batch_gid);
            run_batch--;
         }
Index: at-3.1.16/atd.8.in
===================================================================
--- at-3.1.16.orig/atd.8.in     2014-09-30 08:29:02.000000000 +0200
+++ at-3.1.16/atd.8.in  2015-06-23 18:48:17.519128303 +0200
@@ -20,10 +20,8 @@ runs jobs queued by
 .B -l
 Specifies a limiting load factor, over which batch jobs should
 not be run, instead of the compile-time choice of @LOADAVG_MX@.
-For an SMP system with
-.I n
-CPUs, you will probably want to set this higher than
-.IR n-1.
+This number is multiplied by the amount of CPUs when comparing
+to /proc/loadavg, because loadavg is a sum over all processors on Linux.
 .TP 8
 .B -b
 Specify the minimum interval in seconds between the start of two
++++++ at_3.1.15.orig.tar.gz -> at_3.1.16.orig.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-3.1.15/ChangeLog new/at-3.1.16/ChangeLog
--- old/at-3.1.15/ChangeLog     2014-08-10 13:56:37.000000000 +0200
+++ new/at-3.1.16/ChangeLog     2014-09-30 08:29:02.000000000 +0200
@@ -152,3 +152,8 @@
         pam.conf: require pam_loginuid.so
         atd.service.in: Add Documentation field.
         atd.service.in: Set IgnoreSIGPIPE=false
+
+at 3.1.16 (2014-09-30):
+
+  Ansgar Burchardt (1):
+        at: only retain variables whose name consists of alphanumerics and 
underscores
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-3.1.15/at.c new/at-3.1.16/at.c
--- old/at-3.1.15/at.c  2014-08-10 13:56:37.000000000 +0200
+++ new/at-3.1.16/at.c  2014-09-30 08:29:02.000000000 +0200
@@ -390,6 +390,22 @@
        int export = 1;
        char *eqp;
 
+        /* Only accept alphanumerics and underscore in variable names.
+         * Also require the name to not start with a digit.
+         * Some shells don't like other variable names.
+         */
+        {
+            char *p = *atenv;
+            if (isdigit(*p))
+                export = 0;
+            for (; *p != '=' && *p != '\0'; ++p) {
+                if (!isalnum(*p) && *p != '_') {
+                    export = 0;
+                    break;
+                }
+            }
+        }
+
        eqp = strchr(*atenv, '=');
        if (ap == NULL)
            eqp = *atenv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-3.1.15/configure new/at-3.1.16/configure
--- old/at-3.1.15/configure     2014-08-10 13:56:37.000000000 +0200
+++ new/at-3.1.16/configure     2014-09-30 08:29:02.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for at 3.1.15.
+# Generated by GNU Autoconf 2.69 for at 3.1.16.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
 # Identity of this package.
 PACKAGE_NAME='at'
 PACKAGE_TARNAME='at'
-PACKAGE_VERSION='3.1.15'
-PACKAGE_STRING='at 3.1.15'
+PACKAGE_VERSION='3.1.16'
+PACKAGE_STRING='at 3.1.16'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1263,7 +1263,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures at 3.1.15 to adapt to many kinds of systems.
+\`configure' configures at 3.1.16 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1328,7 +1328,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of at 3.1.15:";;
+     short | recursive ) echo "Configuration of at 3.1.16:";;
    esac
   cat <<\_ACEOF
 
@@ -1425,7 +1425,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-at configure 3.1.15
+at configure 3.1.16
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1901,7 +1901,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by at $as_me 3.1.15, which was
+It was created by at $as_me 3.1.16, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2256,7 +2256,7 @@
 
 
 
-VERSION=3.1.15
+VERSION=3.1.16
 if test "X$CFLAGS" = "X"; then
 CFLAGS="-O2 -g -Wall"
 fi
@@ -5744,7 +5744,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by at $as_me 3.1.15, which was
+This file was extended by at $as_me 3.1.16, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5806,7 +5806,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-at config.status 3.1.15
+at config.status 3.1.16
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-3.1.15/configure.ac new/at-3.1.16/configure.ac
--- old/at-3.1.15/configure.ac  2014-08-10 13:56:37.000000000 +0200
+++ new/at-3.1.16/configure.ac  2014-09-30 08:29:02.000000000 +0200
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(at, 3.1.15)
+AC_INIT(at, 3.1.16)
 AC_CONFIG_SRCDIR(at.c)
 
 AC_PREFIX_DEFAULT(/usr)

++++++ sysconfig.atd ++++++
--- /var/tmp/diff_new_pack.PKXISx/_old  2015-07-05 17:58:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PKXISx/_new  2015-07-05 17:58:04.000000000 +0200
@@ -13,7 +13,8 @@
 ## Type:        string
 ## Default:     ""
 ## ServiceRestart: atd
-# load limiting factor for atd, "" for default
+# load limiting factor for atd, "" for default,
+# it's multiplied by the amount of CPUs when comparing to /proc/loadavg
 #
 ATD_LOADAVG=""
 


Reply via email to