lol

softether module: fix dataDir option

gnidorah fbeb3299 f1dfc221

+22 -23
+16 -17
nixos/modules/services/networking/softether.nix
··· 5 let 6 cfg = config.services.softether; 7 8 in 9 { 10 ··· 49 50 dataDir = mkOption { 51 type = types.string; 52 - default = "${cfg.package.dataDir}"; 53 description = '' 54 Data directory for SoftEther VPN. 55 ''; ··· 64 config = mkIf cfg.enable ( 65 66 mkMerge [{ 67 - environment.systemPackages = [ 68 - (pkgs.lib.overrideDerivation cfg.package (attrs: { 69 - dataDir = cfg.dataDir; 70 - })) 71 - ]; 72 systemd.services."softether-init" = { 73 description = "SoftEther VPN services initial task"; 74 wantedBy = [ "network.target" ]; ··· 80 for d in vpnserver vpnbridge vpnclient vpncmd; do 81 if ! test -e ${cfg.dataDir}/$d; then 82 ${pkgs.coreutils}/bin/mkdir -m0700 -p ${cfg.dataDir}/$d 83 - install -m0600 ${cfg.package}${cfg.dataDir}/$d/hamcore.se2 ${cfg.dataDir}/$d/hamcore.se2 84 fi 85 done 86 rm -rf ${cfg.dataDir}/vpncmd/vpncmd 87 - ln -s ${cfg.package}${cfg.dataDir}/vpncmd/vpncmd ${cfg.dataDir}/vpncmd/vpncmd 88 ''; 89 }; 90 } ··· 97 wantedBy = [ "network.target" ]; 98 serviceConfig = { 99 Type = "forking"; 100 - ExecStart = "${cfg.package}/bin/vpnserver start"; 101 - ExecStop = "${cfg.package}/bin/vpnserver stop"; 102 }; 103 preStart = '' 104 rm -rf ${cfg.dataDir}/vpnserver/vpnserver 105 - ln -s ${cfg.package}${cfg.dataDir}/vpnserver/vpnserver ${cfg.dataDir}/vpnserver/vpnserver 106 ''; 107 postStop = '' 108 rm -rf ${cfg.dataDir}/vpnserver/vpnserver ··· 118 wantedBy = [ "network.target" ]; 119 serviceConfig = { 120 Type = "forking"; 121 - ExecStart = "${cfg.package}/bin/vpnbridge start"; 122 - ExecStop = "${cfg.package}/bin/vpnbridge stop"; 123 }; 124 preStart = '' 125 rm -rf ${cfg.dataDir}/vpnbridge/vpnbridge 126 - ln -s ${cfg.package}${cfg.dataDir}/vpnbridge/vpnbridge ${cfg.dataDir}/vpnbridge/vpnbridge 127 ''; 128 postStop = '' 129 rm -rf ${cfg.dataDir}/vpnbridge/vpnbridge ··· 139 wantedBy = [ "network.target" ]; 140 serviceConfig = { 141 Type = "forking"; 142 - ExecStart = "${cfg.package}/bin/vpnclient start"; 143 - ExecStop = "${cfg.package}/bin/vpnclient stop"; 144 }; 145 preStart = '' 146 rm -rf ${cfg.dataDir}/vpnclient/vpnclient 147 - ln -s ${cfg.package}${cfg.dataDir}/vpnclient/vpnclient ${cfg.dataDir}/vpnclient/vpnclient 148 ''; 149 postStart = '' 150 sleep 1
··· 5 let 6 cfg = config.services.softether; 7 8 + package = cfg.package.override { dataDir = cfg.dataDir; }; 9 + 10 in 11 { 12 ··· 51 52 dataDir = mkOption { 53 type = types.string; 54 + default = "/var/lib/softether"; 55 description = '' 56 Data directory for SoftEther VPN. 57 ''; ··· 66 config = mkIf cfg.enable ( 67 68 mkMerge [{ 69 + environment.systemPackages = [ package ]; 70 + 71 systemd.services."softether-init" = { 72 description = "SoftEther VPN services initial task"; 73 wantedBy = [ "network.target" ]; ··· 79 for d in vpnserver vpnbridge vpnclient vpncmd; do 80 if ! test -e ${cfg.dataDir}/$d; then 81 ${pkgs.coreutils}/bin/mkdir -m0700 -p ${cfg.dataDir}/$d 82 + install -m0600 ${package}${cfg.dataDir}/$d/hamcore.se2 ${cfg.dataDir}/$d/hamcore.se2 83 fi 84 done 85 rm -rf ${cfg.dataDir}/vpncmd/vpncmd 86 + ln -s ${package}${cfg.dataDir}/vpncmd/vpncmd ${cfg.dataDir}/vpncmd/vpncmd 87 ''; 88 }; 89 } ··· 96 wantedBy = [ "network.target" ]; 97 serviceConfig = { 98 Type = "forking"; 99 + ExecStart = "${package}/bin/vpnserver start"; 100 + ExecStop = "${package}/bin/vpnserver stop"; 101 }; 102 preStart = '' 103 rm -rf ${cfg.dataDir}/vpnserver/vpnserver 104 + ln -s ${package}${cfg.dataDir}/vpnserver/vpnserver ${cfg.dataDir}/vpnserver/vpnserver 105 ''; 106 postStop = '' 107 rm -rf ${cfg.dataDir}/vpnserver/vpnserver ··· 117 wantedBy = [ "network.target" ]; 118 serviceConfig = { 119 Type = "forking"; 120 + ExecStart = "${package}/bin/vpnbridge start"; 121 + ExecStop = "${package}/bin/vpnbridge stop"; 122 }; 123 preStart = '' 124 rm -rf ${cfg.dataDir}/vpnbridge/vpnbridge 125 + ln -s ${package}${cfg.dataDir}/vpnbridge/vpnbridge ${cfg.dataDir}/vpnbridge/vpnbridge 126 ''; 127 postStop = '' 128 rm -rf ${cfg.dataDir}/vpnbridge/vpnbridge ··· 138 wantedBy = [ "network.target" ]; 139 serviceConfig = { 140 Type = "forking"; 141 + ExecStart = "${package}/bin/vpnclient start"; 142 + ExecStop = "${package}/bin/vpnclient stop"; 143 }; 144 preStart = '' 145 rm -rf ${cfg.dataDir}/vpnclient/vpnclient 146 + ln -s ${package}${cfg.dataDir}/vpnclient/vpnclient ${cfg.dataDir}/vpnclient/vpnclient 147 ''; 148 postStart = '' 149 sleep 1
+2 -2
pkgs/servers/softether/4.18.nix
··· 1 { stdenv, fetchurl 2 - , openssl, readline, ncurses, zlib }: 3 4 let 5 os = if stdenv.isLinux then "1" ··· 17 version = "4.18"; 18 build = "9570"; 19 compiledDate = "2015.07.26"; 20 - dataDir = "/var/lib/softether"; 21 22 src = fetchurl { 23 url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
··· 1 { stdenv, fetchurl 2 + , openssl, readline, ncurses, zlib 3 + , dataDir ? "/var/lib/softether" }: 4 5 let 6 os = if stdenv.isLinux then "1" ··· 18 version = "4.18"; 19 build = "9570"; 20 compiledDate = "2015.07.26"; 21 22 src = fetchurl { 23 url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
+2 -2
pkgs/servers/softether/4.20.nix
··· 1 { stdenv, fetchurl 2 - , openssl, readline, ncurses, zlib }: 3 4 let 5 os = if stdenv.isLinux then "1" ··· 17 version = "4.20"; 18 build = "9608"; 19 compiledDate = "2016.04.17"; 20 - dataDir = "/var/lib/softether"; 21 22 src = fetchurl { 23 url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
··· 1 { stdenv, fetchurl 2 + , openssl, readline, ncurses, zlib 3 + , dataDir ? "/var/lib/softether" }: 4 5 let 6 os = if stdenv.isLinux then "1" ··· 18 version = "4.20"; 19 build = "9608"; 20 compiledDate = "2016.04.17"; 21 22 src = fetchurl { 23 url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
+2 -2
pkgs/servers/softether/4.25.nix
··· 1 { stdenv, fetchurl 2 - , openssl, readline, ncurses, zlib }: 3 4 let 5 os = if stdenv.isLinux then "1" ··· 17 version = "4.25"; 18 build = "9656"; 19 compiledDate = "2018.01.15"; 20 - dataDir = "/var/lib/softether"; 21 22 src = fetchurl { 23 url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
··· 1 { stdenv, fetchurl 2 + , openssl, readline, ncurses, zlib 3 + , dataDir ? "/var/lib/softether" }: 4 5 let 6 os = if stdenv.isLinux then "1" ··· 18 version = "4.25"; 19 build = "9656"; 20 compiledDate = "2018.01.15"; 21 22 src = fetchurl { 23 url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";