mirror of https://framagit.org/kyodev/kyopages.git
2.0.1
This commit is contained in:
parent
cce833b463
commit
45c4b108cc
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=2.0.0
|
||||
version=2.0.1
|
||||
date="16/08/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
|
||||
|
@ -81,24 +81,31 @@ f__user(){ # v15/08/2017-4
|
|||
fi
|
||||
}
|
||||
|
||||
# test dépendances/paquets, $1 liste commandes, $2=debOnly et return 1 si paquet présent et liste debOnlyPackages
|
||||
# si manquant avertissement des commandes manquantes
|
||||
# si manquant et debian, proposition paquet à installer (syntaxe appel: commande>paquet, ex: killall>psmisc)
|
||||
f__requis(){ # v16/08/2017
|
||||
# test dépendances/paquets, $1 liste commande[>paquet] (ex: killall>psmisc)
|
||||
# si manque, info commandes manquantes, si debian, proposition paquet à installer et SORTIE
|
||||
# si $2=debOnly et si paquets manquants: return 1 et $debOnlyPackages ( $1=liste paquets )
|
||||
# si $2=debOnly et si paquets présent: return 0 et $debOnlyPresents ( $1=liste paquets )
|
||||
# attention priorité $debOnlyPackages sur $debOnlyPresents
|
||||
f__requis(){ # v16/08/2017-3
|
||||
local dependsMissing packagesMissing
|
||||
unset debOnlyPackages debOnlyPresents
|
||||
for i in $1; do
|
||||
local command=$(cut -d '>' -f 1 <<< $i)
|
||||
local package=$(cut -d '>' -f 2 <<< $i)
|
||||
if [ "$2" == "debOnly" ] && [ "$(which dpkg)" ]; then # package only et debian
|
||||
LC_ALL=C dpkg --get-selections | grep '[[:space:]]install' | grep -q "^$package[[:space:]]" && \
|
||||
debOnlyPackages+="$package "
|
||||
fi
|
||||
if [ -z "$(which $command)" ]; then
|
||||
if [ "$2" == "debOnly" ]; then
|
||||
if [ "$(which dpkg)" ]; then # package only et debian
|
||||
LC_ALL=C dpkg --get-selections | grep -qE "^$package[[:space:]]+install" \
|
||||
&& debOnlyPresents+="$package " || debOnlyPackages+="$package "
|
||||
else f__error "dpkg n'est pas disponible sur ce système"; fi
|
||||
elif [ -z "$(which $command)" ]; then
|
||||
dependsMissing+="$command "
|
||||
packagesMissing+="$package "
|
||||
fi
|
||||
done
|
||||
[ "$debOnlyPackages" ] && return 1 || return 0
|
||||
[ "$debOnlyPackages" ] && debOnlyPackages=$(xargs <<< $debOnlyPackages) # trim début & fin
|
||||
[ "$debOnlyPresents" ] && debOnlyPresents=$(xargs <<< $debOnlyPresents) # trim début & fin
|
||||
[ "$debOnlyPackages" ] && return 1
|
||||
[ "$debOnlyPresents" ] && return 0
|
||||
if [ "$dependsMissing" ]; then
|
||||
if [ -e /etc/debian_version ]; then f__error "paquet(s) manquant(s): " " $dependsMissing" \
|
||||
" vous devriez exécuter:$GREEN apt install $packagesMissing"
|
||||
|
@ -130,20 +137,20 @@ f__log(){
|
|||
}
|
||||
|
||||
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si upgrade($opType)
|
||||
f__error() {
|
||||
echo -e "\n$RED Erreur critique: $1 $COLOR"
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
f__error() { # v 16/08/2017
|
||||
echo -e "\n$RED Erreur critique: $1 $COLOR"
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
echo "$COLOR"
|
||||
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
# affichage des paramètres en bleu, ligne vide à la fin, si $1=raw, pas d'espace en début de ligne, pas de ligne vide à la fin
|
||||
f__info() {
|
||||
# affichage des paramètres en bleu, si $1=raw, pas d'espace en début de ligne, pas de ligne vide à la fin
|
||||
f__info() { # v16/08/2017
|
||||
if [ "$1" == "raw" ]; then depart=2;
|
||||
else local espace=" "; local depart=1; fi
|
||||
for (( i=$depart ; i<=$# ; i++ )); do echo -e "$espace$BLUE${!i}"; done
|
||||
[ "$1" == raw ] && printf "" || echo "$COLOR"
|
||||
[ "$1" == raw ] && printf "$COLOR" || echo "$COLOR"
|
||||
}
|
||||
|
||||
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
|
||||
|
@ -209,12 +216,13 @@ fscript_get_version(){
|
|||
|
||||
# installation du script dans le système
|
||||
fscript_install(){
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
|
||||
[ -e "/var/log/sdeb_getFF.log" ] && mv "/var/log/sdeb_getFF.log" "$fileLogs" # changement ancien logs
|
||||
f__requis "firefox-esr firefox" "debOnly" || \
|
||||
f__info "paquet(s) installé(s) $debOnlyPackages" \
|
||||
if f__requis "firefox-esr firefox" "debOnly" && [ "$debOnlyPresents" ]; then
|
||||
f__info "paquet(s) installé(s) $debOnlyPresents" \
|
||||
"\n à moins d'être certain, vous devriez peut-être le désinstaller:$RED apt remove firefox* $COLOR" \
|
||||
"\n Sur Gnome, attention, consulter:$GREEN https://kyodev.frama.io/kyopages/scripts/getFirefox/#gnome $COLOR"
|
||||
fi
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
|
||||
# install /opt
|
||||
mkdir -p /opt/bin/
|
||||
cp -d "$(basename $0)" "/opt/bin/$script"
|
||||
|
|
Loading…
Reference in New Issue