Commit 1b1ed350 authored by Alvaro G. M's avatar Alvaro G. M Committed by Thomas Petazzoni
Browse files

dcron: new package



[Thomas: wrap help text, add BR2_USE_MMU dependency, minor fixes in
.mk file.]

Signed-off-by: default avatarAlvaro G. M <alvaro.gamez@hazent.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent a37b214c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1124,6 +1124,9 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
	source "package/coreutils/Config.in"
endif
	source "package/cpuload/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
	source "package/dcron/Config.in"
endif
	source "package/dsp-tools/Config.in"
	source "package/ftop/Config.in"
	source "package/htop/Config.in"
+22 −0
Original line number Diff line number Diff line
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

package/dcron/dcron.mk

0 → 100644
+32 −0
Original line number Diff line number Diff line
################################################################################
#
# 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))