summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/cronie
diff options
context:
space:
mode:
authorAdrian Dudau <adrian.dudau@enea.com>2014-06-26 14:36:22 +0200
committerAdrian Dudau <adrian.dudau@enea.com>2014-06-26 15:32:53 +0200
commitf4cf9fe05bb3f32fabea4e54dd92d368967a80da (patch)
tree487180fa9866985ea7b28e625651765d86f515c3 /meta/recipes-extended/cronie
downloadpoky-f4cf9fe05bb3f32fabea4e54dd92d368967a80da.tar.gz
initial commit for Enea Linux 4.0
Migrated from the internal git server on the daisy-enea branch Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'meta/recipes-extended/cronie')
-rwxr-xr-xmeta/recipes-extended/cronie/cronie/crond.init58
-rw-r--r--meta/recipes-extended/cronie/cronie/crond_pam_config.patch19
-rw-r--r--meta/recipes-extended/cronie/cronie/crontab10
-rw-r--r--meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch31
-rw-r--r--meta/recipes-extended/cronie/cronie_1.4.11.bb75
5 files changed, 193 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
13CROND=/usr/sbin/crond
14CONFIG=/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
24case "$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
55esac
56
57exit 0
58
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 @@
1password-auth is the Fedora's common pam configure file, use oe common pam
2configure files instead.
3
4Upstream-Status: Pending
5
6Signed-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
7SHELL=/bin/sh
8PATH=/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 @@
1For an out of tree build, the cronie-common.h file was not being
2found correctly, so point it to the top_srcdir
3
4Upstream-Status: Submitted
5
6Signed-off-by: Saul Wold <sgw@linux.intel.com>
7
8Index: 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
20Index: 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..d98d0d9167
--- /dev/null
+++ b/meta/recipes-extended/cronie/cronie_1.4.11.bb
@@ -0,0 +1,75 @@
1SUMMARY = "Cron daemon for executing programs at set times"
2DESCRIPTION = "Cronie contains the standard UNIX daemon crond that runs \
3specified programs at scheduled times and related tools. It is based on the \
4original cron and has security and configuration enhancements like the \
5ability to use pam and SELinux."
6HOMEPAGE = "https://fedorahosted.org/cronie/"
7BUGTRACKER = "mmaslano@redhat.com"
8
9# Internet Systems Consortium License
10LICENSE = "ISC & BSD"
11LIC_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
15SECTION = "utils"
16
17
18SRC_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 ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
23
24PAM_SRC_URI = "file://crond_pam_config.patch"
25PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
26
27SRC_URI[md5sum] = "2ba645cf54de17f138ef70312843862f"
28SRC_URI[sha256sum] = "fd08084cedddbb42499f80ddb7f2158195c3555c2ff40ee11d4ece2f9864d7be"
29
30inherit autotools update-rc.d useradd
31
32
33PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
34
35PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit,"
36PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}"
37
38
39INITSCRIPT_NAME = "crond"
40INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
41
42USERADD_PACKAGES = "${PN}"
43GROUPADD_PARAM_${PN} = "--system crontab"
44
45do_install_append () {
46 install -d ${D}${sysconfdir}/sysconfig/
47 install -d ${D}${sysconfdir}/init.d/
48 install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
49 install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
50
51 # below are necessary for a complete cron environment
52 install -d ${D}${localstatedir}/spool/cron
53 install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/
54 mkdir -p ${D}${sysconfdir}/cron.d
55 mkdir -p ${D}${sysconfdir}/cron.hourly
56 mkdir -p ${D}${sysconfdir}/cron.daily
57 mkdir -p ${D}${sysconfdir}/cron.weekly
58 mkdir -p ${D}${sysconfdir}/cron.monthly
59 touch ${D}${sysconfdir}/cron.deny
60
61 # below setting is necessary to allow normal user using crontab
62
63 # setgid for crontab binary
64 chown root:crontab ${D}${bindir}/crontab
65 chmod 2755 ${D}${bindir}/crontab
66
67 # allow 'crontab' group write to /var/spool/cron
68 chown root:crontab ${D}${localstatedir}/spool/cron
69 chmod 770 ${D}${localstatedir}/spool/cron
70
71 chmod 600 ${D}${sysconfdir}/crontab
72}
73
74FILES_${PN} += "${sysconfdir}/cron*"
75