public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-process/cronie/, sys-process/cronie/files/
Date: Fri, 19 Jan 2024 10:28:46 +0000 (UTC)	[thread overview]
Message-ID: <1705660115.c8d03c5fd70d4e1f0696ed140203f2475869ea7b.sam@gentoo> (raw)

commit:     c8d03c5fd70d4e1f0696ed140203f2475869ea7b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 10:28:25 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 10:28:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8d03c5f

sys-process/cronie: backport envelope revert

Closes: https://bugs.gentoo.org/922477
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-process/cronie/cronie-1.7.1-r1.ebuild          | 111 +++++++++++++++++++++
 .../files/cronie-1.7.1-envelope-revert.patch       |  59 +++++++++++
 2 files changed, 170 insertions(+)

diff --git a/sys-process/cronie/cronie-1.7.1-r1.ebuild b/sys-process/cronie/cronie-1.7.1-r1.ebuild
new file mode 100644
index 000000000000..cd49c8370d95
--- /dev/null
+++ b/sys-process/cronie/cronie-1.7.1-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 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}-envelope-revert.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/files/cronie-1.7.1-envelope-revert.patch b/sys-process/cronie/files/cronie-1.7.1-envelope-revert.patch
new file mode 100644
index 000000000000..ac10c1a132b5
--- /dev/null
+++ b/sys-process/cronie/files/cronie-1.7.1-envelope-revert.patch
@@ -0,0 +1,59 @@
+https://bugs.gentoo.org/922477
+https://github.com/cronie-crond/cronie/issues/166
+https://github.com/cronie-crond/cronie/issues/170
+https://github.com/cronie-crond/cronie/pull/118
+
+https://github.com/cronie-crond/cronie/commit/aeb3f8a9cbc0da7e6367d41a2b769eb7e90855f3
+https://github.com/cronie-crond/cronie/commit/6181605fafe6aaedc0c19a8bdc85a335403b42d8
+
+From aeb3f8a9cbc0da7e6367d41a2b769eb7e90855f3 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tmraz@fedoraproject.org>
+Date: Fri, 19 Jan 2024 11:17:48 +0100
+Subject: [PATCH] Revert "Use empty envelope address with default mailfrom"
+
+This reverts commit c640f4f39e5c20995e960e4b954cd0574a96c028.
+
+This causes more harm than expected and is also strictly speaking
+not RFC compliant.
+--- a/src/do_command.c
++++ b/src/do_command.c
+@@ -471,9 +471,7 @@ static int child_process(entry * e, char **jobenv) {
+ 				if (MailCmd[0] == '\0') {
+ 					int len;
+ 
+-					/* Use empty envelope address with default mailfrom */
+-					len = snprintf(mailcmd, sizeof mailcmd, MAILFMT, MAILARG,
+-							mailfrom == e->pwd->pw_name ? "<>" : mailfrom);
++					len = snprintf(mailcmd, sizeof mailcmd, MAILFMT, MAILARG, mailfrom);
+ 					if (len < 0) {
+ 						fprintf(stderr, "mailcmd snprintf failed\n");
+ 						(void) _exit(ERROR_EXIT);
+
+From 6181605fafe6aaedc0c19a8bdc85a335403b42d8 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tmraz@fedoraproject.org>
+Date: Fri, 19 Jan 2024 11:19:32 +0100
+Subject: [PATCH] Inherit MAILFROM from the crond process environment
+
+This allows setting it in /etc/sysconfig/crond or in the systemd unit.
+--- a/man/crontab.5
++++ b/man/crontab.5
+@@ -98,7 +98,8 @@ This option is useful if you decide to use /bin/mail instead of
+ aliasing and UUCP usually does not read its mail.  If
+ .I MAILFROM
+ is defined (and non-empty), it is used as the envelope sender address,
+-otherwise, ``root'' is used.
++otherwise, ``root'' is used. This variable is also inherited from the
++crond process environment.
+ .PP 
+ (Note: Both 
+ .I MAILFROM
+--- a/src/env.c
++++ b/src/env.c
+@@ -138,6 +138,7 @@ int env_set_from_environ(char ***envpp) {
+ 		"LC_ALL",
+ 		"LANGUAGE",
+ 		"RANDOM_DELAY",
++		"MAILFROM",
+ 		NULL
+ 	};
+ 	const char **name;


             reply	other threads:[~2024-01-19 10:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-19 10:28 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-12-28  4:23 [gentoo-commits] repo/gentoo:master commit in: sys-process/cronie/, sys-process/cronie/files/ Sam James
2023-10-16 23:45 Louis Sautier
2023-10-13 23:11 Sam James
2022-03-22 18:13 Lars Wendler
2021-07-15 20:13 Lars Wendler
2019-06-06 10:07 Lars Wendler
2019-03-16 20:03 Lars Wendler
2018-02-14 10:21 Lars Wendler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1705660115.c8d03c5fd70d4e1f0696ed140203f2475869ea7b.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox