cronie reverting patch that broke mails to users
Hanno Böck

Hanno Böck commited on 2024-01-15 21:32:06
Zeige 7 geänderte Dateien mit 172 Einfügungen und 0 Löschungen.

... ...
@@ -0,0 +1 @@
1
+DIST cronie-1.7.1.tar.gz 271985 BLAKE2B 9cbf22fe9c86f265e625563fc5426f39f79ac9c9cfa090ba47957c14391ed3b8ac202b244fed35ea043bed428b4c97a71ad400719a265bd95f5ac28bf3dc9b3a SHA512 4479f6f05ca9da3ecefa0e9b73662f1db58ffff309916de9f92f89c5e7f93f1c5c744f18cb3e1a3df9664d533afe7dad710f97484e72a314c87d84f57a6c56fb
... ...
@@ -0,0 +1,114 @@
1
+# Copyright 1999-2023 Gentoo Authors
2
+# Distributed under the terms of the GNU General Public License v2
3
+
4
+EAPI=8
5
+
6
+# cronie supports /etc/crontab
7
+CRON_SYSTEM_CRONTAB="yes"
8
+
9
+inherit cron flag-o-matic pam systemd
10
+
11
+DESCRIPTION="Cronie is a standard UNIX daemon cron based on the original vixie-cron"
12
+HOMEPAGE="https://github.com/cronie-crond/cronie"
13
+SRC_URI="https://github.com/cronie-crond/cronie/releases/download/${P}/${P}.tar.gz"
14
+
15
+LICENSE="ISC BSD BSD-2 GPL-2"
16
+SLOT="0"
17
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
18
+IUSE="+anacron +inotify pam selinux"
19
+
20
+DEPEND="
21
+	pam? ( sys-libs/pam )
22
+	anacron? (
23
+		!sys-process/anacron
24
+		!sys-process/systemd-cron
25
+		elibc_musl? ( sys-libs/obstack-standalone )
26
+	)
27
+	selinux? ( sys-libs/libselinux )
28
+"
29
+BDEPEND="acct-group/crontab"
30
+RDEPEND="
31
+	${BDEPEND}
32
+	${DEPEND}
33
+	sys-apps/debianutils
34
+"
35
+
36
+PATCHES=(
37
+"${FILESDIR}/cronie-undo-mailfrom.diff"
38
+)
39
+#	"${FILESDIR}"/${P}-optional-envionment.patch
40
+#	"${FILESDIR}"/${P}-optional-default-anacron.patch
41
+#)
42
+
43
+src_configure() {
44
+	local myeconfargs=(
45
+		$(use_with inotify)
46
+		$(use_with pam)
47
+		$(use_with selinux)
48
+		$(use_enable anacron)
49
+		--enable-syscrontab
50
+		# Required for correct pidfile location, bug #835814
51
+		--runstatedir="${EPREFIX}/run"
52
+		--with-daemon_username=cron
53
+		--with-daemon_groupname=cron
54
+	)
55
+
56
+	if use anacron && use elibc_musl ; then
57
+		append-cflags "-lobstack"
58
+	fi
59
+
60
+	SPOOL_DIR="/var/spool/cron/crontabs" \
61
+	ANACRON_SPOOL_DIR="/var/spool/anacron" \
62
+	econf "${myeconfargs[@]}"
63
+}
64
+
65
+src_install() {
66
+	default
67
+
68
+	docrondir -m 1730 -o root -g crontab
69
+	fowners root:crontab /usr/bin/crontab
70
+	fperms 2751 /usr/bin/crontab
71
+
72
+	newconfd "${S}"/crond.sysconfig ${PN}
73
+
74
+	insinto /etc
75
+	newins "${FILESDIR}/${PN}-crontab" crontab
76
+	newins "${FILESDIR}/${PN}-1.2-cron.deny" cron.deny
77
+
78
+	insinto /etc/cron.d
79
+	doins contrib/{0hourly,dailyjobs}
80
+
81
+	newinitd "${FILESDIR}/${PN}-1.3-initd" ${PN}
82
+
83
+	if use pam ; then
84
+		newpamd "${FILESDIR}/${PN}-1.4.3-pamd" crond
85
+	fi
86
+
87
+	systemd_newunit contrib/cronie.systemd cronie.service
88
+
89
+	if use anacron ; then
90
+		local anacrondir="/var/spool/anacron"
91
+		keepdir ${anacrondir}
92
+		fowners root:cron ${anacrondir}
93
+		fperms 0750 ${anacrondir}
94
+
95
+		insinto /etc
96
+		doins contrib/anacrontab
97
+
98
+		insinto /etc/cron.hourly
99
+		doins contrib/0anacron
100
+		fperms 0750 /etc/cron.hourly/0anacron
101
+	fi
102
+
103
+	einstalldocs
104
+}
105
+
106
+pkg_postinst() {
107
+	cron_pkg_postinst
108
+
109
+	if [[ -n "${REPLACING_VERSIONS}" ]] ; then
110
+		ewarn "You should restart ${PN} daemon or else you might experience segfaults"
111
+		ewarn "or ${PN} not working reliably anymore."
112
+		einfo "(see https://bugs.gentoo.org/557406 for details.)"
113
+	fi
114
+}
... ...
@@ -0,0 +1,4 @@
1
+# If for any reason you have users in the 'cron' group who should not
2
+# be allowed to run crontab, add them to this file (one username per
3
+# line)
4
+
... ...
@@ -0,0 +1,13 @@
1
+#!/sbin/openrc-run
2
+# Copyright 1999-2016 Gentoo Foundation
3
+# Distributed under the terms of the GNU General Public License v2
4
+
5
+command="/usr/sbin/crond"
6
+command_args="${CRONDARGS}"
7
+pidfile="/run/crond.pid"
8
+
9
+depend() {
10
+	use clock logger
11
+	need localmount
12
+	provide cron	
13
+}
... ...
@@ -0,0 +1,9 @@
1
+#
2
+# The PAM configuration file for the cron daemon
3
+#
4
+#
5
+auth       include    system-auth
6
+account    required   pam_access.so
7
+account    include    system-auth
8
+session    required   pam_loginuid.so
9
+session    include    system-auth
... ...
@@ -0,0 +1,17 @@
1
+# Global variables
2
+SHELL=/bin/bash
3
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
4
+MAILTO=root
5
+HOME=/
6
+
7
+# For details see man 5 crontab
8
+
9
+# Example of job definition:
10
+# .---------------- minute (0 - 59)
11
+# |  .------------- hour (0 - 23)
12
+# |  |  .---------- day of month (1 - 31)
13
+# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
14
+# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
15
+# |  |  |  |  |
16
+# *  *  *  *  * user-name  command to be executed
17
+
... ...
@@ -0,0 +1,14 @@
1
+diff -Naurp a/src/do_command.c b/src/do_command.c
2
+--- a/src/do_command.c	2024-01-15 16:26:13.997192070 +0100
3
++++ b/src/do_command.c	2024-01-15 16:26:26.246807360 +0100
4
+@@ -471,9 +471,7 @@ static int child_process(entry * e, char
5
+ 				if (MailCmd[0] == '\0') {
6
+ 					int len;
7
+ 
8
+-					/* Use empty envelope address with default mailfrom */
9
+-					len = snprintf(mailcmd, sizeof mailcmd, MAILFMT, MAILARG,
10
+-							mailfrom == e->pwd->pw_name ? "<>" : mailfrom);
11
++					len = snprintf(mailcmd, sizeof mailcmd, MAILFMT, MAILARG, mailfrom);
12
+ 					if (len < 0) {
13
+ 						fprintf(stderr, "mailcmd snprintf failed\n");
14
+ 						(void) _exit(ERROR_EXIT);
0 15