Files
at/at-parse-suse-sysconfig.patch
2013-01-10 12:17:02 +00:00

173 lines
5.3 KiB
Diff

From: Christian Boltz <suse-beta@cboltz.de>
Last updated by: Jan Engelhardt <jengelh@inai.de>
http://bugzilla.novell.com/780259
---
Makefile.in | 4 ++--
atd.c | 21 +++++++++++++++++++++
configure.in | 44 +++++++++++++++++++++++++++-----------------
3 files changed, 50 insertions(+), 19 deletions(-)
Index: at-3.1.8/Makefile.in
===================================================================
--- at-3.1.8.orig/Makefile.in
+++ at-3.1.8/Makefile.in
@@ -31,7 +31,7 @@ SELINUXLIB = @SELINUXLIB@
PAMLIB = @PAMLIB@
CC = @CC@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ @HX_CFLAGS@
LDFLAGS = @LDFLAGS@
LFILE = $(ATJOB_DIR)/.SEQ
DEFS = @DEFS@ -DVERSION=\"$(VERSION)\" \
@@ -39,7 +39,7 @@ DEFS = @DEFS@ -DVERSION=\"$(VERSION)\"
-DDAEMON_USERNAME=\"$(DAEMON_USERNAME)\" \
-DDAEMON_GROUPNAME=\"$(DAEMON_GROUPNAME)\" \
-DLFILE=\"$(LFILE)\" -Wall
-LIBS = @LIBS@
+LIBS = @LIBS@ @HX_LIBS@
LIBOBJS = @LIBOBJS@
INSTALL = @INSTALL@
Index: at-3.1.8/atd.c
===================================================================
--- at-3.1.8.orig/atd.c
+++ at-3.1.8/atd.c
@@ -104,6 +104,10 @@ static pam_handle_t *pamh = NULL;
}
#endif
+#include <libHX/defs.h>
+#include <libHX/map.h>
+#include <libHX/option.h>
+
/* Local headers */
#include "privs.h"
@@ -934,6 +938,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.
*/
+ struct HXmap *sc_map;
int c;
time_t next_invocation;
struct sigaction act;
@@ -996,6 +1001,22 @@ main(int argc, char *argv[])
}
}
+ sc_map = HX_shconfig_map("/etc/sysconfig/atd");
+ if (sc_map != NULL) {
+ char *v;
+
+ v = HXmap_get(sc_map, "ATD_BATCH_INTERVAL");
+ if (v != NULL && strlen(v) > 0) {
+ batch_interval = strtol(v, NULL, 0);
+ syslog(LOG_INFO, "sysconfig requested batch_interval to be set to %d\n", batch_interval);
+ }
+ v = HXmap_get(sc_map, "ATD_LOADAVG");
+ if (v != NULL && strlen(v) > 0) {
+ load_avg = strtod(v, NULL);
+ syslog(LOG_INFO, "sysconfig requested load_avg to be set to %f\n", load_avg);
+ }
+ }
+
namep = argv[0];
if (chdir(ATJOB_DIR) != 0)
perr("Cannot change to " ATJOB_DIR);
Index: at-3.1.8/configure.in
===================================================================
--- at-3.1.8.orig/configure.in
+++ at-3.1.8/configure.in
@@ -1,9 +1,10 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(at.c)
+AC_INIT
+AC_CONFIG_SRCDIR([at.c])
AC_PREFIX_DEFAULT(/usr)
AC_CONFIG_HEADER(config.h)
-AC_PREREQ(2.7)
+AC_PREREQ([2.69])
VERSION="3.1.8"
@@ -39,25 +40,22 @@ case "$host" in
;;
esac
AC_MSG_CHECKING(Trying to compile a trivial ANSI C program)
-AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no)
- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.),
- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.))
+AC_RUN_IFELSE([AC_LANG_SOURCE([[ main(int ac, char **av) { return 0; } ]])],[AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
+ AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.)],[AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.)])
AC_MSG_CHECKING(__attribute__((noreturn)))
-AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);],
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN),
- AC_MSG_RESULT(no)
-)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn)) panic(void);]])],[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN)],[AC_MSG_RESULT(no)
+])
dnl Checks for libraries.
AC_CHECK_LIB(fl,yywrap,
[],
- AC_DEFINE(NEED_YYWRAP)
+ AC_DEFINE([NEED_YYWRAP], 1, [need yywrap])
)
+PKG_CHECK_MODULES([HX], [libHX])
+
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
@@ -67,7 +65,18 @@ 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
@@ -317,7 +326,7 @@ 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)
@@ -325,9 +334,10 @@ AC_SUBST(WITH_SELINUX)
AC_ARG_WITH(pam,
[ --with-pam Define to enable pam support ],
-AC_DEFINE(WITH_PAM),
+AC_DEFINE([WITH_PAM], [1], [with pam]),
)
AC_CHECK_LIB(pam, pam_start, PAMLIB='-lpam -lpam_misc')
AC_SUBST(PAMLIB)
-AC_OUTPUT(Makefile atrun atd.8 atrun.8 at.1 batch)
+AC_CONFIG_FILES([Makefile atrun atd.8 atrun.8 at.1 batch])
+AC_OUTPUT