Peter Matulis wrote:
Le Samedi 27 Janvier 2007 18:34, Derek Ragona a écrit :
change the line:
. "%%RC_SUBR%%"

to:
. "/etc/rc.subr"

         -Derek

At 05:05 PM 1/27/2007, Peter Matulis wrote:
Le Samedi 27 Janvier 2007 16:36, Derek Ragona a écrit :
add set -x to the startup script and debug where that error
message is coming from.

         -Derek

At 02:55 PM 1/27/2007, Peter Matulis wrote:
Hi gang,

I have read quite a few articles on how to start vsftpd at
system bootup but nothing seems to work on my new and updated
6.2 STABLE machine.

I have copied /usr/ports/ftp/vsftpd/files/vsftpd.sh.in
to /usr/local/etc/rc.d/vsftpd.sh and it is executable.

In /etc/rc.conf I am placing:

vsftpd_enable="YES"

and in vsftpd.conf:

listen=YES
background=YES

I can't see the error when my machine boots but when I attempt
to run the rc.d script manually I get:

.: Can't open %%RC_SUBR%%: No such file or directory

I can start the daemon at the command line:

/usr/local/libexec/vsftpd &

I installed the port sysutils/rc_subr thinking it may help but
it does not.  I also reinstalled vsftpd with the make option
RC_NG but it doesn't seem to do anything (isn't it supposed to
install the rc.d script?).
The shell tries to parse this line:

. "%%RC_SUBR%%"

I have no idea what it is trying to source.

Here is the entire script:
--------------------------------------------

#!/bin/sh
#
# $FreeBSD: ports/ftp/vsftpd/files/vsftpd.sh.in,v 1.7 2006/02/20
20:47:01 dougb Exp $
#

# PROVIDE: vsftpd
# REQUIRE: DAEMON

# Add the following line to /etc/rc.conf to enable `vsftpd':
#
# vsftpd_enable="YES"
# vsftpd_flags="/some/path/conf.file" # Not required
#

. "%%RC_SUBR%%"

name="vsftpd"
rcvar=`set_rcvar`

load_rc_config "$name"

: ${vsftpd_enable:="NO"}
: ${vsftpd_flags:=""}

command="%%PREFIX%%/libexec/$name"
required_files="%%PREFIX%%/etc/$name.conf"
start_precmd="vsftpd_check"

vsftpd_check()
{
        if grep -q "^ftp[       ]" /etc/inetd.conf
${required_files} then
                err 1 "ftp is already activated in /etc/inetd.conf"
        fi
        if ! egrep -q -i -E "^listen.*=.*YES$" ${required_files}
        then
                err 1 "vsftpd script need "listen=YES" on config
file" fi
        if ! egrep -q -i -E "^background.*=.*YES$"
${required_files} then
                err 1 "vsftpd script need "background=YES" on
config file"
        fi
}

run_rc_command "$1"

It seems the funny %% variables cannot be understood. I had to hard code the paths:

#. "%%RC_SUBR%%"
. "/etc/rc.subr"

name="vsftpd"
rcvar=`set_rcvar`

load_rc_config "$name"
: ${vsftpd_enable:="NO"}
: ${vsftpd_flags:=""}

#command="%%PREFIX%%/libexec/$name"
command="/usr/local/libexec/$name"
#required_files="%%PREFIX%%/etc/$name.conf"
required_files="/usr/local/etc/$name.conf"

Then it worked. I'm ok with this but it leaves me wondering why I have to do this. Thanks for your time.

You should not have had to copy that file from the ports dir. The %%RC_SUBR%% is normally replaced with the appropriate path during 'make install'. I've seen this happen when a port fails to finish the install due to errors. Unfortunately most how-to web pages say to run

make;make install;make clean

This doesn't allow you any time to see if any errors occurred or to see any messages the port maintainer presents to you after install.

Are you certain your port installed without errors? I would try running 'make deinstall;make clean;make install' and then see if the port properly installs the startup script with the vars expanded for you, or if an error pops up.

DAve

--
Three years now I've asked Google why they don't have a
logo change for Memorial Day. Why do they choose to do logos
for other non-international holidays, but nothing for
Veterans?

Maybe they forgot who made that choice possible.
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to