#!/usr/bin/env bash set -eu OPTS="" TEST=0 synopsis() { cat << EOF Usage : `basename $0` [-h] [-f] [-t] `basename $0` list EOF } help() { cat << EOF `basename $0` : installe les logiciels nécessaires à l'utilisation de vdn. `synopsis` -h : affiche cette aide -f : force l'installation des paquets : pas de demande de confirmation. -t : test l'installation (code de retour à 1 si logiciels manquants). `basename $0` list : affiche la liste des distributions sur lesquelles VDN est porté. EOF } usage() { synopsis exit 1 } args() { local opt while getopts "hft" opt; do case $opt in h) help; exit 0;; f) OPTS="-y";; t) TEST=1;; ?) usage;; esac done shift $(($OPTIND - 1)) [ $# -ne 0 ] && usage || : } # Programme principal VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh [ $# -ge 1 ] && [ "$1" = "list" ] && { cd $VDN_PATH/distribs/hosts find . -mindepth 2 -type d | sed -re 's,^\./,,' exit } args $@ [ ! -d $VDN_PATH/distribs/hosts/$HOST_RELEASE ] && { echo "VDN n'est pas porté pour la distribution $HOST_RELEASE !" >&2 echo "Consultez les FAQ.">&2 exit 1 } source $VDN_PATH/distribs/hosts/$HOST_RELEASE/prepare.sh if [ $TEST = 1 ]; then testInstallDebian exit fi ID=$(id -u -n) [ $ID != root ] && error "Installation réservée à l'administrateur" PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" runInstall $OPTS