diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9f4103b..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -cronie-1.4.7.tar.gz -/cronie-1.4.8.tar.gz -/cronie-1.4.9.tar.gz -/cronie-1.4.10.tar.gz -/cronie-1.4.11.tar.gz diff --git a/correct-env.patch b/correct-env.patch deleted file mode 100644 index 4f33457..0000000 --- a/correct-env.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -up cronie-1.4.11/src/security.c.old cronie-1.4.11/src/security.c ---- cronie-1.4.11/src/security.c.old 2013-07-18 14:27:08.000000000 +0200 -+++ cronie-1.4.11/src/security.c 2013-09-25 12:29:19.467145843 +0200 -@@ -129,15 +129,13 @@ int cron_set_job_security_context(entry - } - #endif - -- *jobenv = build_env(e->envp); -- - #ifdef WITH_SELINUX - /* we must get the crontab context BEFORE changing user, else - * we'll not be permitted to read the cron spool directory :-) - */ - security_context_t ucontext = 0; - -- if (cron_get_job_range(u, &ucontext, *jobenv) < OK) { -+ if (cron_get_job_range(u, &ucontext, e->envp) < OK) { - log_it(e->pwd->pw_name, getpid(), "ERROR", - "failed to get SELinux context", 0); - return -1; -@@ -165,6 +163,8 @@ int cron_set_job_security_context(entry - return -1; - } - -+ *jobenv = build_env(e->envp); -+ - time_t job_run_time = time(0L); - - if ((minutely_time > 0) && ((job_run_time / 60) != (minutely_time / 60))) { -@@ -615,16 +615,23 @@ int crontab_security_access(void) { - */ - static char **build_env(char **cronenv) { - #ifdef WITH_PAM -- char **jobenv; -- char **pamenv = pam_getenvlist(pamh); -+ char **jobenv = pam_getenvlist(pamh); - char *cronvar; - int count = 0; -- jobenv = env_copy(pamenv); - - /* Now add the cron environment variables. Since env_set() - * overwrites existing variables, this will let cron's - * environment settings override pam's */ - -+ if (jobenv == NULL) { -+ jobenv = env_init(); -+ if (jobenv == NULL) { -+ log_it("CRON", getpid(), -+ "ERROR", "Initialization of cron environment variables failed", 0); -+ return NULL; -+ } -+ } -+ - while ((cronvar = cronenv[count++])) { - if (!(jobenv = env_set(jobenv, cronvar))) { - log_it("CRON", getpid(), diff --git a/cronie-1.4.10-copy-env.patch b/cronie-1.4.10-copy-env.patch deleted file mode 100644 index dda8133..0000000 --- a/cronie-1.4.10-copy-env.patch +++ /dev/null @@ -1,172 +0,0 @@ -diff -up cronie-1.4.10/src/env.c.copy-env cronie-1.4.10/src/env.c ---- cronie-1.4.10/src/env.c.copy-env 2012-11-27 08:32:13.000000000 +0100 -+++ cronie-1.4.10/src/env.c 2013-06-11 17:41:08.533094913 +0200 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - #include "globals.h" - #include "funcs.h" -@@ -67,7 +68,7 @@ char **env_copy(char **envp) { - return (p); - } - --char **env_set(char **envp, char *envstr) { -+char **env_set(char **envp, const char *envstr) { - int count, found; - char **p, *envtmp; - -@@ -112,6 +113,47 @@ char **env_set(char **envp, char *envstr - return (p); - } - -+int env_set_from_environ(char ***envpp) { -+ static const char *names[] = { -+ "LANG", -+ "LC_CTYPE", -+ "LC_NUMERIC", -+ "LC_TIME", -+ "LC_COLLATE", -+ "LC_MONETARY", -+ "LC_MESSAGES", -+ "LC_PAPER", -+ "LC_NAME", -+ "LC_ADDRESS", -+ "LC_TELEPHONE", -+ "LC_MEASUREMENT", -+ "LC_IDENTIFICATION", -+ "LC_ALL", -+ "LANGUAGE", -+ NULL -+ }; -+ const char **name; -+ char **procenv; -+ -+ for (procenv = environ; *procenv != NULL; ++procenv) { -+ for (name = names; *name != NULL; ++name) { -+ size_t namelen; -+ -+ namelen = strlen(*name); -+ if (strncmp(*name, *procenv, namelen) == 0 -+ && (*procenv)[namelen] == '=') { -+ char **tmpenv; -+ -+ tmpenv = env_set(*envpp, *procenv); -+ if (tmpenv == NULL) -+ return FALSE; -+ *envpp = tmpenv; -+ } -+ } -+ } -+ return TRUE; -+} -+ - /* The following states are used by load_env(), traversed in order: */ - enum env_state { - NAMEI, /* First char of NAME, may be quote */ -diff -up cronie-1.4.10/src/funcs.h.copy-env cronie-1.4.10/src/funcs.h ---- cronie-1.4.10/src/funcs.h.copy-env 2012-11-27 10:22:14.000000000 +0100 -+++ cronie-1.4.10/src/funcs.h 2013-06-11 17:08:36.462019472 +0200 -@@ -67,6 +67,7 @@ int load_database(cron_db *), - swap_uids(void), - swap_uids_back(void), - load_env(char *, FILE *), -+ env_set_from_environ(char ***envpp), - cron_pclose(FILE *), - glue_strings(char *, size_t, const char *, const char *, char), - strcmp_until(const char *, const char *, char), -@@ -81,7 +82,7 @@ char *env_get(const char *, char **), - *first_word(const char *, const char *), - **env_init(void), - **env_copy(char **), -- **env_set(char **, char *); -+ **env_set(char **, const char *); - - user *load_user(int, struct passwd *, const char *, const char *, const char *), - *find_user(cron_db *, const char *, const char *); -diff -up cronie-1.4.10/src/user.c.copy-env cronie-1.4.10/src/user.c ---- cronie-1.4.10/src/user.c.copy-env 2012-11-27 08:32:13.000000000 +0100 -+++ cronie-1.4.10/src/user.c 2013-06-11 17:34:51.000000000 +0200 -@@ -63,7 +63,7 @@ load_user (int crontab_fd, struct passwd - FILE *file; - user *u; - entry *e; -- int status, save_errno = errno; -+ int status = TRUE, save_errno = 0; - char **envp = NULL, **tenvp; - - if (!(file = fdopen(crontab_fd, "r"))) { -@@ -84,26 +84,24 @@ load_user (int crontab_fd, struct passwd - if (((u->name = strdup(fname)) == NULL) - || ((u->tabname = strdup(tabname)) == NULL)) { - save_errno = errno; -- free_user(u); -- u = NULL; - goto done; - } - -- - /* init environment. this will be copied/augmented for each entry. - */ - if ((envp = env_init()) == NULL) { - save_errno = errno; -- free_user(u); -- u = NULL; -+ goto done; -+ } -+ -+ if (env_set_from_environ(&envp) == FALSE) { -+ save_errno = errno; - goto done; - } - - #ifdef WITH_SELINUX - if (get_security_context(pw == NULL ? NULL : uname, - crontab_fd, &u->scontext, tabname) != 0) { -- free_user (u); -- u = NULL; - goto done; - } - #endif -@@ -111,15 +109,10 @@ load_user (int crontab_fd, struct passwd - */ - while ((status = load_env (envstr, file)) >= OK) { - switch (status) { -- case ERR: -- save_errno = errno; -- free_user(u); -- u = NULL; -- goto done; - case FALSE: - FileName = tabname; - e = load_entry(file, log_error, pw, envp); -- if (e) { -+ if (e) { - e->next = u->crontab; - u->crontab = e; - } -@@ -127,16 +120,18 @@ load_user (int crontab_fd, struct passwd - case TRUE: - if ((tenvp = env_set (envp, envstr)) == NULL) { - save_errno = errno; -- free_user(u); -- u = NULL; - goto done; - } -- envp = tenvp; -- break; -+ envp = tenvp; -+ break; - } - } - - done: -+ if (status == TRUE) { -+ free_user(u); -+ u = NULL; -+ } - if (envp) - env_free(envp); - fclose(file); diff --git a/cronie-1.4.10-random-delay.patch b/cronie-1.4.10-random-delay.patch deleted file mode 100644 index b746691..0000000 --- a/cronie-1.4.10-random-delay.patch +++ /dev/null @@ -1,163 +0,0 @@ -diff --git a/man/crontab.5 b/man/crontab.5 -index 740e393..bfc8414 100644 ---- a/man/crontab.5 -+++ b/man/crontab.5 -@@ -143,6 +143,13 @@ specifications of the particular security context. For more information, - see - .BR crontab (1)\ -s\ option. - .PP -+The -+.I RANDOM_DELAY -+variable allows delaying job startups by random amount of minutes with -+upper limit specified by the variable. The random scaling factor is -+determined during the cron daemon startup so it remains constant for -+the whole run time of the daemon. -+.PP - The format of a cron command is similar to the V7 standard, with a number - of upward-compatible extensions. Each line has five time-and-date fields - followed by a -diff --git a/src/cron.c b/src/cron.c -index 6fd0c31..ec4ace7 100644 ---- a/src/cron.c -+++ b/src/cron.c -@@ -39,6 +39,7 @@ - #include - #include - #include -+#include - - #ifdef WITH_INOTIFY - # include -@@ -202,6 +203,9 @@ int main(int argc, char *argv[]) { - char *cs; - pid_t pid = getpid(); - long oldGMToff; -+ struct timeval tv; -+ struct timezone tz; -+ char buf[256]; - - if ((ProgramName=strrchr(argv[0], '/')) == NULL) { - ProgramName = argv[0]; -@@ -298,6 +302,15 @@ int main(int argc, char *argv[]) { - } - - pid = getpid(); -+ -+ /* obtain a random scaling factor for RANDOM_DELAY */ -+ if (gettimeofday(&tv, &tz) != 0) -+ tv.tv_usec = 0; -+ srandom(pid + tv.tv_usec); -+ RandomScale = random() / (double)RAND_MAX; -+ snprintf(buf, sizeof(buf), "RANDOM_DELAY will be scaled with factor %d%% if used.", (int)(RandomScale*100)); -+ log_it("CRON", pid, "INFO", buf, 0); -+ - acquire_daemonlock(0); - database.head = NULL; - database.tail = NULL; -@@ -508,8 +521,6 @@ static void run_reboot_jobs(cron_db * db) { - - static void find_jobs(int vtime, cron_db * db, int doWild, int doNonWild, long vGMToff) { - char *orig_tz, *job_tz; -- time_t virtualSecond = vtime * SECONDS_PER_MINUTE; -- time_t virtualGMTSecond = virtualSecond - vGMToff; - struct tm *tm; - int minute, hour, dom, month, dow; - user *u; -@@ -542,11 +553,7 @@ static void find_jobs(int vtime, cron_db * db, int doWild, int doNonWild, long v - } while (0) - - orig_tz = getenv("TZ"); -- maketime(NULL, orig_tz); - -- Debug(DSCH, ("[%ld] tick(%d,%d,%d,%d,%d) %s %s\n", -- (long) getpid(), minute, hour, dom, month, dow, -- doWild ? " " : "No wildcard", doNonWild ? " " : "Wildcard only")); - /* the dom/dow situation is odd. '* * 1,15 * Sun' will run on the - * first and fifteenth AND every Sunday; '* * * * Sun' will run *only* - * on Sundays; '* * 1,15 * *' will run *only* the 1st and 15th. this -@@ -561,6 +568,8 @@ static void find_jobs(int vtime, cron_db * db, int doWild, int doNonWild, long v - uname = e->pwd->pw_name; - /* check if user exists in time of job is being run f.e. ldap */ - if (getpwnam(uname) != NULL) { -+ time_t virtualSecond = (vtime - e->delay) * SECONDS_PER_MINUTE; -+ time_t virtualGMTSecond = virtualSecond - vGMToff; - job_tz = env_get("CRON_TZ", e->envp); - maketime(job_tz, orig_tz); - /* here we test whether time is NOW */ -diff --git a/src/entry.c b/src/entry.c -index e9142f5..fa69524 100644 ---- a/src/entry.c -+++ b/src/entry.c -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - - #include "bitstring.h" - #include "funcs.h" -@@ -97,6 +98,7 @@ entry *load_entry(FILE * file, void (*error_func) (), struct passwd *pw, - char cmd[MAX_COMMAND]; - char envstr[MAX_ENVSTR]; - char **tenvp; -+ char *p; - - Debug(DPARS, ("load_entry()...about to eat comments\n")); - -@@ -297,6 +299,20 @@ entry *load_entry(FILE * file, void (*error_func) (), struct passwd *pw, - } - memset(e->pwd->pw_passwd, 0, strlen(e->pwd->pw_passwd)); - -+ p = env_get("RANDOM_DELAY", envp); -+ if (p) { -+ char *endptr; -+ long val; -+ -+ errno = 0; /* To distinguish success/failure after call */ -+ val = strtol(p, &endptr, 10); -+ if (errno != 0 || val < 0 || val > 24*60) { -+ log_it("CRON", getpid(), "ERROR", "bad value of RANDOM_DELAY", 0); -+ } else { -+ e->delay = val * RandomScale; -+ } -+ } -+ - /* copy and fix up environment. some variables are just defaults and - * others are overrides. - */ -diff --git a/src/env.c b/src/env.c -index 1ebea62..3ad8bf7 100644 ---- a/src/env.c -+++ b/src/env.c -@@ -130,6 +130,7 @@ int env_set_from_environ(char ***envpp) { - "LC_IDENTIFICATION", - "LC_ALL", - "LANGUAGE", -+ "RANDOM_DELAY", - NULL - }; - const char **name; -diff --git a/src/globals.h b/src/globals.h -index 4370974..e957c9a 100644 ---- a/src/globals.h -+++ b/src/globals.h -@@ -81,6 +81,7 @@ XTRN char MailCmd[MAX_COMMAND]; - XTRN char cron_default_mail_charset[MAX_ENVSTR]; - XTRN int EnableClustering; - XTRN int ChangePath; -+XTRN double RandomScale; - - #if DEBUGGING - XTRN int DebugFlags INIT(0); -diff --git a/src/structs.h b/src/structs.h -index 200d20d..272777a 100644 ---- a/src/structs.h -+++ b/src/structs.h -@@ -41,6 +41,7 @@ typedef struct _entry { - bitstr_t bit_decl(month, MONTH_COUNT); - bitstr_t bit_decl(dow, DOW_COUNT); - int flags; -+ int delay; - #define MIN_STAR 0x01 - #define HR_STAR 0x02 - #define DOM_STAR 0x04 diff --git a/cronie-1.4.10-use-setenv.patch b/cronie-1.4.10-use-setenv.patch deleted file mode 100644 index ddbfbbb..0000000 --- a/cronie-1.4.10-use-setenv.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5ac31751adfa31c5e5e316afc2f800037bd1cdca Mon Sep 17 00:00:00 2001 -From: Tomas Mraz -Date: Thu, 6 Jun 2013 20:13:26 +0200 -Subject: [PATCH] Do not use putenv with string literal. - ---- - src/cron.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/cron.c b/src/cron.c -index 9974887..08d0812 100644 ---- a/src/cron.c -+++ b/src/cron.c -@@ -244,8 +244,8 @@ int main(int argc, char *argv[]) { - check_spool_dir(); - - if (ChangePath) { -- if (putenv("PATH=" _PATH_DEFPATH) < 0) { -- log_it("CRON", pid, "DEATH", "can't putenv PATH", -+ if (setenv("PATH", _PATH_DEFPATH, 1) < 0) { -+ log_it("CRON", pid, "DEATH", "can't setenv PATH", - errno); - exit(1); - } --- -1.7.7.6 - diff --git a/cronie-1.4.11-kill_fd.patch b/cronie-1.4.11-kill_fd.patch deleted file mode 100644 index 62bd6ef..0000000 --- a/cronie-1.4.11-kill_fd.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up cronie-1.4.11/src/do_command.c.pff cronie-1.4.11/src/do_command.c ---- cronie-1.4.11/src/do_command.c.pff 2013-07-18 14:27:08.000000000 +0200 -+++ cronie-1.4.11/src/do_command.c 2014-04-30 14:42:32.761953732 +0200 -@@ -238,6 +238,12 @@ static int child_process(entry * e, char - */ - { - char *shell = env_get("SHELL", jobenv); -+ int fd, fdmax = getdtablesize(); -+ -+ /* close all unwanted open file descriptors */ -+ for(fd = STDERR + 1; fd < fdmax; fd++) { -+ close(fd); -+ } - - #if DEBUGGING - if (DebugFlags & DTEST) { -diff -up cronie-1.4.11/src/popen.c.pff cronie-1.4.11/src/popen.c ---- cronie-1.4.11/src/popen.c.pff 2013-07-18 14:27:08.000000000 +0200 -+++ cronie-1.4.11/src/popen.c 2014-04-30 14:43:42.177095194 +0200 -@@ -69,6 +69,7 @@ FILE *cron_popen(char *program, const ch - ssize_t out; - char buf[PIPE_BUF]; - struct sigaction sa; -+ int fd; - - #ifdef __GNUC__ - (void) &iop; /* Avoid fork clobbering */ -@@ -121,6 +122,11 @@ FILE *cron_popen(char *program, const ch - sa.sa_handler = SIG_DFL; - sigaction(SIGPIPE, &sa, NULL); - -+ /* close all unwanted open file descriptors */ -+ for (fd = STDERR + 1; fd < fds; fd++) { -+ close(fd); -+ } -+ - if (cron_change_user_permanently(pw, pw->pw_dir) != 0) - _exit(2); - diff --git a/cronie-1.4.8-inotify-fix.patch b/cronie-1.4.8-inotify-fix.patch deleted file mode 100644 index edfe274..0000000 --- a/cronie-1.4.8-inotify-fix.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/src/cron.c b/src/cron.c -index 7dc2958..7917589 100644 ---- a/src/cron.c -+++ b/src/cron.c -@@ -64,11 +64,19 @@ static int DisableInotify; - int wd[NUM_WATCHES]; - const char *watchpaths[NUM_WATCHES] = {SPOOL_DIR, SYS_CROND_DIR, SYSCRONTAB}; - -+static void reset_watches(void) { -+ int i; -+ -+ for (i = 0; i < sizeof (wd) / sizeof (wd[0]); ++i) { -+ wd[i] = -2; -+ } -+} -+ - void set_cron_unwatched(int fd) { - int i; - - for (i = 0; i < sizeof (wd) / sizeof (wd[0]); ++i) { -- if (wd[i] < 0) { -+ if (wd[i] > 0) { - inotify_rm_watch(fd, wd[i]); - wd[i] = -1; - } -@@ -87,22 +95,21 @@ void set_cron_watched(int fd) { - for (i = 0; i < sizeof (wd) / sizeof (wd[0]); ++i) { - int w; - -- if (open(watchpaths[i], O_RDONLY | O_NONBLOCK, 0) != -1) { -- w = inotify_add_watch(fd, watchpaths[i], -- IN_CREATE | IN_CLOSE_WRITE | IN_ATTRIB | IN_MODIFY | IN_MOVED_TO | -- IN_MOVED_FROM | IN_MOVE_SELF | IN_DELETE | IN_DELETE_SELF); -- if (w < 0) { -- if (wd[i] != -1) { -- log_it("CRON", pid, "This directory or file can't be watched", -- watchpaths[i], errno); -- log_it("CRON", pid, "INFO", "running without inotify support", 0); -- } -- inotify_enabled = 0; -- set_cron_unwatched(fd); -- return; -+ w = inotify_add_watch(fd, watchpaths[i], -+ IN_CREATE | IN_CLOSE_WRITE | IN_ATTRIB | IN_MODIFY | IN_MOVED_TO | -+ IN_MOVED_FROM | IN_MOVE_SELF | IN_DELETE | IN_DELETE_SELF); -+ if (w < 0 && errno != ENOENT) { -+ if (wd[i] != -1) { -+ log_it("CRON", pid, "This directory or file can't be watched", -+ watchpaths[i], errno); -+ log_it("CRON", pid, "INFO", "running without inotify support", -+ 0); - } -- wd[i] = w; -+ inotify_enabled = 0; -+ set_cron_unwatched(fd); -+ return; - } -+ wd[i] = w; - } - - if (!inotify_enabled) { -@@ -120,6 +127,7 @@ static void handle_signals(cron_db * database) { - /* watches must be reinstated on reload */ - if (inotify_enabled && (EnableClustering != 1)) { - set_cron_unwatched(database->ifd); -+ reset_watches(); - inotify_enabled = 0; - } - #endif -@@ -158,9 +166,6 @@ int main(int argc, char *argv[]) { - char *cs; - pid_t pid = getpid(); - long oldGMToff; --#if defined WITH_INOTIFY -- int i; --#endif - - ProgramName = argv[0]; - MailCmd[0] = '\0'; -@@ -261,13 +266,7 @@ int main(int argc, char *argv[]) { - "", 0); - } - else { -- for (i = 0; i < sizeof (wd) / sizeof (wd[0]); ++i) { -- /* initialize to negative number other than -1 -- * so an eventual error is reported for the first time -- */ -- wd[i] = -2; -- } -- -+ reset_watches(); - database.ifd = fd = inotify_init(); - fcntl(fd, F_SETFD, FD_CLOEXEC); - if (fd < 0) diff --git a/cronie.patch b/cronie.patch deleted file mode 100644 index 28eac9c..0000000 --- a/cronie.patch +++ /dev/null @@ -1,6 +0,0 @@ -diff -up cronie-1.4.8/NEWS.old cronie-1.4.8/NEWS ---- cronie-1.4.8/NEWS.old 2010-12-16 09:59:02.000000000 +0100 -+++ cronie-1.4.8/NEWS 2011-08-02 13:11:16.818463245 +0200 -@@ -0,0 +1 @@ -+agjljg -\ No newline at end of file diff --git a/cronie.spec b/cronie.spec index 8c1a34e..9902a1d 100644 --- a/cronie.spec +++ b/cronie.spec @@ -5,16 +5,12 @@ Summary: Cron daemon for executing programs at set times Name: cronie -Version: 1.4.11 -Release: 9%{?dist} -Patch0: correct-env.patch -Patch1: unitfile-killprocess.patch -Patch2: cronie-1.4.11-kill_fd.patch +Version: 1.4.12 +Release: 1%{?dist} License: MIT and BSD and ISC and GPLv2+ Group: System Environment/Base URL: https://fedorahosted.org/cronie Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz -Source1: https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt Requires: dailyjobs %if %{with selinux} @@ -78,11 +74,6 @@ extra features. %prep %setup -q -%patch0 -p1 -b .jobenv -%patch1 -p1 -%patch2 -p1 - -cp %{SOURCE1} . %build %configure \ @@ -177,7 +168,7 @@ exit 0 %files %doc AUTHORS README ChangeLog %{!?_licensedir:%global license %%doc} -%license COPYING gpl-2.0.txt +%license COPYING %attr(755,root,root) %{_sbindir}/crond %attr(4755,root,root) %{_bindir}/crontab %{_mandir}/man8/crond.* @@ -209,6 +200,10 @@ exit 0 %attr(0644,root,root) %{_sysconfdir}/cron.d/dailyjobs %changelog +* Wed Sep 17 2014 Marcela Mašláňová - 1.4.12-1 +- new release 1.4.12 +- remove gpl2 license, because it's part of upstream COPYING now + * Sat Aug 16 2014 Fedora Release Engineering - 1.4.11-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/cronie.systemd b/cronie.systemd deleted file mode 100644 index 0b5fc0e..0000000 --- a/cronie.systemd +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Command Scheduler -After=syslog.target auditd.service sssd.service ypbind.service - -[Service] -EnvironmentFile=/etc/sysconfig/crond -ExecStart=/usr/sbin/crond -n $CRONDARGS - -[Install] -WantedBy=multi-user.target - diff --git a/gpl-2.0.txt b/gpl-2.0.txt deleted file mode 100644 index d159169..0000000 --- a/gpl-2.0.txt +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/sources b/sources index ff0cda2..255e25c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2ba645cf54de17f138ef70312843862f cronie-1.4.11.tar.gz +199db91e514a4d75e3222d69874b132f cronie-1.4.12.tar.gz diff --git a/unitfile-killprocess.patch b/unitfile-killprocess.patch deleted file mode 100644 index 624d21c..0000000 --- a/unitfile-killprocess.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up cronie-1.4.11/contrib/cronie.systemd.old2 cronie-1.4.11/contrib/cronie.systemd ---- cronie-1.4.11/contrib/cronie.systemd.old2 2013-07-18 14:27:08.000000000 +0200 -+++ cronie-1.4.11/contrib/cronie.systemd 2013-09-25 12:36:10.129374891 +0200 -@@ -5,6 +5,7 @@ After=syslog.target auditd.service syste - [Service] - EnvironmentFile=/etc/sysconfig/crond - ExecStart=/usr/sbin/crond -n $CRONDARGS -+KillMode=process - - [Install] - WantedBy=multi-user.target