Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Sep 2005 18:06:45 -0600 (MDT)
From:      Brad Huntting <huntting@hunkular.glarp.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/85817: update to fcron port
Message-ID:  <200509070006.j8706jYh039640@hunkular.glarp.com>
Resent-Message-ID: <200509070010.j870AB4O088161@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@FreeBSD.org>
+# Date created:			Sep  6 2005
+# Whom:				Brad Huntting <huntting@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@polaris.ca
-COMMENT=	Fcron is a periodical command scheduler
-
-NO_PACKAGE=	"Runaway package build"
+MAINTAINER=	huntting@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.
+@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
+#
+@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
-@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
-@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
+@unexec rmdir /var/spool/fcron || true
+bin/fcronsighup
+bin/fcrontab
+etc/fcron.allow.dist
 etc/fcron.conf.dist
-@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509070006.j8706jYh039640>