There should be a svnserve init script for people who choose not to use the Apache2 interface. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 26551 [details] Initscript for svnserve This is an example initscript. svnserve seems a little odd in not writing its own pidfile, so in this initscript I'm doing some weird stuff in start() to get it to register properly. If there's a better way, feel free to fix it. There will also be an /etc/conf.d file.
Created attachment 26552 [details] conf.d file to go with the init script conf.d file to supply svnserve arguments
I've added a bit more to the initial scripts so that the pid location is adjustable (makes it easier if you want to run multiple daemons) and so that the daemon can run as non-root.
Created attachment 26660 [details] modified initscript for svnserve The pid file location and the user/group that svnserver runs under are now adjustable in the conf.d file.
Created attachment 26661 [details] modified conf.d config file Three new variables: 1) pidfile location, 2) user for the daemon, 3) group for the daemon. I also set a default "--listen-host=localhost" to make the daemon more secure if run unmodified.
Created attachment 27429 [details] xinetd.d conf file for svnserve xinetd config file for svnserve. Disabled by default.
Fixed in 1.1.1-r2 Notes: - I kept Joby's changes wrt user and group setting in conf.d/svnserve, but changed the defaults to apache:apache since that's what the subversion ebuild defaults to using. - I removed the pidfile setting since you can't start an init-script more than once anyway. If you want to run multiple servers via init-scripts, you'll have to make a copy of the init-script, and at that point you're on your own. - I changed the xinetd snippet to run the server as apache:apache and log to syslog instead of a custom file.
Should parts of this be revisited? It seems wrong to me to create an xinetd,d directory without requiring (or even checking for) xinetd to be installed. I would suggest adding the xinetd use flag, and then testing for it. I think I could even come up with a patch that does that.
Created attachment 192124 [details, diff] patch for proper xinetd support
See also https://github.com/gentoo/gentoo/pull/14956