2021-03-01 21:09:33 +00:00
|
|
|
{createManagedProcess, lib, subversion, runtimeDir, forceDisableUserChange}:
|
2021-02-23 20:49:52 +00:00
|
|
|
|
|
|
|
{ instanceSuffix ? ""
|
|
|
|
, instanceName ? "svnserve${instanceSuffix}"
|
|
|
|
, port ? 3690
|
|
|
|
, svnBaseDir
|
|
|
|
, svnGroup
|
|
|
|
, postInstall ? ""
|
|
|
|
}:
|
2020-04-21 18:13:52 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
pidFile = "${runtimeDir}/${instanceName}.pid";
|
|
|
|
in
|
|
|
|
createManagedProcess {
|
|
|
|
inherit instanceName postInstall;
|
2021-03-13 14:17:53 +00:00
|
|
|
|
2020-04-21 18:13:52 +00:00
|
|
|
initialize = ''
|
|
|
|
mkdir -p ${svnBaseDir}
|
2021-03-01 21:09:33 +00:00
|
|
|
${lib.optionalString (!forceDisableUserChange) ''
|
2020-04-21 18:13:52 +00:00
|
|
|
chgrp ${svnGroup} ${svnBaseDir}
|
|
|
|
''}
|
|
|
|
'';
|
|
|
|
process = "${subversion.out}/bin/svnserve";
|
2021-03-25 20:30:24 +00:00
|
|
|
args = [ "-r" svnBaseDir "--listen-port" port "--daemon" ];
|
|
|
|
foregroundProcessExtraArgs = ["--foreground" ];
|
|
|
|
daemonExtraArgs = [ "--pid-file" pidFile ];
|
2020-04-21 18:13:52 +00:00
|
|
|
|
|
|
|
overrides = {
|
2023-11-25 17:22:02 +00:00
|
|
|
synit = {
|
|
|
|
depends-on = [ "<service-state <milestone network> up>>" ];
|
|
|
|
};
|
2020-04-21 18:13:52 +00:00
|
|
|
sysvinit = {
|
|
|
|
runlevels = [ 3 4 5 ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|