From 4b27c5fc01548928042ad09f4983ffb563163dba Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 14 Oct 2023 00:10:21 +0100 Subject: sys-process/cronie: fix systemd unit file Closes: https://bugs.gentoo.org/915699 Signed-off-by: Sam James --- sys-process/cronie/cronie-1.7.0-r1.ebuild | 111 +++++++++++++++++++++ sys-process/cronie/cronie-1.7.0.ebuild | 107 -------------------- .../files/cronie-1.7.0-optional-envionment.patch | 21 ++++ 3 files changed, 132 insertions(+), 107 deletions(-) create mode 100644 sys-process/cronie/cronie-1.7.0-r1.ebuild delete mode 100644 sys-process/cronie/cronie-1.7.0.ebuild create mode 100644 sys-process/cronie/files/cronie-1.7.0-optional-envionment.patch (limited to 'sys-process') diff --git a/sys-process/cronie/cronie-1.7.0-r1.ebuild b/sys-process/cronie/cronie-1.7.0-r1.ebuild new file mode 100644 index 000000000000..7df18878c8a5 --- /dev/null +++ b/sys-process/cronie/cronie-1.7.0-r1.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# cronie supports /etc/crontab +CRON_SYSTEM_CRONTAB="yes" + +inherit 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/releases/download/${P}/${P}.tar.gz" + +LICENSE="ISC BSD BSD-2 GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+anacron +inotify pam selinux" + +DEPEND=" + pam? ( sys-libs/pam ) + anacron? ( + !sys-process/anacron + !sys-process/systemd-cron + elibc_musl? ( sys-libs/obstack-standalone ) + ) + selinux? ( sys-libs/libselinux ) +" +BDEPEND="acct-group/crontab" +RDEPEND=" + ${BDEPEND} + ${DEPEND} + sys-apps/debianutils +" + +PATCHES=( + "${FILESDIR}"/${P}-optional-envionment.patch +) + +src_configure() { + local myeconfargs=( + $(use_with inotify) + $(use_with pam) + $(use_with selinux) + $(use_enable anacron) + --enable-syscrontab + # Required for correct pidfile location, bug #835814 + --runstatedir="${EPREFIX}/run" + --with-daemon_username=cron + --with-daemon_groupname=cron + ) + + if use anacron && use elibc_musl ; then + append-cflags "-lobstack" + 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,dailyjobs} + + 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 + 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/cronie-1.7.0.ebuild b/sys-process/cronie/cronie-1.7.0.ebuild deleted file mode 100644 index 8dfc21e17ea9..000000000000 --- a/sys-process/cronie/cronie-1.7.0.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# cronie supports /etc/crontab -CRON_SYSTEM_CRONTAB="yes" - -inherit 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/releases/download/${P}/${P}.tar.gz" - -LICENSE="ISC BSD BSD-2 GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="+anacron +inotify pam selinux" - -DEPEND=" - pam? ( sys-libs/pam ) - anacron? ( - !sys-process/anacron - !sys-process/systemd-cron - elibc_musl? ( sys-libs/obstack-standalone ) - ) - selinux? ( sys-libs/libselinux ) -" -BDEPEND="acct-group/crontab" -RDEPEND=" - ${BDEPEND} - ${DEPEND} - sys-apps/debianutils -" - -src_configure() { - local myeconfargs=( - $(use_with inotify) - $(use_with pam) - $(use_with selinux) - $(use_enable anacron) - --enable-syscrontab - # Required for correct pidfile location, bug #835814 - --runstatedir="${EPREFIX}/run" - --with-daemon_username=cron - --with-daemon_groupname=cron - ) - - if use anacron && use elibc_musl ; then - append-cflags "-lobstack" - 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,dailyjobs} - - 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 - 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.7.0-optional-envionment.patch b/sys-process/cronie/files/cronie-1.7.0-optional-envionment.patch new file mode 100644 index 000000000000..b3032fe982e8 --- /dev/null +++ b/sys-process/cronie/files/cronie-1.7.0-optional-envionment.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/915699 +https://github.com/cronie-crond/cronie/commit/1a6bed1dcf1871c47fdc6d5957f00eae5a854cc7 + +From 1a6bed1dcf1871c47fdc6d5957f00eae5a854cc7 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Fri, 13 Oct 2023 11:17:12 +0200 +Subject: [PATCH] make the environment file optional + +Starting the daemon works without additional environment variables, so +make the file optional. +--- a/contrib/cronie.systemd ++++ b/contrib/cronie.systemd +@@ -3,7 +3,7 @@ Description=Command Scheduler + After=auditd.service nss-user-lookup.target systemd-user-sessions.service time-sync.target ypbind.service autofs.service + + [Service] +-EnvironmentFile=/etc/sysconfig/crond ++EnvironmentFile=-/etc/sysconfig/crond + ExecStart=/usr/sbin/crond -n $CRONDARGS + ExecReload=/bin/kill -URG $MAINPID + KillMode=process -- cgit v1.2.3-65-gdbad