summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-process/dcron
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-process/dcron')
-rw-r--r--sys-process/dcron/Manifest1
-rw-r--r--sys-process/dcron/dcron-4.5-r1.ebuild56
-rw-r--r--sys-process/dcron/files/crontab16
-rwxr-xr-xsys-process/dcron/files/dcron24
-rw-r--r--sys-process/dcron/files/dcron-2.9-EDITOR.patch20
-rw-r--r--sys-process/dcron/files/dcron-2.9-Makefile.patch27
-rw-r--r--sys-process/dcron/files/dcron-3.2-build.patch16
-rw-r--r--sys-process/dcron/files/dcron-3.2-pidfile.patch20
-rw-r--r--sys-process/dcron/files/dcron-4.4-ldflags.patch30
-rw-r--r--sys-process/dcron/files/dcron-4.4-pidfile.patch43
-rw-r--r--sys-process/dcron/files/dcron-4.4-prune.patch33
-rw-r--r--sys-process/dcron/files/dcron-4.5-ldflags.patch38
-rw-r--r--sys-process/dcron/files/dcron-4.5-pidfile.patch43
-rw-r--r--sys-process/dcron/files/dcron.confd8
-rw-r--r--sys-process/dcron/files/dcron.confd-4.45
-rwxr-xr-xsys-process/dcron/files/dcron.init24
-rwxr-xr-xsys-process/dcron/files/dcron.init-4.424
-rwxr-xr-xsys-process/dcron/files/dcron.init-4.524
-rw-r--r--sys-process/dcron/files/dcron.logrotate3
-rw-r--r--sys-process/dcron/files/dcron.service11
-rw-r--r--sys-process/dcron/metadata.xml8
21 files changed, 474 insertions, 0 deletions
diff --git a/sys-process/dcron/Manifest b/sys-process/dcron/Manifest
new file mode 100644
index 000000000000..a08a05fe8d07
--- /dev/null
+++ b/sys-process/dcron/Manifest
@@ -0,0 +1 @@
+DIST dcron-4.5.tar.gz 44978 SHA256 9e50edb6f5bd8153b16bad05087d985e5153ce45cc01ae77e7f842213fb4a824 SHA512 08521391d16ba5adf80278ec2a734319c26c48841fd94b119c0b27d744c2cfb3562b1a3630135a03d1c43b1668d49262713abb20ff5f7ecd397a2a19a2f6105a WHIRLPOOL 9513588005841e3ff37b0365c431a92d7cda9496600b15d33aeb36ae6f0ae6d7f7180621c6d0a6808140599b70d5022c9645a6ca77ac9ffa47e5d1a636a6f479
diff --git a/sys-process/dcron/dcron-4.5-r1.ebuild b/sys-process/dcron/dcron-4.5-r1.ebuild
new file mode 100644
index 000000000000..ab94c00eb33b
--- /dev/null
+++ b/sys-process/dcron/dcron-4.5-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cron toolchain-funcs eutils systemd
+
+DESCRIPTION="A cute little cron from Matt Dillon"
+HOMEPAGE="http://www.jimpryor.net/linux/dcron.html http://apollo.backplane.com/FreeSrc/"
+SRC_URI="http://www.jimpryor.net/linux/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.5-pidfile.patch
+ epatch "${FILESDIR}"/${PN}-4.5-ldflags.patch
+ tc-export CC
+ cat <<-EOF > config
+ PREFIX = /usr
+ CRONTAB_GROUP = cron
+ EOF
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc CHANGELOG README "${FILESDIR}"/crontab
+
+ docrondir
+ docron crond -m0700 -o root -g wheel
+ docrontab
+
+ insinto /etc
+ doins "${FILESDIR}"/crontab
+ insinto /etc/cron.d
+ doins extra/prune-cronstamps
+ dodoc extra/run-cron extra/root.crontab
+
+ newinitd "${FILESDIR}"/dcron.init-4.5 dcron
+ newconfd "${FILESDIR}"/dcron.confd-4.4 dcron
+ systemd_dounit "${FILESDIR}"/dcron.service
+
+ insinto /etc/logrotate.d
+ newins extra/crond.logrotate dcron
+}
+
+pkg_postinst() {
+ # upstream renamed their pid file
+ local src="${ROOT}/var/run/cron.pid" dst="${ROOT}/var/run/crond.pid"
+ if [ -e "${src}" -a ! -e "${dst}" ] ; then
+ cp "${src}" "${dst}"
+ fi
+}
diff --git a/sys-process/dcron/files/crontab b/sys-process/dcron/files/crontab
new file mode 100644
index 000000000000..8c781871fbe7
--- /dev/null
+++ b/sys-process/dcron/files/crontab
@@ -0,0 +1,16 @@
+# for dcron
+# $Id$
+
+# dcron:
+# This is NOT the system crontab! dcron does not support a system crontab.
+# to get /etc/cron.{hourly|daily|weekly|montly} working with dcron run
+# crontab /etc/crontab
+# as root.
+# NOTE: This will REPLACE root's current crontab!!
+
+# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
+59 * * * * rm -f /var/spool/cron/lastrun/cron.hourly
+9 3 * * * rm -f /var/spool/cron/lastrun/cron.daily
+19 4 * * 6 rm -f /var/spool/cron/lastrun/cron.weekly
+29 5 1 * * rm -f /var/spool/cron/lastrun/cron.monthly
+*/10 * * * * test -x /usr/sbin/run-crons && /usr/sbin/run-crons
diff --git a/sys-process/dcron/files/dcron b/sys-process/dcron/files/dcron
new file mode 100755
index 000000000000..75922fb11079
--- /dev/null
+++ b/sys-process/dcron/files/dcron
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger clock hostname
+ provide cron
+}
+
+start() {
+ ebegin "Starting dcron"
+ start-stop-daemon --start --quiet --exec /usr/sbin/crond \
+ -- >>/var/log/cron.log 2>&1
+ /usr/bin/pgrep -x -u 0 -P 1 crond > /var/run/cron.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dcron"
+ start-stop-daemon --stop --quiet --pidfile /var/run/cron.pid \
+ --exec /usr/sbin/crond
+ eend $?
+}
diff --git a/sys-process/dcron/files/dcron-2.9-EDITOR.patch b/sys-process/dcron/files/dcron-2.9-EDITOR.patch
new file mode 100644
index 000000000000..08c20bc0d13e
--- /dev/null
+++ b/sys-process/dcron/files/dcron-2.9-EDITOR.patch
@@ -0,0 +1,20 @@
+fix 'crontab -e' to look at $EDITOR and not $VISUAL
+
+--- crontab.1
++++ crontab.1
+@@ -27,5 +27,5 @@
+ specify a different user and/or crontab directory. Generally the -e
+ option is used to edit your crontab. crontab will use /usr/bin/vi or
+-the editor specified by your VISUAL environment variable to edit the
++the editor specified by your EDITOR environment variable to edit the
+ crontab.
+ .PP
+--- crontab.c
++++ crontab.c
+@@ -312,5 +312,5 @@
+ if (ChangeUser(user, 1) < 0)
+ exit(0);
+- if ((ptr = getenv("VISUAL")) == NULL || strlen(ptr) > 256)
++ if ((ptr = getenv("EDITOR")) == NULL || strlen(ptr) > 256)
+ ptr = PATH_VI;
+
diff --git a/sys-process/dcron/files/dcron-2.9-Makefile.patch b/sys-process/dcron/files/dcron-2.9-Makefile.patch
new file mode 100644
index 000000000000..88b542042185
--- /dev/null
+++ b/sys-process/dcron/files/dcron-2.9-Makefile.patch
@@ -0,0 +1,27 @@
+--- Makefile
++++ Makefile
+@@ -2,7 +2,8 @@
+ #
+
+ CC = gcc
+-CFLAGS = -O2 -Wall -Wstrict-prototypes
++CFLAGS += -Wall -Wstrict-prototypes
++LDFLAGS += -Wl,-z,now
+ LIB =
+ SRCS = main.c subs.c database.c job.c
+ OBJS = main.o subs.o database.o job.o
+@@ -14,12 +15,10 @@
+ all: ${PROTOS} crond crontab
+
+ crond: ${OBJS}
+- ${CC} ${CFLAGS} -o crond ${OBJS} ${LIB}
+- strip crond
++ ${CC} ${CFLAGS} -o crond ${OBJS} ${LIB} ${LDFLAGS}
+
+ crontab: ${D_OBJS}
+- ${CC} ${CFLAGS} -o crontab ${D_OBJS}
+- strip crontab
++ ${CC} ${CFLAGS} -o crontab ${D_OBJS} ${LDFLAGS}
+
+ protos.h: ${SRCS} ${D_SRCS}
+ fgrep -h Prototype ${SRCS} ${D_SRCS} >protos.h
diff --git a/sys-process/dcron/files/dcron-3.2-build.patch b/sys-process/dcron/files/dcron-3.2-build.patch
new file mode 100644
index 000000000000..0dfdad202b0c
--- /dev/null
+++ b/sys-process/dcron/files/dcron-3.2-build.patch
@@ -0,0 +1,16 @@
+fix parallel build
+
+http://bugs.gentoo.org/181043
+
+--- dcron/Makefile
++++ dcron/Makefile
+@@ -13,7 +13,8 @@
+ PROTOS= protos.h
+ DISTTAR= /home/dillon/htdocs/FreeSrc/dcron32.tgz
+
+-all: ${PROTOS} crond crontab
++all: crond crontab
++${OBJS} ${D_OBJS}: ${PROTOS}
+
+ crond: ${OBJS}
+ ${CC} ${CFLAGS} -o crond ${OBJS} ${LIB} ${LDFLAGS}
diff --git a/sys-process/dcron/files/dcron-3.2-pidfile.patch b/sys-process/dcron/files/dcron-3.2-pidfile.patch
new file mode 100644
index 000000000000..9ef687746909
--- /dev/null
+++ b/sys-process/dcron/files/dcron-3.2-pidfile.patch
@@ -0,0 +1,20 @@
+write out a pidfile
+
+--- dcron/main.c
++++ dcron/main.c
+@@ -120,8 +120,14 @@
+ perror("fork");
+ exit(1);
+ }
+- if (pid > 0)
++ if (pid > 0) {
++ FILE *fp;
++ if ((fp = fopen("/var/run/cron.pid", "w")) != NULL) {
++ fprintf(fp, "%d\n", pid);
++ fclose(fp);
++ }
+ exit(0);
++ }
+ }
+
+ /*
diff --git a/sys-process/dcron/files/dcron-4.4-ldflags.patch b/sys-process/dcron/files/dcron-4.4-ldflags.patch
new file mode 100644
index 000000000000..4120d3090331
--- /dev/null
+++ b/sys-process/dcron/files/dcron-4.4-ldflags.patch
@@ -0,0 +1,30 @@
+From 9f4d538a4427240a807b82225080a3ff1fac9d16 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 26 Oct 2010 01:38:18 -0400
+Subject: [PATCH] respect LDFLAGS env var while building
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 3a89a3b..dc5b78f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -53,10 +53,10 @@ protos.h: $(SRCS) $(TABSRCS)
+ fgrep -h Prototype $(SRCS) $(TABSRCS) > protos.h
+
+ crond: $(OBJS)
+- $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o crond
++ $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) -o crond
+
+ crontab: $(TABOBJS)
+- $(CC) $(CFLAGS) $(TABOBJS) -o crontab
++ $(CC) $(CFLAGS) $(LDFLAGS) $^ -o crontab
+
+ %.o: %.c defs.h $(PROTOS)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $< -o $@
+--
+1.7.3.1
+
diff --git a/sys-process/dcron/files/dcron-4.4-pidfile.patch b/sys-process/dcron/files/dcron-4.4-pidfile.patch
new file mode 100644
index 000000000000..a5994f09e934
--- /dev/null
+++ b/sys-process/dcron/files/dcron-4.4-pidfile.patch
@@ -0,0 +1,43 @@
+From 14b0f33ebf33d3d08427fd4d9fd4bda3cc107bd0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 26 Oct 2010 01:42:32 -0400
+Subject: [PATCH] crond: write a pid file
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 2 +-
+ main.c | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index dc5b78f..e278312 100644
+--- a/Makefile
++++ b/Makefile
+@@ -38,7 +38,7 @@ DEFS = -DVERSION='"$(VERSION)"' \
+ -DTIMESTAMP_FMT='"$(TIMESTAMP_FMT)"'
+
+ # save variables needed for `make install` in config
+-all: $(PROTOS) crond crontab ;
++all: crond crontab ;
+ rm -f config
+ echo "PREFIX = $(PREFIX)" >> config
+ echo "SBINDIR = $(SBINDIR)" >> config
+diff --git a/main.c b/main.c
+index e4a742e..6313213 100644
+--- a/main.c
++++ b/main.c
+@@ -227,6 +227,11 @@ main(int ac, char **av)
+ exit(1);
+ } else if (pid > 0) {
+ /* parent */
++ FILE *fp;
++ if ((fp = fopen("/var/run/cron.pid", "w")) != NULL) {
++ fprintf(fp, "%d\n", pid);
++ fclose(fp);
++ }
+ exit(0);
+ }
+ /* child continues */
+--
+1.7.3.1
+
diff --git a/sys-process/dcron/files/dcron-4.4-prune.patch b/sys-process/dcron/files/dcron-4.4-prune.patch
new file mode 100644
index 000000000000..3a8ff950e2cc
--- /dev/null
+++ b/sys-process/dcron/files/dcron-4.4-prune.patch
@@ -0,0 +1,33 @@
+From 7d5633e67db8160b77df5e14bdcfb8cd579a9003 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 26 Oct 2010 02:11:12 -0400
+Subject: [PATCH] prune-cronstamps: reformat for cron.d usage
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ extra/prune-cronstamps | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+ mode change 100755 => 100644 extra/prune-cronstamps
+
+diff --git a/extra/prune-cronstamps b/extra/prune-cronstamps
+old mode 100755
+new mode 100644
+index c2973a5..9ce82a0
+--- a/extra/prune-cronstamps
++++ b/extra/prune-cronstamps
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++# /etc/cron.d/prune-cronstamps
+
+ # Prunes any files in /var/spool/cron/cronstamps that haven't been used in ninety days.
+ # We check that both mtime and atime are greater than this:
+@@ -10,5 +10,4 @@
+ # and so its atime won't be updated. At least its mtime will be updated when
+ # it's modified.
+
+-find /var/spool/cron/cronstamps -mtime +90 -atime +90 -delete
+-
++@weekly ID=prune-cronstamps find /var/spool/cron/cronstamps -mtime +90 -atime +90 -delete
+--
+1.7.3.1
+
diff --git a/sys-process/dcron/files/dcron-4.5-ldflags.patch b/sys-process/dcron/files/dcron-4.5-ldflags.patch
new file mode 100644
index 000000000000..7fa2d8d9d015
--- /dev/null
+++ b/sys-process/dcron/files/dcron-4.5-ldflags.patch
@@ -0,0 +1,38 @@
+From 8a292168e584c50808b80df3577a7d89fa32db26 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 16 May 2011 16:24:20 -0400
+Subject: [PATCH] drop LDFLAGS set, and restore CFLAGS linking
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1938e05..8309ad6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -32,7 +32,6 @@ TABSRCS = crontab.c chuser.c
+ TABOBJS = crontab.o chuser.o
+ PROTOS = protos.h
+ LIBS =
+-LDFLAGS =
+ DEFS = -DVERSION='"$(VERSION)"' \
+ -DSCRONTABS='"$(SCRONTABS)"' -DCRONTABS='"$(CRONTABS)"' \
+ -DCRONSTAMPS='"$(CRONSTAMPS)"' -DLOG_IDENT='"$(LOG_IDENT)"' \
+@@ -54,10 +53,10 @@ protos.h: $(SRCS) $(TABSRCS)
+ fgrep -h Prototype $(SRCS) $(TABSRCS) > protos.h
+
+ crond: $(OBJS)
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o crond
++ $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) -o crond
+
+ crontab: $(TABOBJS)
+- $(CC) $(LDFLAGS) $^ -o crontab
++ $(CC) $(CFLAGS) $(LDFLAGS) $^ -o crontab
+
+ %.o: %.c defs.h $(PROTOS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $(DEFS) $< -o $@
+--
+1.7.5.rc3
+
diff --git a/sys-process/dcron/files/dcron-4.5-pidfile.patch b/sys-process/dcron/files/dcron-4.5-pidfile.patch
new file mode 100644
index 000000000000..6004c4c4b4d2
--- /dev/null
+++ b/sys-process/dcron/files/dcron-4.5-pidfile.patch
@@ -0,0 +1,43 @@
+From 14b0f33ebf33d3d08427fd4d9fd4bda3cc107bd0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 26 Oct 2010 01:42:32 -0400
+Subject: [PATCH] crond: write a pid file
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 2 +-
+ main.c | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index dc5b78f..e278312 100644
+--- a/Makefile
++++ b/Makefile
+@@ -38,7 +38,7 @@ DEFS = -DVERSION='"$(VERSION)"' \
+ -DTIMESTAMP_FMT='"$(TIMESTAMP_FMT)"'
+
+ # save variables needed for `make install` in config
+-all: $(PROTOS) crond crontab ;
++all: crond crontab ;
+ rm -f config
+ echo "PREFIX = $(PREFIX)" >> config
+ echo "SBINDIR = $(SBINDIR)" >> config
+diff --git a/main.c b/main.c
+index e4a742e..6313213 100644
+--- a/main.c
++++ b/main.c
+@@ -227,6 +227,11 @@ main(int ac, char **av)
+ exit(1);
+ } else if (pid > 0) {
+ /* parent */
++ FILE *fp;
++ if ((fp = fopen("/var/run/crond.pid", "w")) != NULL) {
++ fprintf(fp, "%d\n", pid);
++ fclose(fp);
++ }
+ exit(0);
+ }
+ /* child continues */
+--
+1.7.3.1
+
diff --git a/sys-process/dcron/files/dcron.confd b/sys-process/dcron/files/dcron.confd
new file mode 100644
index 000000000000..48b41577679d
--- /dev/null
+++ b/sys-process/dcron/files/dcron.confd
@@ -0,0 +1,8 @@
+# /etc/conf.d/dcron
+
+# Options to pass to dcron at startup
+DCRON_OPTS=""
+
+# Logfile to send log output to
+# Default is /var/log/cron.log, set to /dev/null to disable logging
+DCRON_LOG="/var/log/cron.log"
diff --git a/sys-process/dcron/files/dcron.confd-4.4 b/sys-process/dcron/files/dcron.confd-4.4
new file mode 100644
index 000000000000..61cdf12b43a7
--- /dev/null
+++ b/sys-process/dcron/files/dcron.confd-4.4
@@ -0,0 +1,5 @@
+# /etc/conf.d/dcron
+
+# Options to pass to dcron at startup.
+# Default logging is via syslog; use -L to send to file.
+DCRON_OPTS=""
diff --git a/sys-process/dcron/files/dcron.init b/sys-process/dcron/files/dcron.init
new file mode 100755
index 000000000000..fbee9cf98fe6
--- /dev/null
+++ b/sys-process/dcron/files/dcron.init
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger clock hostname
+ provide cron
+}
+
+start() {
+ ebegin "Starting dcron"
+ /usr/sbin/crond ${DCRON_OPTS} >> ${DCRON_LOG:=/var/log/cron.log} 2>&1
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dcron"
+ start-stop-daemon --stop --quiet \
+ --pidfile /var/run/cron.pid --exec /usr/sbin/crond
+ local ret=$?
+ rm -f /var/run/cron.pid
+ eend ${ret}
+}
diff --git a/sys-process/dcron/files/dcron.init-4.4 b/sys-process/dcron/files/dcron.init-4.4
new file mode 100755
index 000000000000..6caed880dc3e
--- /dev/null
+++ b/sys-process/dcron/files/dcron.init-4.4
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger clock hostname
+ provide cron
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ /usr/sbin/crond ${DCRON_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet \
+ --pidfile /var/run/cron.pid --exec /usr/sbin/crond
+ local ret=$?
+ rm -f /var/run/cron.pid
+ eend ${ret}
+}
diff --git a/sys-process/dcron/files/dcron.init-4.5 b/sys-process/dcron/files/dcron.init-4.5
new file mode 100755
index 000000000000..0224283523a8
--- /dev/null
+++ b/sys-process/dcron/files/dcron.init-4.5
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger clock hostname
+ provide cron
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ /usr/sbin/crond ${DCRON_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet \
+ --pidfile /var/run/crond.pid --exec /usr/sbin/crond
+ local ret=$?
+ rm -f /var/run/crond.pid
+ eend ${ret}
+}
diff --git a/sys-process/dcron/files/dcron.logrotate b/sys-process/dcron/files/dcron.logrotate
new file mode 100644
index 000000000000..0577ad1186ae
--- /dev/null
+++ b/sys-process/dcron/files/dcron.logrotate
@@ -0,0 +1,3 @@
+/var/log/cron.log {
+ copytruncate
+}
diff --git a/sys-process/dcron/files/dcron.service b/sys-process/dcron/files/dcron.service
new file mode 100644
index 000000000000..0332390f2c81
--- /dev/null
+++ b/sys-process/dcron/files/dcron.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Cron Daemon
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/crond -S -l info
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/sys-process/dcron/metadata.xml b/sys-process/dcron/metadata.xml
new file mode 100644
index 000000000000..541835b7739d
--- /dev/null
+++ b/sys-process/dcron/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cron</herd>
+<maintainer>
+ <email>vapier@gentoo.org</email>
+</maintainer>
+</pkgmetadata>