ports/88883: sysutils/fcron
Brad Huntting
huntting at hunkular.glarp.com
Sat Nov 12 11:40:09 UTC 2005
>Number: 88883
>Category: ports
>Synopsis: sysutils/fcron
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 12 11:40:08 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Brad Huntting
>Release: FreeBSD 6.0-RELEASE i386
>Organization:
improving
>Environment:
System: FreeBSD hunkular.glarp.com 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root at x64.samsco.home:/usr/obj/usr/src/sys/GENERIC i386
>Description:
fcron crashes with the syslog message 'select return 22:
Invalid argument' (22 is errno EINVAL).
A cursory inspection indicates the broken select(2) call
is only compiled when the fcrondyn feature is enabled.
Until this newer code is cleaned up and fixed, the safest
course would seem to be to disable it altogether.
>How-To-Repeat:
Compile and install on 6.0-RELEASE. Run with roots fcrontab:
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
@nolog,serial,lavg(.5,.5,1.5) 5 /usr/libexec/atrun
%nolog,hourly * newsyslog
%daily,serial,lavg(.2,.2,.2) * * periodic daily
%weekly,serial,lavg(.2,.2,.2) * * periodic weekly
%monthly,serial,lavg(.2,.2,.2) * * * periodic monthly
fcron should log the following message after running for
a few (<24) hours:
Nov 7 09:35:30 hunkular fcron[1238]: select return 22: Invalid argument
Nov 7 09:35:30 hunkular fcron[1238]: Aborted
>Fix:
Disabling fcrondyn appears to fix the problem.
Also, removed the unnessesary patch file for configure and
the USE_PERL5_BUILD directive as perl is no longer used for
installation.
I've tested the build on 4.10-RELEASE, 5.4-RELEASE and
6.0-RELEASE, and have run the patched version on 6.0-RELEASE
for a couple days on two different machines w/o incident.
The following patch was created with:
diff -Nru /usr/ports/sysutils/fcron ~/src/fcron
------------------------------ cut here ------------------------------
diff -Nru /usr/ports/sysutils/fcron/Makefile /host/pernicious.glarp.com/home/huntting/src/fcron/Makefile
--- /usr/ports/sysutils/fcron/Makefile Sun Oct 23 03:27:20 2005
+++ /host/pernicious.glarp.com/home/huntting/src/fcron/Makefile Thu Nov 10 01:03:38 2005
@@ -8,7 +8,7 @@
PORTNAME= fcron
PORTVERSION= 3.0.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_SUNSITE} \
http://fcron.free.fr/
@@ -20,17 +20,16 @@
GNU_CONFIGURE= yes
USE_GMAKE= yes
-USE_PERL5_BUILD= yes
CONFIGURE_ARGS= --with-etcdir=${PREFIX}/etc --with-cflags="${CFLAGS}" \
--with-rootname=root --with-rootgroup=wheel \
- --with-docdir=${DOCSDIR}
+ --with-docdir=${DOCSDIR} --with-fcrondyn=no
WRKSRC= ${WRKDIR}/fcron-${PORTVERSION}
USE_RC_SUBR= fcron
SUB_FILES= pkg-message
-MAN1= fcrondyn.1 fcrontab.1
+MAN1= fcrontab.1
MAN5= fcron.conf.5 fcrontab.5
MAN8= fcron.8
@@ -43,7 +42,6 @@
${INSTALL_PROGRAM} ${WRKSRC}/fcron ${PREFIX}/sbin
${INSTALL_PROGRAM} -g fcron -o fcron -m 6111 ${WRKSRC}/fcrontab ${PREFIX}/bin
${INSTALL_PROGRAM} -g fcron -m 4110 ${WRKSRC}/fcronsighup ${PREFIX}/bin
- ${INSTALL_PROGRAM} -g fcron -o fcron -m 6111 ${WRKSRC}/fcrondyn ${PREFIX}/bin
.for f in fcron.allow fcron.conf fcron.deny
${INSTALL_DATA} -g fcron -m 640 ${WRKSRC}/files/${f} ${PREFIX}/etc/${f}.dist
.endfor
diff -Nru /usr/ports/sysutils/fcron/files/patch-configure /host/pernicious.glarp.com/home/huntting/src/fcron/files/patch-configure
--- /usr/ports/sysutils/fcron/files/patch-configure Tue Oct 4 11:54:23 2005
+++ /host/pernicious.glarp.com/home/huntting/src/fcron/files/patch-configure Wed Dec 31 17:00:00 1969
@@ -1,20 +0,0 @@
---- configure.orig Tue Oct 4 18:39:16 2005
-+++ configure Tue Oct 4 18:42:04 2005
-@@ -11767,17 +11767,9 @@
- fi
- ;;
- *)
-- if test -d "$withval"; then
- etcdir="$withval"
- echo "$as_me:$LINENO: result: $withval" >&5
- echo "${ECHO_T}$withval" >&6
-- else
-- { { echo "$as_me:$LINENO: error:
--Directory $withval does not exist" >&5
--echo "$as_me: error:
--Directory $withval does not exist" >&2;}
-- { (exit 1); exit 1; }; }
-- fi
- ;;
- esac
- else
diff -Nru /usr/ports/sysutils/fcron/pkg-plist /host/pernicious.glarp.com/home/huntting/src/fcron/pkg-plist
--- /usr/ports/sysutils/fcron/pkg-plist Tue Oct 4 11:54:23 2005
+++ /host/pernicious.glarp.com/home/huntting/src/fcron/pkg-plist Thu Nov 10 01:04:26 2005
@@ -1,4 +1,3 @@
-bin/fcrondyn
bin/fcronsighup
bin/fcrontab
etc/fcron.allow.dist
------------------------------ cut here ------------------------------
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list