You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
1.4 KiB

#!/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