ports/85817: update to fcron port
Brad Huntting
huntting at hunkular.glarp.com
Wed Sep 7 00:10:12 UTC 2005
>Number: 85817
>Category: ports
>Synopsis: update to fcron port
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 07 00:10:11 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Brad Huntting
>Release: FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:
System: FreeBSD hunkular.glarp.com 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May 8 10:21:06 UTC 2005 root at harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
The fcron port has been broken for many months. The
port tries to use a development release of fcron which
is several years old (2.1.0) and no longer available.
(The current developement release is 2.9.7 and changes
regularly).
I have created a new port of the 'stable release'
(which, fixes a recent security hole). A tar file
of the new port can be found at
http://www.glarp.com/hidden/fcron/fcron-port.tar
If there are no objections, please put me down as the
port maintainer for sysutils/fcron.
>How-To-Repeat:
cd /usr/ports/sysutils/fcron; make
>Fix:
The new port can be found at http://www.glarp.com/hidden/fcron/fcron-port.tar
Diffs from the current port at http://www.glarp.com/hidden/fcron/fcron.diff
as well as here:
diff -ruN fcron.bak/Makefile fcron/Makefile
--- fcron.bak/Makefile Tue Sep 6 17:57:54 2005
+++ fcron/Makefile Tue Sep 6 17:46:48 2005
@@ -1,54 +1,45 @@
# ex:ts=8
# New ports collection makefile for: fcron
-# Date created: Mar 1, 2001
-# Whom: Ying-Chieh Liao <ijliao at FreeBSD.org>
+# Date created: Sep 6 2005
+# Whom: Brad Huntting <huntting at glarp.com>
#
-# $FreeBSD: ports/sysutils/fcron/Makefile,v 1.17 2004/12/07 08:47:42 sem Exp $
+# $FreeBSD: ports/sysutils/fcron/Makefile,v 1.15 2004/03/14 06:17:23 ade Exp $
#
PORTNAME= fcron
-PORTVERSION= 2.1.0
+PORTVERSION= 2.0.2
+PORTEPOCH= 1
CATEGORIES= sysutils
-MASTER_SITES= ${MASTER_SITE_SUNSITE} \
- http://fcron.free.fr/
-MASTER_SITE_SUBDIR= system/daemons/cron
-DISTNAME= ${PORTNAME}-${PORTVERSION}.src
+MASTER_SITES= ftp://ftp.seul.org/pub/fcron/ http://fcron.free.fr/archives/
+DISTNAME= fcron-${PORTVERSION}.src
-MAINTAINER= svenasse at polaris.ca
-COMMENT= Fcron is a periodical command scheduler
-
-NO_PACKAGE= "Runaway package build"
+MAINTAINER= huntting at glarp.com
+COMMENT= fcron (stable release) is a periodic command scheduler
+USE_RC_SUBR= fcron
USE_AUTOCONF_VER= 213
USE_PERL5= yes
CONFIGURE_ARGS= --with-etcdir=${PREFIX}/etc --with-cflags="${CFLAGS}" \
--with-rootname=root --with-rootgroup=wheel \
--with-answer-all=yes
-.if !defined(NOPORTDOCS)
+WRKSRC= ${WRKDIR}/fcron-${PORTVERSION}
+
+.if defined(NOPORTDOCS)
+CONFIGURE_ARGS+= --with-docdir=${WRKDIR}/docs
+.else
CONFIGURE_ARGS+= --with-docdir=${DOCSDIR}
-PLIST_SUB= PORTVERSION=${PORTVERSION}
.endif
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-MAN1= fcrontab.1
-MAN3= bitstring.3
-MAN5= fcrontab.5 fcron.conf.5
-MAN8= fcron.8
+pre-su-install:
+ ${INSTALL} -m 644 ${WRKSRC}/files/fcron.conf ${LOCALBASE}/etc/fcron.conf.dist
+ ${INSTALL} -m 640 ${WRKSRC}/files/fcron.allow ${LOCALBASE}/etc/fcron.allow.dist
+ ${INSTALL} -m 640 ${WRKSRC}/files/fcron.deny ${LOCALBASE}/etc/fcron.deny.dist
post-install:
-.if !defined(NOPORTDOCS)
- @${MKDIR} ${DOCSDIR}
- @${INSTALL_DATA} ${WRKSRC}/doc/FAQ ${DOCSDIR}
- @${INSTALL_DATA} ${WRKSRC}/files/fcron.pam ${DOCSDIR}
- @${INSTALL_DATA} ${WRKSRC}/files/fcrontab.pam ${DOCSDIR}
-.endif
-.for i in allow deny conf
-.if !exists(${PREFIX}/etc/fcron.$i)
- @${CP} -p ${PREFIX}/etc/fcron.$i.dist ${PREFIX}/etc/fcron.$i
-.endif
-.endfor
+ ${CHGRP} fcron ${LOCALBASE}/etc/fcron.allow.dist
+ ${CHGRP} fcron ${LOCALBASE}/etc/fcron.deny.dist
+ ${INSTALL} -m 644 ${FILESDIR}/sample-fcrontab-* ${DOCSDIR}/
@${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>
diff -ruN fcron.bak/distinfo fcron/distinfo
--- fcron.bak/distinfo Tue Sep 6 17:57:54 2005
+++ fcron/distinfo Tue Sep 6 13:06:05 2005
@@ -1,2 +1,2 @@
-MD5 (fcron-2.1.0.src.tar.gz) = 054a21772e06ea9b37243c34d38fd9fb
-SIZE (fcron-2.1.0.src.tar.gz) = 147802
+MD5 (fcron-2.0.2.src.tar.gz) = 416c55d8a484eb6c9907828009fd649c
+SIZE (fcron-2.0.2.src.tar.gz) = 169081
diff -ruN fcron.bak/files/fcron.in fcron/files/fcron.in
--- fcron.bak/files/fcron.in Wed Dec 31 17:00:00 1969
+++ fcron/files/fcron.in Tue Sep 6 14:00:17 2005
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# $FreeBSD: src/etc/rc.d/cron,v 1.5.2.1 2004/10/10 09:50:53 mtm Exp $
+#
+
+# PROVIDE: fcron
+# REQUIRE: LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="fcron"
+rcvar="`set_rcvar`"
+command="%%LOCALBASE%%/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+
+load_rc_config $name
+run_rc_command "$1"
diff -ruN fcron.bak/files/patch-Makefile.in fcron/files/patch-Makefile.in
--- fcron.bak/files/patch-Makefile.in Tue Sep 6 17:57:54 2005
+++ fcron/files/patch-Makefile.in Tue Sep 6 13:39:04 2005
@@ -1,29 +1,27 @@
---- Makefile.in.org Wed Jan 23 21:49:55 2002
-+++ Makefile.in Wed Jan 23 21:50:52 2002
-@@ -102,23 +102,20 @@
- if test ! -d $(DESTMAN)/man3; then $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 755 -d $(DESTMAN)/man3 ; fi
- if test ! -d $(DESTMAN)/man5; then $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 755 -d $(DESTMAN)/man5 ; fi
- if test ! -d $(DESTMAN)/man8; then $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 755 -d $(DESTMAN)/man8 ; fi
-- if test ! -d $(DESTDOC)/fcron-$(VERSION); then $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 755 -d $(DESTDOC)/fcron-$(VERSION) ; fi
- # create the spool dir (and change its mode if it already exists)
- $(INSTALL) -g $(GROUPNAME) -o $(USERNAME) -m 770 -d $(FCRONTABS)
-
- $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 110 -s fcron $(DESTSBIN)
- $(INSTALL) -g $(GROUPNAME) -o $(USERNAME) -m 6111 -s fcrontab $(DESTBIN)
- $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 6111 -s fcronsighup $(DESTBIN)
-- test -f $(ETC)/fcron.allow || test -f $(ETC)/fcron.deny || $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.allow $(SRCDIR)/files/fcron.deny $(ETC)
-- test -f $(ETC)/fcron.conf || $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.conf $(ETC)
-- test "${USEPAM}" = "0" || $(SRCDIR)/script/install-pam-conf $(SRCDIR) $(ETC) $(ROOTNAME) $(ROOTGROUP) "$(INSTALL)"
-+ $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.allow $(ETC)/fcron.allow.dist
-+ $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.deny $(ETC)/fcron.deny.dist
-+ $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.conf $(ETC)/fcron.conf.dist
- $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/fcron.8 $(DESTMAN)/man8
+--- Makefile.in.orig Sat Nov 13 13:56:01 2004
++++ Makefile.in Tue Sep 6 13:38:43 2005
+@@ -114,7 +114,6 @@
$(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/fcrontab.1 $(DESTMAN)/man1
$(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/fcrontab.5 $(DESTMAN)/man5
$(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/fcron.conf.5 $(DESTMAN)/man5
- $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/bitstring.3 $(DESTMAN)/man3
-- $(INSTALL) -m 644 -o $(ROOTNAME) doc/README doc/LICENSE doc/CHANGES doc/*.html \
-- $(DESTDOC)/fcron-$(VERSION)/
+- $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/bitstring.3 $(DESTMAN)/man3
+ $(INSTALL) -m 644 -o $(ROOTNAME) doc/README doc/LICENSE doc/CHANGES doc/*.html \
+ $(DESTDOC)/fcron-$(VERSION)/
+
+@@ -125,8 +124,6 @@
+ if test -f $(ETC)/fcron.deny; then chown $(ROOTNAME):$(GROUPNAME) $(ETC)/fcron.deny ; fi
+ if test -f $(ETC)/fcron.allow; then chown $(ROOTNAME):$(GROUPNAME) $(ETC)/fcron.allow ; fi
- # in order to get correct rights when upgrading :
- find $(FCRONTABS) -type f \( -name "*.orig" -a ! -name "root.orig" \) -exec chown $(USERNAME):$(GROUPNAME) {} \; -exec chmod 640 {} \;
+- $(SRCDIR)/script/boot-install "$(INSTALL) -o $(ROOTNAME)" $(DESTSBIN) $(DEBUG) $(FCRONTABS) $(ANSWERALL) $(SRCDIR)
+-
+ install-boot: install
+ if test "$(DEBUG)" = "1"; then \
+ $(SRCDIR)/script/boot-install "$(INSTALL) -o $(ROOTNAME)" $(DESTSBIN) 0 $(FCRONTABS) $(ANSWERALL) $(SRCDIR);\
+@@ -144,7 +141,6 @@
+ rm -f $(DESTBIN)/fcronsighup
+ rm -fR $(DESTDOC)/fcron-$(VERSION)
+ rm -f $(DESTMAN)/man1/fcrontab.1
+- rm -f $(DESTMAN)/man3/bitstring.3
+ rm -f $(DESTMAN)/man5/fcrontab.5
+ rm -f $(DESTMAN)/man5/fcron.conf.5
+ rm -f $(DESTMAN)/man8/fcron.8
diff -ruN fcron.bak/files/patch-conf.c fcron/files/patch-conf.c
--- fcron.bak/files/patch-conf.c Tue Sep 6 17:57:54 2005
+++ fcron/files/patch-conf.c Wed Dec 31 17:00:00 1969
@@ -1,9 +0,0 @@
---- conf.c.orig Tue Dec 7 11:44:09 2004
-+++ conf.c Tue Dec 7 11:44:32 2004
-@@ -1086,5 +1086,6 @@
- break ;
-
- next_file:
-+ ;
- }
- }
diff -ruN fcron.bak/files/patch-configure.in fcron/files/patch-configure.in
--- fcron.bak/files/patch-configure.in Tue Sep 6 17:57:54 2005
+++ fcron/files/patch-configure.in Wed Dec 31 17:00:00 1969
@@ -1,22 +0,0 @@
---- configure.in.orig Sun Jul 8 07:32:17 2001
-+++ configure.in Sat Aug 25 14:36:05 2001
-@@ -201,13 +201,13 @@
- fi
- ;;
- *)
-- if test -d "$withval"; then
-+# if test -d "$withval"; then
- etcdir="$withval"
-- AC_MSG_RESULT($withval)
-- else
-- AC_MSG_ERROR([
--Directory $withval does not exist])
-- fi
-+# AC_MSG_RESULT($withval)
-+# else
-+# AC_MSG_ERROR([
-+#Directory $withval does not exist])
-+# fi
- ;;
- esac ],
- if test -d "/etc"; then
diff -ruN fcron.bak/files/patch-script::boot-install fcron/files/patch-script::boot-install
--- fcron.bak/files/patch-script::boot-install Tue Sep 6 17:57:54 2005
+++ fcron/files/patch-script::boot-install Wed Dec 31 17:00:00 1969
@@ -1,11 +0,0 @@
---- script/boot-install.orig Fri Jul 20 14:44:40 2001
-+++ script/boot-install Fri Jul 20 14:44:48 2001
-@@ -11,7 +11,7 @@
- # the automatic answer
- # the src dir
-
--PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
-+PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin"
- if test -d /usr/ucb; then
- PATH=/usr/ucb:$PATH
- fi
diff -ruN fcron.bak/files/patch-script::gen-in.pl fcron/files/patch-script::gen-in.pl
--- fcron.bak/files/patch-script::gen-in.pl Wed Dec 31 17:00:00 1969
+++ fcron/files/patch-script::gen-in.pl Tue Sep 6 11:31:17 2005
@@ -0,0 +1,8 @@
+--- script/gen-in.pl.orig Wed Jun 16 14:36:38 2004
++++ script/gen-in.pl Tue Sep 6 11:29:55 2005
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/local/bin/perl
+
+ # - read define assignations in config.h
+ # - read variable assignations in Makefile
diff -ruN fcron.bak/files/patch-script::has_usrgrp.pl fcron/files/patch-script::has_usrgrp.pl
--- fcron.bak/files/patch-script::has_usrgrp.pl Wed Dec 31 17:00:00 1969
+++ fcron/files/patch-script::has_usrgrp.pl Tue Sep 6 11:31:03 2005
@@ -0,0 +1,8 @@
+--- script/has_usrgrp.pl.orig Wed Jun 16 14:36:38 2004
++++ script/has_usrgrp.pl Tue Sep 6 11:30:21 2005
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/local/bin/perl
+
+ # call getpwnam() or getgrnam() to check if user or group (given as arg) exists
+ # on the system (getpwnam() and getgrnam() use nsswitch.conf, so it works
diff -ruN fcron.bak/files/patch-script::user-group fcron/files/patch-script::user-group
--- fcron.bak/files/patch-script::user-group Wed Dec 31 17:00:00 1969
+++ fcron/files/patch-script::user-group Tue Sep 6 11:49:32 2005
@@ -0,0 +1,18 @@
+--- script/user-group.orig Sat Nov 13 13:56:04 2004
++++ script/user-group Tue Sep 6 11:49:20 2005
+@@ -93,12 +93,12 @@
+ else
+ echo "no."
+ CMD=""
+- if useradd -D 2> /dev/null; then
++ if test "$IS_FREEBSD" -eq 1; then
++ CMD="pw useradd $USERNAME -c $USERNAME"
++ elif useradd -D 2> /dev/null; then
+ CMD="useradd -c '$USERNAME' -g $GROUPNAME $USERNAME"
+ elif adduser -D 2> /dev/null; then
+ CMD="adduser -c '$USERNAME' -g $GROUPNAME $USERNAME"
+- elif test "$IS_FREEBSD" -eq 1; then
+- CMD="pw useradd $USERNAME -c $USERNAME"
+ fi
+ if test -z "$CMD"; then
+ echo "Could not determine the command to use to add a user."
diff -ruN fcron.bak/files/sample-fcrontab-operator fcron/files/sample-fcrontab-operator
--- fcron.bak/files/sample-fcrontab-operator Wed Dec 31 17:00:00 1969
+++ fcron/files/sample-fcrontab-operator Tue Sep 6 17:05:21 2005
@@ -0,0 +1,9 @@
+# Derived from the default /etc/crontab for FreeBSD
+# See fcrontab(5) for syntax and semantics
+#
+SHELL=/bin/sh
+PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
+HOME=/var/log
+#
+# Save some entropy so that /dev/random can re-seed on boot.
+ at nolog 11 /usr/libexec/save-entropy
diff -ruN fcron.bak/files/sample-fcrontab-root fcron/files/sample-fcrontab-root
--- fcron.bak/files/sample-fcrontab-root Wed Dec 31 17:00:00 1969
+++ fcron/files/sample-fcrontab-root Tue Sep 6 17:05:02 2005
@@ -0,0 +1,20 @@
+# Derived from the default /etc/crontab for FreeBSD
+# See fcrontab(5) for syntax and semantics
+#
+SHELL=/bin/sh
+PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
+HOME=/var/log
+#
+ at nolog,serial,lavg5(1.5) 5 /usr/libexec/atrun
+#
+# Rotate log files every hour, if necessary.
+%nolog,hourly,lavg15(0.2) * newsyslog
+#
+# Perform daily/weekly/monthly maintenance.
+%daily,serial,lavg15(0.2) * * periodic daily
+%weekly,serial,lavg15(0.2) * * periodic weekly
+%monthly,serial,lavg15(0.2) * * * periodic monthly
+#
+# Adjust the time zone if the CMOS clock keeps local time, as opposed to
+# UTC time. See adjkerntz(8) for details.
+1,31 0-5 * * * root adjkerntz -a
diff -ruN fcron.bak/pkg-descr fcron/pkg-descr
--- fcron.bak/pkg-descr Tue Sep 6 17:57:54 2005
+++ fcron/pkg-descr Tue Sep 6 17:34:35 2005
@@ -8,4 +8,6 @@
according to its time of execution, which is normally the same as
system up time.
+This is the stable release.
+
WWW: http://fcron.free.fr/
diff -ruN fcron.bak/pkg-message fcron/pkg-message
--- fcron.bak/pkg-message Tue Sep 6 17:57:54 2005
+++ fcron/pkg-message Tue Sep 6 17:35:27 2005
@@ -1,5 +1,11 @@
-This new version of fcron uses PAM support for authentication.
-Please refer to the fcron.pam and fcrontab.pam files in the
-documentation directory for configuring PAM.
+ To enable fcron, and disable the default system cron, add
+ the following lines to your /etc/rc.conf:
+
+ fcron_enable="YES"
+ cron_enable="NO"
+
+ and move any jobs in /etc/crontab to roots fcrontab(5)
+ entry. See DOCSDIR/sample-fcrontab-* for a translation of
+ the default freebsd /etc/crontab.
diff -ruN fcron.bak/pkg-plist fcron/pkg-plist
--- fcron.bak/pkg-plist Tue Sep 6 17:57:54 2005
+++ fcron/pkg-plist Tue Sep 6 13:44:38 2005
@@ -1,17 +1,15 @@
-bin/fcronsighup
-bin/fcrontab
-sbin/fcron
@unexec if cmp -s %D/etc/fcron.allow %D/etc/fcron.allow.dist; then rm -f %D/etc/fcron.allow; fi
-etc/fcron.allow.dist
- at exec [ -f %B/fcron.allow ] || cp %B/%f %B/fcron.allow
@unexec if cmp -s %D/etc/fcron.deny %D/etc/fcron.deny.dist; then rm -f %D/etc/fcron.deny; fi
-etc/fcron.deny.dist
- at exec [ -f %B/fcron.deny ] || cp %B/%f %B/fcron.deny
@unexec if cmp -s %D/etc/fcron.conf %D/etc/fcron.conf.dist; then rm -f %D/etc/fcron.conf; fi
+ at unexec rmdir /var/spool/fcron || true
+bin/fcronsighup
+bin/fcrontab
+etc/fcron.allow.dist
etc/fcron.conf.dist
- at exec [ -f %B/fcron.conf ] || cp %B/%f %B/fcron.conf
-etc/rc.d/fcron.sh
-%%PORTDOCS%%share/doc/fcron/FAQ
-%%PORTDOCS%%share/doc/fcron/fcron.pam
-%%PORTDOCS%%share/doc/fcron/fcrontab.pam
-%%PORTDOCS%%@unexec rmdir %D/share/doc/fcron 2>/dev/null || true
+etc/fcron.deny.dist
+man/man1/fcrontab.1
+man/man5/fcron.conf.5
+man/man5/fcrontab.5
+man/man8/fcron.8
+sbin/fcron
+%%PORTDOCS%%@unexec rm -rf %D/share/doc/fcron-stable 2>/dev/null || true
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list