diff options
Diffstat (limited to 'meta/recipes-extended/cronie')
-rwxr-xr-x | meta/recipes-extended/cronie/cronie/crond.init | 58 | ||||
-rw-r--r-- | meta/recipes-extended/cronie/cronie/crond.service | 11 | ||||
-rw-r--r-- | meta/recipes-extended/cronie/cronie/crond_pam_config.patch | 19 | ||||
-rw-r--r-- | meta/recipes-extended/cronie/cronie/crontab | 10 | ||||
-rw-r--r-- | meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch | 31 | ||||
-rw-r--r-- | meta/recipes-extended/cronie/cronie_1.4.11.bb | 85 |
6 files changed, 214 insertions, 0 deletions
diff --git a/meta/recipes-extended/cronie/cronie/crond.init b/meta/recipes-extended/cronie/cronie/crond.init new file mode 100755 index 0000000000..53b8514caa --- /dev/null +++ b/meta/recipes-extended/cronie/cronie/crond.init | |||
@@ -0,0 +1,58 @@ | |||
1 | #!/bin/sh | ||
2 | ### BEGIN INIT INFO | ||
3 | # Provides: crond crontab | ||
4 | # Default-Start: 2345 | ||
5 | # Default-Stop: 016 | ||
6 | # Short-Description: run cron daemon | ||
7 | # Description: cron is a standard UNIX program that runs user-specified | ||
8 | # programs at periodic scheduled times. vixie cron adds a | ||
9 | # number of features to the basic UNIX cron, including better | ||
10 | # security and more powerful configuration options. | ||
11 | ### END INIT INFO | ||
12 | |||
13 | CROND=/usr/sbin/crond | ||
14 | CONFIG=/etc/sysconfig/crond | ||
15 | |||
16 | [ -f $CONFIG ] || exit 1 | ||
17 | [ -x $CROND ] || exit 1 | ||
18 | |||
19 | . $CONFIG | ||
20 | |||
21 | # Source function library. | ||
22 | . /etc/init.d/functions | ||
23 | |||
24 | case "$1" in | ||
25 | start) | ||
26 | echo -n "Starting crond: " | ||
27 | start-stop-daemon --start --quiet --exec $CROND -- $CRONDARGS | ||
28 | RETVAL=$? | ||
29 | if [ $RETVAL -eq 0 ] ; then | ||
30 | echo "OK" | ||
31 | else | ||
32 | echo "FAIL" | ||
33 | fi | ||
34 | ;; | ||
35 | stop) | ||
36 | echo -n "Stopping crond: " | ||
37 | start-stop-daemon --stop --quiet --pidfile /var/run/crond.pid | ||
38 | RETVAL=$? | ||
39 | if [ $RETVAL -eq 0 ] ; then | ||
40 | echo "OK" | ||
41 | else | ||
42 | echo "FAIL" | ||
43 | fi | ||
44 | ;; | ||
45 | status) | ||
46 | status crond | ||
47 | exit $? | ||
48 | ;; | ||
49 | restart) | ||
50 | $0 stop && sleep 1 && $0 start | ||
51 | ;; | ||
52 | *) | ||
53 | echo "Usage: /etc/init.d/crond {start|stop|status|restart}" | ||
54 | exit 1 | ||
55 | esac | ||
56 | |||
57 | exit 0 | ||
58 | |||
diff --git a/meta/recipes-extended/cronie/cronie/crond.service b/meta/recipes-extended/cronie/cronie/crond.service new file mode 100644 index 0000000000..d435a6eb34 --- /dev/null +++ b/meta/recipes-extended/cronie/cronie/crond.service | |||
@@ -0,0 +1,11 @@ | |||
1 | [Unit] | ||
2 | Description=Periodic Command Scheduler | ||
3 | |||
4 | [Service] | ||
5 | EnvironmentFile=/etc/sysconfig/crond | ||
6 | ExecStart=@SBINDIR@/crond -n $CRONDARGS | ||
7 | ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID | ||
8 | Restart=always | ||
9 | |||
10 | [Install] | ||
11 | WantedBy=multi-user.target | ||
diff --git a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch new file mode 100644 index 0000000000..675872c3cf --- /dev/null +++ b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | password-auth is the Fedora's common pam configure file, use oe common pam | ||
2 | configure files instead. | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> | ||
7 | --- cronie-1.4.7/pam/crond.orig 2010-12-16 16:59:02.000000000 +0800 | ||
8 | +++ cronie-1.4.7/pam/crond 2011-07-20 09:47:16.080819203 +0800 | ||
9 | @@ -4,7 +4,7 @@ | ||
10 | # | ||
11 | # No PAM authentication called, auth modules not needed | ||
12 | account required pam_access.so | ||
13 | -account include password-auth | ||
14 | +account include common-account | ||
15 | session required pam_loginuid.so | ||
16 | -session include password-auth | ||
17 | -auth include password-auth | ||
18 | +session include common-session-noninteractive | ||
19 | +auth include common-auth | ||
diff --git a/meta/recipes-extended/cronie/cronie/crontab b/meta/recipes-extended/cronie/cronie/crontab new file mode 100644 index 0000000000..cc9169eda9 --- /dev/null +++ b/meta/recipes-extended/cronie/cronie/crontab | |||
@@ -0,0 +1,10 @@ | |||
1 | # /etc/crontab: system-wide crontab | ||
2 | # Unlike any other crontab you don't have to run the `crontab' | ||
3 | # command to install the new version when you edit this file | ||
4 | # and files in /etc/cron.d. These files also have username fields, | ||
5 | # that none of the other crontabs do. | ||
6 | |||
7 | SHELL=/bin/sh | ||
8 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | ||
9 | |||
10 | # m h dom mon dow user command | ||
diff --git a/meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch b/meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch new file mode 100644 index 0000000000..7384a0bad4 --- /dev/null +++ b/meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | For an out of tree build, the cronie-common.h file was not being | ||
2 | found correctly, so point it to the top_srcdir | ||
3 | |||
4 | Upstream-Status: Submitted | ||
5 | |||
6 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
7 | |||
8 | Index: cronie-1.4.11/anacron/Makefile.am | ||
9 | =================================================================== | ||
10 | --- cronie-1.4.11.orig/anacron/Makefile.am | ||
11 | +++ cronie-1.4.11/anacron/Makefile.am | ||
12 | @@ -9,6 +9,7 @@ common_nodist = anacron-paths.h | ||
13 | nodist_anacron_SOURCES = $(common_nodist) | ||
14 | BUILT_SOURCES = $(common_nodist) | ||
15 | |||
16 | +AM_CFLAGS = -I$(top_srcdir) | ||
17 | |||
18 | LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT) | ||
19 | |||
20 | Index: cronie-1.4.11/src/Makefile.am | ||
21 | =================================================================== | ||
22 | --- cronie-1.4.11.orig/src/Makefile.am | ||
23 | +++ cronie-1.4.11/src/Makefile.am | ||
24 | @@ -15,6 +15,7 @@ nodist_crond_SOURCES = $(common_nodist) | ||
25 | nodist_crontab_SOURCES = $(common_nodist) | ||
26 | BUILT_SOURCES = $(common_nodist) | ||
27 | |||
28 | +AM_CFLAGS = -I$(top_srcdir) | ||
29 | |||
30 | LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT) | ||
31 | |||
diff --git a/meta/recipes-extended/cronie/cronie_1.4.11.bb b/meta/recipes-extended/cronie/cronie_1.4.11.bb new file mode 100644 index 0000000000..02234f6a36 --- /dev/null +++ b/meta/recipes-extended/cronie/cronie_1.4.11.bb | |||
@@ -0,0 +1,85 @@ | |||
1 | SUMMARY = "Cron daemon for executing programs at set times" | ||
2 | DESCRIPTION = "Cronie contains the standard UNIX daemon crond that runs \ | ||
3 | specified programs at scheduled times and related tools. It is based on the \ | ||
4 | original cron and has security and configuration enhancements like the \ | ||
5 | ability to use pam and SELinux." | ||
6 | HOMEPAGE = "https://fedorahosted.org/cronie/" | ||
7 | BUGTRACKER = "mmaslano@redhat.com" | ||
8 | |||
9 | # Internet Systems Consortium License | ||
10 | LICENSE = "ISC & BSD" | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=963ea0772a2adbdcd607a9b2ec320c11 \ | ||
12 | file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \ | ||
13 | file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9" | ||
14 | |||
15 | SECTION = "utils" | ||
16 | |||
17 | |||
18 | SRC_URI = "https://fedorahosted.org/releases/c/r/cronie/cronie-${PV}.tar.gz \ | ||
19 | file://fix-out-of-tree-build.patch \ | ||
20 | file://crond.init \ | ||
21 | file://crontab \ | ||
22 | file://crond.service \ | ||
23 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}" | ||
24 | |||
25 | PAM_SRC_URI = "file://crond_pam_config.patch" | ||
26 | PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" | ||
27 | |||
28 | SRC_URI[md5sum] = "2ba645cf54de17f138ef70312843862f" | ||
29 | SRC_URI[sha256sum] = "fd08084cedddbb42499f80ddb7f2158195c3555c2ff40ee11d4ece2f9864d7be" | ||
30 | |||
31 | inherit autotools update-rc.d useradd systemd | ||
32 | |||
33 | |||
34 | PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" | ||
35 | |||
36 | PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," | ||
37 | PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" | ||
38 | |||
39 | |||
40 | INITSCRIPT_NAME = "crond" | ||
41 | INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." | ||
42 | |||
43 | USERADD_PACKAGES = "${PN}" | ||
44 | GROUPADD_PARAM_${PN} = "--system crontab" | ||
45 | |||
46 | SYSTEMD_SERVICE_${PN} = "crond.service" | ||
47 | |||
48 | do_install_append () { | ||
49 | install -d ${D}${sysconfdir}/sysconfig/ | ||
50 | install -d ${D}${sysconfdir}/init.d/ | ||
51 | install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond | ||
52 | install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond | ||
53 | |||
54 | # install systemd unit files | ||
55 | install -d ${D}${systemd_unitdir}/system | ||
56 | install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system | ||
57 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | ||
58 | -e 's,@SBINDIR@,${sbindir},g' \ | ||
59 | ${D}${systemd_unitdir}/system/crond.service | ||
60 | |||
61 | # below are necessary for a complete cron environment | ||
62 | install -d ${D}${localstatedir}/spool/cron | ||
63 | install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/ | ||
64 | mkdir -p ${D}${sysconfdir}/cron.d | ||
65 | mkdir -p ${D}${sysconfdir}/cron.hourly | ||
66 | mkdir -p ${D}${sysconfdir}/cron.daily | ||
67 | mkdir -p ${D}${sysconfdir}/cron.weekly | ||
68 | mkdir -p ${D}${sysconfdir}/cron.monthly | ||
69 | touch ${D}${sysconfdir}/cron.deny | ||
70 | |||
71 | # below setting is necessary to allow normal user using crontab | ||
72 | |||
73 | # setgid for crontab binary | ||
74 | chown root:crontab ${D}${bindir}/crontab | ||
75 | chmod 2755 ${D}${bindir}/crontab | ||
76 | |||
77 | # allow 'crontab' group write to /var/spool/cron | ||
78 | chown root:crontab ${D}${localstatedir}/spool/cron | ||
79 | chmod 770 ${D}${localstatedir}/spool/cron | ||
80 | |||
81 | chmod 600 ${D}${sysconfdir}/crontab | ||
82 | } | ||
83 | |||
84 | FILES_${PN} += "${sysconfdir}/cron*" | ||
85 | |||