diff --git a/pkgs/servers/network-script/builder.sh b/pkgs/servers/network-script/builder.sh index 3b7f2de8685..466644fe486 100644 --- a/pkgs/servers/network-script/builder.sh +++ b/pkgs/servers/network-script/builder.sh @@ -4,7 +4,8 @@ ensureDir $out sed -e "s^@bash\@^$bash^g" \ -e "s^@dhcp\@^$dhcp^g" \ + -e "s^@initscripts\@^$initscripts^g" \ -e "s^@nettools\@^$nettools^g" \ - < $script > $out/$nicename + < $script > $out/control -chmod +x $out/$nicename +chmod +x $out/control diff --git a/pkgs/servers/network-script/default.nix b/pkgs/servers/network-script/default.nix index 107cb173827..fa85bd3b220 100644 --- a/pkgs/servers/network-script/default.nix +++ b/pkgs/servers/network-script/default.nix @@ -1,10 +1,10 @@ -{stdenv, bash, nettools, dhcp, key ? null}: +{stdenv, bash, nettools, dhcp, key ? null, initscripts}: stdenv.mkDerivation { name = "network-script-0.0.1"; server = "network"; nicename = "networking"; builder = ./builder.sh ; - inherit bash nettools dhcp; + inherit bash nettools dhcp initscripts; script = [./network]; } diff --git a/pkgs/servers/network-script/network b/pkgs/servers/network-script/network index 0536d4ef035..8319e8e45fc 100755 --- a/pkgs/servers/network-script/network +++ b/pkgs/servers/network-script/network @@ -8,7 +8,7 @@ # processname: sshd # source function library -#. @initscripts@/etc/rc.d/init.d/functions +source @initscripts@/functions # pull in sysconfig settings #[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd @@ -16,14 +16,14 @@ RETVAL=0 prog="network" -start() +startService() { # just do networking echo -n $"Starting $prog:" @dhcp@/sbin/dhclient } -stop() +stopService() { echo -n $"Stopping $prog:" } @@ -49,10 +49,13 @@ case "$1" in reload ;; status) - echo "all OK" + status + ;; + name) + name ;; *) - echo $"Usage: $0 {start|stop|restart|reload|status}" + echo $"Usage: $0 {start|stop|restart|reload|status|name}" RETVAL=1 esac exit $RETVAL diff --git a/pkgs/servers/server-scripts/generic/functions b/pkgs/servers/server-scripts/generic/functions index 6e7bd2785fb..3fac760b9e0 100644 --- a/pkgs/servers/server-scripts/generic/functions +++ b/pkgs/servers/server-scripts/generic/functions @@ -14,11 +14,14 @@ NIXPKGS=@nixpkgs@ start_deps() { for i in $deps; do name=`$i/control name` - if ! test -a $RCDIR/$name; then - echo "blaat" + + if ! test -a "$RCDIR/$name"; then + echo $RCDIR/$name $i + @nix@/bin/nix-env -p $RCDIR/$name -i $i fi $i/control start + RETVAL=$? if test $RETVAL != 0; then exit $RETVAL @@ -38,7 +41,6 @@ start_softdeps() { $i/control start - #$i start RETVAL=$? if test $RETVAL != 0; then continue @@ -54,7 +56,7 @@ start() { fi # if not, continue # launch all hard dependencies - #start_deps + start_deps # launch all preferred dependencies echo "softdeps" $softdeps start_softdeps diff --git a/pkgs/servers/ssh-script/builder.sh b/pkgs/servers/ssh-script/builder.sh index 0450c96322e..031438d5492 100644 --- a/pkgs/servers/ssh-script/builder.sh +++ b/pkgs/servers/ssh-script/builder.sh @@ -7,6 +7,7 @@ sed -e "s^@bash\@^$bash^g" \ -e "s^@initscripts\@^$initscripts^g" \ -e "s^@coreutils\@^$coreutils^g" \ -e "s^@softdeps\@^$softdeps^g" \ + -e "s^@deps\@^$deps^g" \ < $script > $out/control chmod +x $out/control diff --git a/pkgs/servers/ssh-script/sshd b/pkgs/servers/ssh-script/sshd index eb2e3a2e720..ccce294e10c 100755 --- a/pkgs/servers/ssh-script/sshd +++ b/pkgs/servers/ssh-script/sshd @@ -22,6 +22,7 @@ RETVAL=0 prog="sshd" softdeps="@softdeps@" +deps="@deps@" # Some functions to make the below more readable KEYGEN=@sshd@/bin/ssh-keygen