#!/bin/bash # # Deploy hydra suite on local node. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public # License along with this program. If not, see # . # Load source $APP_BASE/lib/hydra/functions || exit 1 hydra_config_load # Validation if [ -z "$ORIGIN" ]; then ORIGIN="git://git.sarava.org/hydra.git" fi # Set sudo config if [ "`whoami`" != 'root' ]; then sudo="sudo" fi # Deploy echo "Deploying to local node..." if ! which git &> /dev/null; then echo "Installing git..." $sudo aptitude update $sudo aptitude install git-core -y fi if [ ! -d /usr/local/hydra ]; then $sudo git clone $ORIGIN /usr/local/hydra ( cd /usr/local/hydra ; $sudo git reset --hard $COMMIT ) else ( cd /usr/local/hydra ; $sudo git pull ; $sudo git reset --hard $COMMIT ) fi # Update symlinks $sudo ln -sf /usr/local/hydra/hydra /usr/local/bin/hydra $sudo ln -sf /usr/local/hydra/hydra /usr/local/bin/hydractl $sudo ln -sf /usr/local/hydra/hydras /usr/local/bin/hydras # Remove from old location # We're keep hydra on /usr/local/bin as /usr/local/sbin might # not be available on $PATH when connecting to a remote system. $sudo rm -f /usr/local/sbin/hydra $sudo rm -f /usr/local/sbin/hydractl $sudo rm -f /usr/local/sbin/hydras