]> granicus.if.org Git - cronie/commitdiff
syscrontab, the system crontab, is not mandatory anymore.
authorMarcela Mašláňová <mmaslano@redhat.com>
Tue, 19 Jun 2012 11:31:16 +0000 (13:31 +0200)
committerMarcela Mašláňová <mmaslano@redhat.com>
Tue, 19 Jun 2012 11:48:51 +0000 (13:48 +0200)
Cronie can be build without it. The patch was based on complaints of distribution without /etc/crontab file.

https://fedorahosted.org/cronie/ticket/10

configure.ac
src/cron.c
src/database.c

index ae76299f1b1c3dd7fa6b59f81b6c1ab9a84a329c..7f0303e03fe07766479e0a5475777c9611577819 100644 (file)
@@ -212,6 +212,13 @@ AC_ARG_WITH(audit,
         fi ]
 )
 
+AC_ARG_WITH(syscrontab,
+       [AS_HELP_STRING([--with-syscrontab], [Build cronie with syscrontab enabled.])],
+       [ if test "x$withval" != xno; then
+               AC_DEFINE(WITH_SYSCRONTAB,1,[Define if you want syscrontab.])
+       fi ]
+)
+
 dnl CRONIE_VAR_DEFAULT (VAR, DESCRIPTION, DEFAULT)
 dnl --------------------------------------------
 AC_DEFUN([CRONIE_CONF_VAR],
index f0fa725fb6cbe0538bd111a222830fe642241bf1..ee1d2a8f51ca872cfbc2534162101ab96a6abfab 100644 (file)
@@ -59,10 +59,16 @@ static int DisableInotify;
  * clustering enabled.
  */
 
-# define NUM_WATCHES 3
+# if defined WITH_SYSCRONTAB
+#      define NUM_WATCHES 3
 
 int wd[NUM_WATCHES];
 const char *watchpaths[NUM_WATCHES] = {SPOOL_DIR, SYS_CROND_DIR, SYSCRONTAB};
+# else
+#      define NUM_WATCHES 2
+int wd[NUM_WATCHES];
+const char *watchpaths[NUM_WATCHES] = {SPOOL_DIR, SYS_CROND_DIR};
+# endif
 
 static void reset_watches(void) {
        int i;
index b0f2254fee86c6ae6fa862a07916fe469c9256e5..0545913ec44b61696f0698067a0064d24ae7f7fe 100644 (file)
@@ -321,8 +321,9 @@ void check_inotify_database(cron_db * old_db) {
                set_cron_watched(old_db->ifd);
 
                /* TODO: parse the events and read only affected files */
-
+#if defined WITH_SYSCRONTAB
                process_crontab("root", NULL, SYSCRONTAB, &new_db, old_db);
+#endif
 
                if (!(dir = opendir(SYS_CROND_DIR))) {
                        log_it("CRON", pid, "OPENDIR FAILED", SYS_CROND_DIR, errno);
@@ -429,10 +430,12 @@ int load_database(cron_db * old_db) {
                max_mtime(SYS_CROND_DIR, &crond_stat);
        }
 
+#if defined WITH_SYSCRONTAB
        /* track system crontab file
         */
        if (stat(SYSCRONTAB, &syscron_stat) < OK)
                syscron_stat.st_mtime = 0;
+#endif
 
        /* if spooldir's mtime has not changed, we don't need to fiddle with
         * the database.
@@ -461,8 +464,10 @@ int load_database(cron_db * old_db) {
        new_db.ifd = old_db->ifd;
 #endif
 
+#if defined WITH_SYSCRONTAB
        if (syscron_stat.st_mtime)
                process_crontab("root", NULL, SYSCRONTAB, &new_db, old_db);
+#endif
 
        if (!(dir = opendir(SYS_CROND_DIR))) {
                log_it("CRON", pid, "OPENDIR FAILED", SYS_CROND_DIR, errno);