summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-process')
-rw-r--r--sys-process/cronie/Manifest1
-rw-r--r--sys-process/cronie/cronie-1.5.6.ebuild118
-rw-r--r--sys-process/cronie/files/cronie-1.5.6-autoconf-2.70.patch38
3 files changed, 157 insertions, 0 deletions
diff --git a/sys-process/cronie/Manifest b/sys-process/cronie/Manifest
index 2d8069394e6a..7bb22e3b92ad 100644
--- a/sys-process/cronie/Manifest
+++ b/sys-process/cronie/Manifest
@@ -1 +1,2 @@
DIST cronie-1.5.5.tar.gz 124642 BLAKE2B 19bb690a2ae66b9b99dcd0536c115fbdf46c0f1c58922e08fb31d9789df3358438001bd4b6b55d16e99e3927364c618ac22cb04661db1245d09709fcb58eef1e SHA512 88b0e877e5b36a0063b37a6ce82133117c95ebd4435ce843e09c6247ac50f36c66503b850aafa75512fab07d46a110ddfdf52e7e984638ed794588e338547166
+DIST cronie-1.5.6.tar.gz 148374 BLAKE2B d511ea49804bf8e1fb10bd43bd37c03594ca4836c79a25b6c8a3e29efe50c11d0ecb6252e4d45bb186c33e2034040c7fdf009d20c305a03198365aba93979fd1 SHA512 bfae9b03627256367c7cdecd8ee13a3625386ea01ffa318d6f2b2d9c3f8efd5e31572125fbf7efd6ade8a22e5cd69e36e915a4ca8f554b553478059bc8be3337
diff --git a/sys-process/cronie/cronie-1.5.6.ebuild b/sys-process/cronie/cronie-1.5.6.ebuild
new file mode 100644
index 000000000000..d676c18a563a
--- /dev/null
+++ b/sys-process/cronie/cronie-1.5.6.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools cron flag-o-matic pam systemd
+
+DESCRIPTION="Cronie is a standard UNIX daemon cron based on the original vixie-cron"
+HOMEPAGE="https://github.com/cronie-crond/cronie"
+SRC_URI="https://github.com/cronie-crond/cronie/archive/${P}.tar.gz"
+
+LICENSE="ISC BSD BSD-2 GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+anacron +inotify pam selinux"
+
+DEPEND="
+ acct-group/crontab
+ pam? ( sys-libs/pam )
+ anacron? (
+ !sys-process/anacron
+ !sys-process/systemd-cron
+ elibc_musl? ( sys-libs/obstack-standalone )
+ elibc_uclibc? ( sys-libs/obstack-standalone )
+ )
+"
+RDEPEND="${DEPEND}
+ sys-apps/debianutils
+"
+
+#cronie supports /etc/crontab
+CRON_SYSTEM_CRONTAB="yes"
+
+S="${WORKDIR}/${PN}-${P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.5.3-systemd.patch"
+ "${FILESDIR}/${PN}-1.5.6-autoconf-2.70.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with inotify)
+ $(use_with pam)
+ $(use_with selinux)
+ $(use_enable anacron)
+ --enable-syscrontab
+ --with-daemon_username=cron
+ --with-daemon_groupname=cron
+ )
+
+ if use anacron ; then
+ if use elibc_musl || use elibc_uclibc ; then
+ append-cflags "-lobstack"
+ fi
+ fi
+ SPOOL_DIR="/var/spool/cron/crontabs" \
+ ANACRON_SPOOL_DIR="/var/spool/anacron" \
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ docrondir -m 1730 -o root -g crontab
+ fowners root:crontab /usr/bin/crontab
+ fperms 2751 /usr/bin/crontab
+
+ newconfd "${S}"/crond.sysconfig ${PN}
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}-crontab" crontab
+ newins "${FILESDIR}/${PN}-1.2-cron.deny" cron.deny
+
+ insinto /etc/cron.d
+ doins contrib/0hourly
+
+ newinitd "${FILESDIR}/${PN}-1.3-initd" ${PN}
+
+ if use pam ; then
+ newpamd "${FILESDIR}/${PN}-1.4.3-pamd" crond
+ fi
+
+ systemd_newunit contrib/cronie.systemd cronie.service
+
+ if use anacron ; then
+ local anacrondir="/var/spool/anacron"
+ keepdir ${anacrondir}
+ fowners root:cron ${anacrondir}
+ fperms 0750 ${anacrondir}
+
+ insinto /etc
+ doins contrib/anacrontab
+
+ insinto /etc/cron.hourly
+ doins contrib/0anacron
+ fperms 0750 /etc/cron.hourly/0anacron
+ else
+ insinto /etc/cron.d
+ doins contrib/dailyjobs
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ cron_pkg_postinst
+
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ ewarn "You should restart ${PN} daemon or else you might experience segfaults"
+ ewarn "or ${PN} not working reliably anymore."
+ einfo "(see https://bugs.gentoo.org/557406 for details.)"
+ fi
+}
diff --git a/sys-process/cronie/files/cronie-1.5.6-autoconf-2.70.patch b/sys-process/cronie/files/cronie-1.5.6-autoconf-2.70.patch
new file mode 100644
index 000000000000..732de86f0a09
--- /dev/null
+++ b/sys-process/cronie/files/cronie-1.5.6-autoconf-2.70.patch
@@ -0,0 +1,38 @@
+From d29cbc586c9f073eb144d219af3d792c2d2de453 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Wed, 17 Mar 2021 17:44:38 +0100
+Subject: [PATCH] configure.ac: Don't use AM_CONDITIONAL inside an if statement
+
+or else configure might break:
+
+ configure: error: conditional "NEED_OBSTACK" was never defined.
+ Usually this means the macro was only invoked conditionally.
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8c575dd..6e972fc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -260,11 +260,11 @@ if test "$enable_anacron" != no; then
+ dnl obstack.h is part of GLIBC and may not be present on other systems,
+ dnl eg. musl and AIX. There, we static link in our own copy.
+ AC_CHECK_HEADER(obstack.h, [have_obstack=yes], [have_obstack=no], [])
+- AM_CONDITIONAL([NEED_OBSTACK], [test "$have_obstack" = no])
+- if test "$have_obstack" = no; then
+- CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)/obstack"
+- fi
+ fi
++AM_CONDITIONAL([NEED_OBSTACK], [test "$have_obstack" = no])
++AS_IF([test "$have_obstack" = no], [
++ CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)/obstack"
++])
+
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
+--
+2.31.0
+