#!/bin/sh

fstabfile="/etc/fstab"

. alterator-sh-functions

write_home()
{
    mountpoint -q /home && umount /home >&2
    sed -r '\,^[[:space:]]*[^[:space:]]+[[:space:]]+/home[[:space:]], d' -i "$fstabfile"
    printf '%s /home nfs rw 0 0\n' "$1" >>"$fstabfile"
    service portmap start >/dev/null
    service nfslock start >/dev/null
    modprobe nfs
    mount /home >&2
}

on_message()
{
	case "$in_action" in
		list)
			echo '('
			printf '("%s" label "%s")\n' "nfs" "NFS (Network file system)"
			echo ')'
			;;
		write)
		    case "$in_type" in
			nfs)
			    [ -n "$in_location" ] && write_home "$in_location"
			    write_nop
			    ;;
			*)
			    write_error "Unknown storage type"
			    ;;
		    esac
			;;
		*)
			echo '#f'
			;;
	esac
}

message_loop
