View Single Post
  #5   (View Single Post)  
Old 10th April 2016
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 314
Default

Quote:
Originally Posted by jggimi View Post
I'll guess that _svn does not have the authority to create files in /var/run, only root can write in that directory. If this is the problem, write your pid file where _svn has authority to write files.

You can debug an rc.subr(8) script with the -d option.
Cool, thanks! Here we go:

/etc/rc.d/svnserve
Code:
#!/bin/sh
daemon="/usr/local/bin/svnserve"
daemon_flags="-d"
daemon_user="_svn"
. /etc/rc.d/rc.subr
rc_cmd $1
$ doas /etc/rc.d/svnserve -d start
Code:
doing _rc_parse_conf
doing _rc_quirks
svnserve_flags >-r /var/svn --listen-host=minerva.bohemia.net --listen-port=3690<
doing _rc_read_runfile
doing rc_check
svnserve
doing rc_start
You must specify exactly one of -d, -i, -t or -X.
Type '/usr/local/bin/svnserve --help' for usage.
doing _rc_rm_runfile
(failed)
Hmm, trying:
Code:
#!/bin/sh
daemon="/usr/local/bin/svnserve"
daemon_flags="-d"
daemon_user="_svn"
. /etc/rc.d/rc.subr
rc_start() {
        ${rcexec} "${daemon} -d ${daemon_flags}"
}
rc_cmd $1
$ doas /etc/rc.d/svnserve -d start
Code:
doing _rc_parse_conf
doing _rc_quirks
svnserve_flags >-r /var/svn --listen-host=minerva.bohemia.net --listen-port=3690<
doing _rc_read_runfile
doing rc_check
svnserve
doing rc_start
doing _rc_write_runfile
(ok)
WTF? Ok, try this:
Code:
#!/bin/sh
daemon="/usr/local/bin/svnserve"
daemon_flags="-d"
daemon_user="_svn"
. /etc/rc.d/rc.subr
rc_start() {
        /bin/echo ${daemon_flags}
        /bin/echo ${svnserve_flags}
        ${rcexec} "${daemon} -d ${daemon_flags}"
}
rc_cmd $1
$ doas /etc/rc.d/svnserve -d start
Code:
doing _rc_parse_conf
doing _rc_quirks
svnserve_flags >-r /var/svn --listen-host=minerva.bohemia.net --listen-port=3690<
doing _rc_read_runfile
doing rc_check
svnserve
doing rc_start
-r /var/svn --listen-host=minerva.bohemia.net --listen-port=3690
-r /var/svn --listen-host=minerva.bohemia.net --listen-port=3690
doing _rc_write_runfile
(ok)
Hmm, $ man rc.d says:
Code:
daemon_flags    Additional arguments to call the daemon with.
                             These will be appended to any mandatory arguments
                             already contained in the daemon variable defined in
                             the control script.
So, maybe:
Code:
#!/bin/sh
daemon="/usr/local/bin/svnserve -d"
daemon_user="_svn"
. /etc/rc.d/rc.subr
rc_cmd $1
$ doas /etc/rc.d/svnserve -d start
Code:
doing _rc_parse_conf
doing _rc_quirks
svnserve_flags >-r /var/svn --listen-host=minerva.bohemia.net --listen-port=3690<
doing _rc_read_runfile
doing rc_check
svnserve
doing rc_start
doing _rc_write_runfile
(ok)
Disco!
Reply With Quote