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://github.com/cronie-crond/cronie/" 7BUGTRACKER = "https://bugzilla.redhat.com" 8 9# Internet Systems Consortium License 10LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPL-2.0-or-later" 11LIC_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 15SECTION = "utils" 16 17UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" 18 19SRC_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 25PAM_SRC_URI = "file://crond_pam_config.patch" 26PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" 27 28SRC_URI[sha256sum] = "2cd0f0dd1680e6b9c39bf1e3a5e7ad6df76aa940de1ee90a453633aa59984e62" 29 30inherit autotools update-rc.d useradd systemd 31 32PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" 33 34PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," 35PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" 36PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron" 37 38INITSCRIPT_NAME = "crond" 39INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." 40 41USERADD_PACKAGES = "${PN}" 42GROUPADD_PARAM:${PN} = "--system crontab" 43 44SYSTEMD_SERVICE:${PN} = "crond.service" 45 46do_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_system_unitdir} 54 install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_system_unitdir} 55 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 56 -e 's,@SBINDIR@,${sbindir},g' \ 57 ${D}${systemd_system_unitdir}/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 82FILES:${PN} += "${sysconfdir}/cron*" 83CONFFILES:${PN} += "${sysconfdir}/crontab" 84