summaryrefslogtreecommitdiff
path: root/package/dcron
diff options
context:
space:
mode:
authorAlvaro G. M <alvaro.gamez@hazent.com>2014-07-08 12:21:32 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-07-15 20:51:12 +0200
commit1b1ed35089724135b9b9c194d433b3bed03abdc7 (patch)
tree97db0ae8a0ec9e54cb0ce331d45a69427d2021ba /package/dcron
parenta37b214c434d92dd7be3ddd69ca3c669c954c3a9 (diff)
dcron: new package
[Thomas: wrap help text, add BR2_USE_MMU dependency, minor fixes in .mk file.] Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/dcron')
-rw-r--r--package/dcron/Config.in22
-rw-r--r--package/dcron/dcron.mk32
2 files changed, 54 insertions, 0 deletions
diff --git a/package/dcron/Config.in b/package/dcron/Config.in
new file mode 100644
index 000000000..42f246a4d
--- /dev/null
+++ b/package/dcron/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_DCRON
+ bool "dcron"
+ depends on BR2_USE_MMU # fork()
+ help
+ dcron is a time-based job scheduler with anacron-like
+ features. It works as a background daemon that parses
+ individual crontab files and executes commands on behalf of
+ the users in question.
+
+ Upon installation, this package will enable a system level
+ cron daemon with hourly, daily, weekly and monthly crontabs.
+
+ However, it doesn't allow non root users to create their own
+ crontab file. This is because /var/spool/cron/crontabs is
+ non user writable.
+
+ Typically, a crontab group is created on the system and
+ users allowed to create crontab entries are added into this
+ group, while crontab executable is owned by root:crontab
+ with sgid bit enabled.
+
+ http://www.jimpryor.net/linux/dcron.html
diff --git a/package/dcron/dcron.mk b/package/dcron/dcron.mk
new file mode 100644
index 000000000..5174e38ad
--- /dev/null
+++ b/package/dcron/dcron.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# dcron
+#
+################################################################################
+
+DCRON_VERSION = 4.5
+DCRON_SITE = http://www.jimpryor.net/linux/releases/
+# The source code does not specify the version of the GPL that is used.
+DCRON_LICENSE = GPL
+
+# Overwrite cron-related Busybox commands if available
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+DCRON_DEPENDENCIES = busybox
+endif
+
+define DCRON_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
+endef
+
+define DCRON_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m0700 $(@D)/crond $(TARGET_DIR)/usr/sbin/crond
+ $(INSTALL) -D -m4755 $(@D)/crontab $(TARGET_DIR)/usr/bin/crontab
+ $(INSTALL) -D -m0644 $(@D)/extra/root.crontab $(TARGET_DIR)/etc/cron.d/system
+ # Busybox provides run-parts, so there is no need to use nor install provided run-cron
+ $(SED) 's#/usr/sbin/run-cron#/bin/run-parts#g' $(TARGET_DIR)/etc/cron.d/system
+ $(INSTALL) -d -m0755 $(TARGET_DIR)/var/spool/cron/crontabs \
+ $(TARGET_DIR)/etc/cron.daily $(TARGET_DIR)/etc/cron.hourly \
+ $(TARGET_DIR)/etc/cron.monthly $(TARGET_DIR)/etc/cron.weekly
+endef
+
+$(eval $(generic-package))