description "SSH Agent"
author "Stéphane Graber <stgraber@ubuntu.com>"

start on starting xsession-init

pre-start script
    [ -e /etc/X11/Xsession.options ] || { stop; exit 0; }
    grep -q "^use-ssh-agent$" /etc/X11/Xsession.options || { stop; exit 0; }
    [ -z "$SSH_AUTH_SOCK" ] || { stop; exit 0; }

    eval "$(ssh-agent -s)" >/dev/null
    initctl set-env --global SSH_AUTH_SOCK=$SSH_AUTH_SOCK
    initctl set-env --global SSH_AGENT_PID=$SSH_AGENT_PID
    initctl set-env --global SSH_AGENT_LAUNCHER=upstart
end script

post-stop script
    [ "$SSH_AGENT_LAUNCHER" = upstart ] || exit 0
    kill $SSH_AGENT_PID 2>/dev/null || true
    initctl unset-env --global SSH_AUTH_SOCK
    initctl unset-env --global SSH_AGENT_PID
    initctl unset-env --global SSH_AGENT_LAUNCHER
end script
