Gentoo Archives: gentoo-commits

From: "Wolfram Schlich (wschlich)" <wschlich@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-process/fcron: ChangeLog fcron-3.0.4.ebuild
Date: Fri, 09 Nov 2007 08:55:05
Message-Id: E1IqPdj-00082u-U5@stork.gentoo.org
1 wschlich 07/11/09 08:54:59
2
3 Modified: ChangeLog
4 Added: fcron-3.0.4.ebuild
5 Log:
6 version bump
7 (Portage version: 2.1.3.19)
8
9 Revision Changes Path
10 1.50 sys-process/fcron/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/ChangeLog?rev=1.50&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/ChangeLog?rev=1.50&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/ChangeLog?r1=1.49&r2=1.50
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v
19 retrieving revision 1.49
20 retrieving revision 1.50
21 diff -u -r1.49 -r1.50
22 --- ChangeLog 5 Nov 2007 16:36:17 -0000 1.49
23 +++ ChangeLog 9 Nov 2007 08:54:59 -0000 1.50
24 @@ -1,6 +1,11 @@
25 # ChangeLog for sys-process/fcron
26 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v 1.49 2007/11/05 16:36:17 armin76 Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v 1.50 2007/11/09 08:54:59 wschlich Exp $
29 +
30 +*fcron-3.0.4 (09 Nov 2007)
31 +
32 + 09 Nov 2007; Wolfram Schlich <wschlich@g.o> +fcron-3.0.4.ebuild:
33 + version bump
34
35 05 Nov 2007; Raúl Porcel <armin76@g.o> fcron-3.0.3.ebuild:
36 sparc stable wrt #195241
37
38
39
40 1.1 sys-process/fcron/fcron-3.0.4.ebuild
41
42 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/fcron-3.0.4.ebuild?rev=1.1&view=markup
43 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-process/fcron/fcron-3.0.4.ebuild?rev=1.1&content-type=text/plain
44
45 Index: fcron-3.0.4.ebuild
46 ===================================================================
47 # Copyright 1999-2007 Gentoo Foundation
48 # Distributed under the terms of the GNU General Public License v2
49 # $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/fcron-3.0.4.ebuild,v 1.1 2007/11/09 08:54:59 wschlich Exp $
50
51 inherit cron pam eutils
52
53 MY_P=${P/_/-}
54 DESCRIPTION="A command scheduler with extended capabilities over cron and anacron"
55 HOMEPAGE="http://fcron.free.fr/"
56 SRC_URI="http://fcron.free.fr/archives/${MY_P}.src.tar.gz"
57
58 LICENSE="GPL-2"
59 KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86 ~x86-fbsd"
60 IUSE="debug doc pam selinux"
61
62 DEPEND="doc? ( >=app-text/docbook-dsssl-stylesheets-1.77 )
63 selinux? ( sys-libs/libselinux )
64 pam? ( virtual/pam )"
65
66 S="${WORKDIR}/${MY_P}"
67
68 pkg_setup() {
69 enewgroup fcron
70 enewuser fcron -1 -1 -1 fcron
71 rootuser=$(egetent passwd 0 | cut -d ':' -f 1)
72 rootgroup=$(egetent group 0 | cut -d ':' -f 1)
73 if useq debug; then
74 ewarn
75 ewarn "WARNING: debug USE flag active!"
76 ewarn "The debug USE flag makes fcron start in debug mode"
77 ewarn "by default, thus not detaching into background."
78 ewarn "This will make your system HANG on bootup if"
79 ewarn "fcron is to be started automatically by the"
80 ewarn "init system!"
81 ewarn
82 ebeep 10
83 epause 60
84 fi
85 }
86
87 src_unpack() {
88 unpack ${A}
89 cd "${S}"
90
91 # respect LDFLAGS
92 sed -i "s:\(@LIBS@\):\$(LDFLAGS) \1:" Makefile.in || die "sed failed"
93 }
94
95 src_compile() {
96 local myconf
97
98 autoconf || die "autoconf failed"
99
100 use doc \
101 && myconf="${myconf} --with-dsssl-dir=/usr/share/sgml/stylesheets/dsssl/docbook"
102
103 [[ -n "${rootuser}" ]] && myconf="${myconf} --with-rootname=${rootuser}"
104 [[ -n "${rootgroup}" ]] && myconf="${myconf} --with-rootgroup=${rootgroup}"
105
106 # QA security notice fix; see "[gentoo-core] Heads up changes in suid
107 # handing with portage >=51_pre21" for more details.
108 append-ldflags $(bindnow-flags)
109
110 econf \
111 "$(useq debug || echo --with-cflags=${CFLAGS})" \
112 $(use_with debug '' yes) \
113 $(use_with pam) \
114 $(use_with selinux) \
115 --sysconfdir=/etc/fcron \
116 --with-username=fcron \
117 --with-groupname=fcron \
118 --with-piddir=/var/run \
119 --with-etcdir=/etc/fcron \
120 --with-spooldir=/var/spool/fcron \
121 --with-fifodir=/var/run \
122 --with-fcrondyn=yes \
123 --disable-checks \
124 --with-editor=/usr/bin/vi \
125 --with-sendmail=/usr/sbin/sendmail \
126 --with-shell=/bin/sh \
127 ${myconf} \
128 || die "configure failed"
129
130 emake || die "make failed"
131 }
132
133 src_install() {
134 # cron eclass stuff
135 docron fcron -m0755 -o ${rootuser:-root} -g ${rootgroup:-root}
136 docrondir /var/spool/fcron -m6770 -o fcron -g fcron
137 docrontab fcrontab -m6755 -o fcron -g fcron
138
139 # install fcron tools
140 insinto /usr/bin
141 # fcronsighup needs to be suid root, because it sends a HUP
142 # to the running fcron daemon
143 insopts -m6755 -o ${rootuser:-root} -g fcron
144 doins fcronsighup
145 insopts -m6755 -o fcron -g fcron
146 doins fcrondyn
147
148 # /etc stuff
149 diropts -m0750 -o ${rootuser:-root} -g fcron
150 dodir /etc/fcron
151 insinto /etc/fcron
152 insopts -m0640 -o ${rootuser:-root} -g fcron
153 doins files/fcron.{allow,deny,conf}
154
155 # install PAM files
156 newpamd files/fcron.pam fcron
157 newpamd files/fcrontab.pam fcrontab
158
159 # install /etc/crontab and /etc/fcrontab
160 insopts -m0640 -o ${rootuser:-root} -g ${rootgroup:-root}
161 insinto /etc
162 doins "${FILESDIR}"/crontab "${FILESDIR}"/fcrontab
163
164 # install init script
165 newinitd "${FILESDIR}"/fcron.init fcron
166
167 # install the very handy check_system_crontabs script
168 dosbin script/check_system_crontabs
169
170 # doc stuff
171 dodoc MANIFEST VERSION
172 newdoc files/fcron.conf fcron.conf.sample
173 dodoc "${FILESDIR}"/crontab
174 dodoc doc/en/txt/{readme,thanks,faq,todo,relnotes,changes}.txt
175 rm -f doc/en/man/*.3 # ugly hack for bitstring.3 manpage
176 doman doc/en/man/*.[0-9]
177 use doc && dohtml doc/en/HTML/*.html
178
179 # localized docs
180 local LANGUAGES=$(sed -n 's:LANGUAGES =::p' doc/Makefile)
181 LANGUAGES="${LANGUAGES/en/}"
182 local lang
183 for lang in ${LANGUAGES}; do
184 hasq ${lang} ${LINGUAS} || continue
185 rm -f doc/${lang}/man/*.3 # ugly hack for bitstring.3 manpage
186 doman -i18n=${lang} doc/${lang}/man/*.[0-9]
187 use doc && docinto html/${lang} && dohtml doc/${lang}/HTML/*.html
188 done
189 }
190
191 pkg_postinst() {
192 einfo
193 einfo "fcron has some important differences compared to vixie-cron:"
194 einfo
195 einfo "1. fcron stores the crontabs in /var/spool/fcron"
196 einfo " instead of /var/spool/cron/crontabs"
197 einfo
198 einfo "2. fcron uses a special binary file format for storing the"
199 einfo " crontabs in /var/spool/fcron/USERNAME,"
200 einfo " but the original plain text version is saved as"
201 einfo " /var/spool/fcron/USERNAME.orig for your"
202 einfo " reference (and for being edited with fcrontab)."
203 einfo
204 einfo "3. fcron does not feature a system crontab in exactly the"
205 einfo " same way as vixie-cron does. This version of fcron"
206 einfo " features a crontab for a pseudo-user 'systab' for use"
207 einfo " as the system crontab. Running a command like"
208 einfo
209 einfo " fcrontab -u systab /etc/crontab"
210 einfo
211 einfo " will write /etc/crontab to the fcron crontabs directory as"
212 einfo
213 einfo " /var/spool/fcron/systab"
214 einfo
215 einfo " Please note that changes to /etc/crontab will not become"
216 einfo " active automatically! fcron also does not use the directory"
217 einfo " /etc/cron.d by default like vixie-cron does."
218 einfo " Fortunately, it's possible to emulate vixie-cron's behavior"
219 einfo " with regards to /etc/crontab and /etc/cron.d by using a"
220 einfo " little helper script called 'check_system_crontabs'."
221 einfo " The file /etc/fcrontab (not /etc/crontab!) has been set up"
222 einfo " to run the script once a while to check whether"
223 einfo " /etc/fcrontab, /etc/crontab or files in /etc/cron.d/ have"
224 einfo " changed since the last generation of the systab and"
225 einfo " regenerate it from those three locations as necessary."
226 einfo " You should now run 'check_system_crontabs' once to properly"
227 einfo " generate an initial systab:"
228 einfo
229 einfo " check_system_crontabs -v -i -f"
230 einfo
231 einfo " The file /etc/fcrontab should only be used to run that"
232 einfo " script in order to ensure independence from the standard"
233 einfo " system crontab file /etc/crontab."
234 einfo " You may of course adjust the schedule for the script"
235 einfo " 'check_system_crontabs' or any other setting in"
236 einfo " /etc/fcrontab as you desire."
237 einfo
238 einfo "If you do NOT want to use 'check_system_crontabs', you"
239 einfo "might still want to activate the use of the well known"
240 einfo "directories /etc/cron.{hourly|daily|weekly|monthly} by"
241 einfo "just generating a systab once from /etc/crontab:"
242 einfo
243 einfo " fcrontab -u systab /etc/crontab"
244 einfo
245 einfo "Happy fcron'ing!"
246 einfo
247
248 ewarn
249 ewarn "Fixing permissions and ownership of /usr/bin/fcron{tab,dyn,sighup}"
250 chown fcron:fcron /usr/bin/fcron{tab,dyn} >&/dev/null
251 chown ${rootuser:-root}:fcron /usr/bin/fcronsighup >&/dev/null
252 chmod 6755 /usr/bin/fcron{tab,dyn,sighup} >&/dev/null
253 ewarn "Fixing permissions and ownership of /etc/{fcron,fcrontab,crontab}"
254 chown -R ${rootuser:-root}:fcron /etc/{fcron,fcrontab,crontab} >&/dev/null
255 chmod -R g+rX,o= /etc/fcron /etc/{fcron,fcrontab,crontab} >&/dev/null
256 ewarn
257
258 ewarn
259 ewarn "WARNING: fcron now uses a dedicated user and group"
260 ewarn "'fcron' for the suid/sgid programs/files instead of"
261 ewarn "the user and group 'cron' that were previously used."
262 ewarn
263 ewarn "fcron usage can now only be restricted by adding users"
264 ewarn "to the following files instead of to the group 'cron':"
265 ewarn
266 ewarn " /etc/fcron/fcron.allow"
267 ewarn " /etc/fcron/fcron.deny"
268 ewarn
269 ebeep 10
270 epause 10
271
272 if ls -1 /var/spool/cron/fcrontabs/* >&/dev/null; then
273 ewarn
274 ewarn "WARNING: fcron now uses a dedicated fcron-specific"
275 ewarn "spooldir /var/spool/fcron instead of the commonly"
276 ewarn "used /var/spool/cron for several reasons."
277 ewarn
278 ewarn "Copying over existing crontabs from /var/spool/cron/fcrontabs"
279 cp /var/spool/cron/fcrontabs/* /var/spool/fcron/ >&/dev/null \
280 || die "failed to migrate existing crontabs"
281 ewarn "You should now remove /var/spool/cron/fcrontabs!"
282 ewarn
283 ewarn "Fixing permissions and ownership of /var/spool/fcron"
284 chown root:root /var/spool/fcron/* >&/dev/null
285 chmod 0600 /var/spool/fcron/* >&/dev/null
286 chown fcron:fcron /var/spool/fcron/*.orig >&/dev/null
287 chmod 0640 /var/spool/fcron/*.orig >&/dev/null
288 ewarn
289 ewarn "*** YOU SHOULD IMMEDIATELY UPDATE THE"
290 ewarn "*** fcrontabs ENTRY IN /etc/fcron/fcron.conf"
291 ewarn "*** AND RESTART YOUR FCRON DAEMON!"
292 ebeep 20
293 epause 10
294 fi
295 }
296
297
298
299 --
300 gentoo-commits@g.o mailing list