ports/114294: fetchmail: BEFORE LOGIN in rc script creates circular dependency

Alson van der Meulen alson at flutnet.org
Wed Jul 4 16:00:09 UTC 2007


>Number:         114294
>Category:       ports
>Synopsis:       fetchmail: BEFORE LOGIN in rc script creates circular dependency
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jul 04 16:00:08 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Alson van der Meulen <alson at flutnet.org>
>Release:        FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD eraser.waalsdorp.nl 6.2-STABLE FreeBSD 6.2-STABLE #4: Tue Jul 3 16:01:58 CEST 2007 root at eraser.waalsdorp.nl:/usr/obj/usr/src/sys/ERASER i386
fetchmail-6.3.8_1

>Description:
The fetchmail rc script contains the following dependency information:
# PROVIDE: fetchmail
# REQUIRE: mail
# BEFORE: LOGIN
# KEYWORD: shutdown

Most (all?) MTA's require LOGIN, so the BEFORE LOGIN in combination with
REQUIRE mail creates a circular dependency:
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/amavisd'.
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/clamav-clamd'.
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/clamav-freshclam'.
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/mysql-server'.
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/dcc-start'.
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/sa-spamd'.
rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/postfix'.
rcorder: Circular dependency on provision `LOGIN' in file `/etc/rc.d/sendmail'.
rcorder: Circular dependency on provision `LOGIN' in file `/etc/rc.d/othermta'.

This results in all mail-related scripts running before LOGIN (and
slapd/lookupd in my case).

>How-To-Repeat:
rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
with the fetchmail port installed

>Fix:
I don't see any reason why fetchmail should be started before LOGIN: it runs
as $fetchmail_user or $fetchmail_users, so it should require LOGIN. Changing
the dependencies to REQUIRE: mail LOGIN fixes the circular dependency. The
LOGIN dependency might be considered redundant, since mail depends on LOGIN.

Patch:
--- mail/fetchmail/files/fetchmail.in.orig	Wed Jul  4 17:32:58 2007
+++ mail/fetchmail//files/fetchmail.in	Wed Jul  4 17:33:06 2007
@@ -4,8 +4,7 @@
 #
 
 # PROVIDE: fetchmail
-# REQUIRE: mail
-# BEFORE: LOGIN
+# REQUIRE: mail LOGIN
 # KEYWORD: shutdown
 
 #
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list