Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 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://github.com/cronie-crond/cronie/" |
| 7 | BUGTRACKER = "https://bugzilla.redhat.com" |
| 8 | |
| 9 | # Internet Systems Consortium License |
| 10 | LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+" |
| 11 | LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \ |
| 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 | UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" |
| 18 | |
| 19 | SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \ |
| 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] = "703314f58a49ea136e9966d3937d9bf4" |
| 29 | SRC_URI[sha256sum] = "370bf34641691489330e708bd4cdbd779267296a030668a12f77b7e36872fd75" |
| 30 | |
| 31 | inherit autotools update-rc.d useradd systemd |
| 32 | |
| 33 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" |
| 34 | |
| 35 | PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," |
| 36 | PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" |
| 37 | |
| 38 | INITSCRIPT_NAME = "crond" |
| 39 | INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." |
| 40 | |
| 41 | USERADD_PACKAGES = "${PN}" |
| 42 | GROUPADD_PARAM_${PN} = "--system crontab" |
| 43 | |
| 44 | SYSTEMD_SERVICE_${PN} = "crond.service" |
| 45 | |
| 46 | do_install_append () { |
| 47 | install -d ${D}${sysconfdir}/sysconfig/ |
| 48 | install -d ${D}${sysconfdir}/init.d/ |
| 49 | install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond |
| 50 | install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond |
| 51 | |
| 52 | # install systemd unit files |
| 53 | install -d ${D}${systemd_unitdir}/system |
| 54 | install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system |
| 55 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
| 56 | -e 's,@SBINDIR@,${sbindir},g' \ |
| 57 | ${D}${systemd_unitdir}/system/crond.service |
| 58 | |
| 59 | # below are necessary for a complete cron environment |
| 60 | install -d ${D}${localstatedir}/spool/cron |
| 61 | install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/ |
| 62 | mkdir -p ${D}${sysconfdir}/cron.d |
| 63 | mkdir -p ${D}${sysconfdir}/cron.hourly |
| 64 | mkdir -p ${D}${sysconfdir}/cron.daily |
| 65 | mkdir -p ${D}${sysconfdir}/cron.weekly |
| 66 | mkdir -p ${D}${sysconfdir}/cron.monthly |
| 67 | touch ${D}${sysconfdir}/cron.deny |
| 68 | |
| 69 | # below setting is necessary to allow normal user using crontab |
| 70 | |
| 71 | # setgid for crontab binary |
| 72 | chown root:crontab ${D}${bindir}/crontab |
| 73 | chmod 2755 ${D}${bindir}/crontab |
| 74 | |
| 75 | # allow 'crontab' group write to /var/spool/cron |
| 76 | chown root:crontab ${D}${localstatedir}/spool/cron |
| 77 | chmod 770 ${D}${localstatedir}/spool/cron |
| 78 | |
| 79 | chmod 600 ${D}${sysconfdir}/crontab |
| 80 | } |
| 81 | |
| 82 | FILES_${PN} += "${sysconfdir}/cron*" |
| 83 | CONFFILES_${PN} += "${sysconfdir}/crontab" |