Gentoo Archives: gentoo-commits

From: "Diego Petteno (flameeyes)" <flameeyes@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-process/fcron: ChangeLog fcron-3.0.6.ebuild fcron-3.0.4-r2.ebuild fcron-3.0.4-r1.ebuild
Date: Tue, 04 May 2010 11:40:43
Message-Id: 20100504114038.62F6D29620@corvid.gentoo.org
1 flameeyes 10/05/04 11:40:38
2
3 Modified: ChangeLog
4 Added: fcron-3.0.6.ebuild
5 Removed: fcron-3.0.4-r2.ebuild fcron-3.0.4-r1.ebuild
6 Log:
7 Version bump and cleanup old versions. The 3.0.6 merges most of our custom changes so it's mostly vanilla.
8 (Portage version: 2.2_rc67/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.79 sys-process/fcron/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/ChangeLog?rev=1.79&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/ChangeLog?rev=1.79&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/ChangeLog?r1=1.78&r2=1.79
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v
20 retrieving revision 1.78
21 retrieving revision 1.79
22 diff -u -r1.78 -r1.79
23 --- ChangeLog 24 Apr 2010 19:54:30 -0000 1.78
24 +++ ChangeLog 4 May 2010 11:40:38 -0000 1.79
25 @@ -1,6 +1,14 @@
26 # ChangeLog for sys-process/fcron
27 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v 1.78 2010/04/24 19:54:30 armin76 Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v 1.79 2010/05/04 11:40:38 flameeyes Exp $
30 +
31 +*fcron-3.0.6 (04 May 2010)
32 +
33 + 04 May 2010; Diego E. Pettenò <flameeyes@g.o>
34 + -fcron-3.0.4-r1.ebuild, -fcron-3.0.4-r2.ebuild,
35 + -files/fcron-3.0.4-docfix.patch, +fcron-3.0.6.ebuild, -files/fcron.init:
36 + Version bump and cleanup old versions. The 3.0.6 merges most of our custom
37 + changes so it's mostly vanilla.
38
39 24 Apr 2010; Raúl Porcel <armin76@g.o> fcron-3.0.5-r2.ebuild:
40 Add ~arm wrt #314629
41
42
43
44 1.1 sys-process/fcron/fcron-3.0.6.ebuild
45
46 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/fcron-3.0.6.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/fcron-3.0.6.ebuild?rev=1.1&content-type=text/plain
48
49 Index: fcron-3.0.6.ebuild
50 ===================================================================
51 # Copyright 1999-2010 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/fcron-3.0.6.ebuild,v 1.1 2010/05/04 11:40:38 flameeyes Exp $
54
55 inherit cron pam eutils
56
57 MY_P=${P/_/-}
58 DESCRIPTION="A command scheduler with extended capabilities over cron and anacron"
59 HOMEPAGE="http://fcron.free.fr/"
60 SRC_URI="http://fcron.free.fr/archives/${MY_P}.src.tar.gz"
61
62 LICENSE="GPL-2"
63 KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd"
64 IUSE="debug pam selinux linguas_fr"
65
66 DEPEND="selinux? ( sys-libs/libselinux )
67 pam? ( virtual/pam )"
68
69 # see bug 282214 for the reason to depend on bash
70 RDEPEND="${DEPEND}
71 app-shells/bash
72 app-editors/gentoo-editor
73 pam? ( >=sys-auth/pambase-20100310 )"
74
75 S="${WORKDIR}/${MY_P}"
76
77 pkg_setup() {
78 enewgroup fcron
79 enewuser fcron -1 -1 -1 fcron
80 rootuser=$(egetent passwd 0 | cut -d ':' -f 1)
81 rootgroup=$(egetent group 0 | cut -d ':' -f 1)
82 }
83
84 src_unpack() {
85 unpack ${A}
86 cd "${S}"
87
88 # respect LDFLAGS
89 sed -i "s:\(@LIBS@\):\$(LDFLAGS) \1:" Makefile.in || die "sed failed"
90 }
91
92 src_compile() {
93 local myconf
94
95 # Don't try to pass --with-debug as it'll play with cflags as
96 # well, and run foreground which is a _very_ nasty idea for
97 # Gentoo.
98 use debug && append-flags -DDEBUG
99
100 [[ -n "${rootuser}" ]] && myconf="${myconf} --with-rootname=${rootuser}"
101 [[ -n "${rootgroup}" ]] && myconf="${myconf} --with-rootgroup=${rootgroup}"
102
103 econf \
104 --with-cflags="${CFLAGS}" \
105 $(use_with pam) \
106 $(use_with selinux) \
107 --sysconfdir=/etc/fcron \
108 --with-username=fcron \
109 --with-groupname=fcron \
110 --with-piddir=/var/run \
111 --with-spooldir=/var/spool/fcron \
112 --with-fifodir=/var/run \
113 --with-fcrondyn=yes \
114 --disable-checks \
115 --with-editor=/usr/libexec/gentoo-editor \
116 --with-sendmail=/usr/sbin/sendmail \
117 --with-shell=/bin/sh \
118 --without-db2man --without-dsssl-dir \
119 ${myconf} \
120 || die "configure failed"
121
122 emake || die "make failed"
123
124 # bug #216460
125 sed -i \
126 -e 's:/usr/local/etc/fcron:/etc/fcron/fcron:g' \
127 -e 's:/usr/local/etc:/etc:g' \
128 -e 's:/usr/local/:/usr/:g' \
129 doc/*/*/*.{txt,1,5,8,html} \
130 || die "unable to fix documentation references"
131 }
132
133 src_install() {
134 # create directories that don't have special permissions first so
135 # that we can play with the permissions later
136 dodir /usr/bin /etc /var/spool
137
138 diropts -m6770 -o fcron -g fcron
139 keepdir /var/spool/fcron
140
141 # install fcron tools
142 insinto /usr/bin
143 dosbin fcron || die
144
145 # fcronsighup needs to be suid root, because it sends a HUP
146 # to the running fcron daemon
147 insopts -m6755 -o ${rootuser:-root} -g fcron
148 doins fcronsighup || die
149 insopts -m6755 -o fcron -g fcron
150 doins fcrondyn fcrontab || die
151
152 # /etc stuff
153 diropts -m0750 -o ${rootuser:-root} -g fcron
154 dodir /etc/fcron
155 insinto /etc/fcron
156 insopts -m0640 -o ${rootuser:-root} -g fcron
157 doins files/fcron.{allow,deny,conf} || die
158
159 diropts -m0755
160 insopts -m0644
161
162 # install /etc/crontab and /etc/fcrontab
163 insopts -m0640 -o ${rootuser:-root} -g ${rootgroup:-root}
164 doins "${FILESDIR}"/crontab "${FILESDIR}"/fcrontab || die
165
166 # install PAM files
167 pamd_mimic system-services fcron auth account session
168 cat - > "${T}"/fcrontab.pam <<EOF
169 # Don't ask for the user's password; fcrontab will only allow to
170 # change user if running as root.
171 auth sufficient pam_permit.so
172
173 # Still use the system-auth stack for account and session as the
174 # sysadmin might have set up stuff properly, and also avoids
175 # sidestepping limits (since fcrontab will run $EDITOR).
176 account include system-auth
177 session include system-auth
178 EOF
179 newpamd "${T}"/fcrontab.pam fcrontab
180
181 # install init script
182 newinitd "${FILESDIR}"/fcron.init.2 fcron || die
183
184 # install the very handy check_system_crontabs script, POSIX sh variant
185 dosbin script/check_system_crontabs.sh || die
186
187 # doc stuff
188 dodoc MANIFEST VERSION "${FILESDIR}"/crontab \
189 doc/en/txt/{readme,thanks,faq,todo,relnotes,changes}.txt \
190 || die
191 newdoc files/fcron.conf fcron.conf.sample || die
192 dohtml doc/en/HTML/*.html || die
193 doman doc/en/man/*.{1,5,8} || die
194
195 # localized docs
196 for lang in fr; do
197 use linguas_${lang} || continue
198
199 doman -i18n=${lang} doc/${lang}/man/*.{1,5,8} || die
200 docinto html/${lang}
201 dohtml doc/${lang}/HTML/*.html || die
202 done
203 }
204
205 pkg_postinst() {
206 elog
207 elog "fcron has some important differences compared to vixie-cron:"
208 elog
209 elog "1. fcron stores the crontabs in ${ROOT}var/spool/fcron"
210 elog " instead of ${ROOT}var/spool/cron/crontabs"
211 elog
212 elog "2. fcron uses a special binary file format for storing the"
213 elog " crontabs in ${ROOT}var/spool/fcron/USERNAME,"
214 elog " but the original plain text version is saved as"
215 elog " ${ROOT}var/spool/fcron/USERNAME.orig for your"
216 elog " reference (and for being edited with fcrontab)."
217 elog
218 elog "3. fcron does not feature a system crontab in exactly the"
219 elog " same way as vixie-cron does. This version of fcron"
220 elog " features a crontab for a pseudo-user 'systab' for use"
221 elog " as the system crontab. Running a command like"
222 elog
223 elog " fcrontab -u systab ${ROOT}etc/crontab"
224 elog
225 elog " will write ${ROOT}etc/crontab to the fcron crontabs directory as"
226 elog
227 elog " ${ROOT}var/spool/fcron/systab"
228 elog
229 elog " Please note that changes to ${ROOT}etc/crontab will not become"
230 elog " active automatically! fcron also does not use the directory"
231 elog " ${ROOT}etc/cron.d by default like vixie-cron does."
232 elog " Fortunately, it's possible to emulate vixie-cron's behavior"
233 elog " with regards to ${ROOT}etc/crontab and ${ROOT}etc/cron.d by using a"
234 elog " little helper script called 'check_system_crontabs'."
235 elog " The file ${ROOT}etc/fcrontab (not ${ROOT}etc/crontab!) has been set up"
236 elog " to run the script once a while to check whether"
237 elog " ${ROOT}etc/fcrontab, ${ROOT}etc/crontab or files in ${ROOT}etc/cron.d/ have"
238 elog " changed since the last generation of the systab and"
239 elog " regenerate it from those three locations as necessary."
240 elog " You should now run 'check_system_crontabs' once to properly"
241 elog " generate an initial systab:"
242 elog
243 elog " check_system_crontabs -v -i -f"
244 elog
245 elog " The file ${ROOT}etc/fcrontab should only be used to run that"
246 elog " script in order to ensure independence from the standard"
247 elog " system crontab file ${ROOT}etc/crontab."
248 elog " You may of course adjust the schedule for the script"
249 elog " 'check_system_crontabs' or any other setting in"
250 elog " ${ROOT}etc/fcrontab as you desire."
251 elog
252 elog "If you do NOT want to use 'check_system_crontabs', you"
253 elog "might still want to activate the use of the well known"
254 elog "directories ${ROOT}etc/cron.{hourly|daily|weekly|monthly} by"
255 elog "just generating a systab once from ${ROOT}etc/crontab:"
256 elog
257 elog " fcrontab -u systab ${ROOT}etc/crontab"
258 elog
259 elog "Happy fcron'ing!"
260 elog
261
262 ewarn
263 ewarn "Fixing permissions and ownership of ${ROOT}usr/bin/fcron{tab,dyn,sighup}"
264 chown fcron:fcron "${ROOT}"usr/bin/fcron{tab,dyn} >&/dev/null
265 chown ${rootuser:-root}:fcron "${ROOT}"usr/bin/fcronsighup >&/dev/null
266 chmod 6755 "${ROOT}"usr/bin/fcron{tab,dyn,sighup} >&/dev/null
267 ewarn "Fixing permissions and ownership of ${ROOT}etc/{fcron,fcrontab,crontab}"
268 chown -R ${rootuser:-root}:fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null
269 chmod -R g+rX,o= "${ROOT}"etc/fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null
270 ewarn
271
272 ewarn
273 ewarn "WARNING: fcron now uses a dedicated user and group"
274 ewarn "'fcron' for the suid/sgid programs/files instead of"
275 ewarn "the user and group 'cron' that were previously used."
276 ewarn
277 ewarn "fcron usage can now only be restricted by adding users"
278 ewarn "to the following files instead of to the group 'cron':"
279 ewarn
280 ewarn " ${ROOT}etc/fcron/fcron.allow"
281 ewarn " ${ROOT}etc/fcron/fcron.deny"
282 ewarn
283
284 if ls -1 "${ROOT}"var/spool/cron/fcrontabs/* >&/dev/null; then
285 ewarn
286 ewarn "WARNING: fcron now uses a dedicated fcron-specific"
287 ewarn "spooldir ${ROOT}var/spool/fcron instead of the commonly"
288 ewarn "used ${ROOT}var/spool/cron for several reasons."
289 ewarn
290 ewarn "Copying over existing crontabs from ${ROOT}var/spool/cron/fcrontabs"
291 cp "${ROOT}"var/spool/cron/fcrontabs/* "${ROOT}"var/spool/fcron/ >&/dev/null \
292 || die "failed to migrate existing crontabs"
293 ewarn "You should now remove ${ROOT}var/spool/cron/fcrontabs!"
294 ewarn
295 ewarn "Fixing permissions and ownership of ${ROOT}var/spool/fcron"
296 chown root:root "${ROOT}"var/spool/fcron/* >&/dev/null
297 chmod 0600 "${ROOT}"var/spool/fcron/* >&/dev/null
298 chown fcron:fcron "${ROOT}"var/spool/fcron/*.orig >&/dev/null
299 chmod 0640 "${ROOT}"var/spool/fcron/*.orig >&/dev/null
300 ewarn
301 ewarn "*** YOU SHOULD IMMEDIATELY UPDATE THE"
302 ewarn "*** fcrontabs ENTRY IN ${ROOT}etc/fcron/fcron.conf"
303 ewarn "*** AND RESTART YOUR FCRON DAEMON!"
304 fi
305
306 elog ""
307 elog "Since version 3.0.5 the fcron init script will no longer wait for LDAP, MySQL"
308 elog "or PostgreSQL before starting. If you need any of these for authentication or"
309 elog "for jobs that are executed by fcron, please create a /etc/conf.d/fcron file to"
310 elog "set the rc_need variable to the list of services you should be waiting for."
311 elog ""
312 }