mirror of https://framagit.org/kyodev/kyopages.git
getFlashPlayer 4.7.0
This commit is contained in:
parent
95f38e611f
commit
4c891d523a
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=4.6.0
|
||||
version=4.7.0
|
||||
date="26/01/2018"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
|
@ -96,43 +96,50 @@ f__log(){ # 4/12/2017
|
|||
fi
|
||||
}
|
||||
|
||||
# test dépendances/paquets, $1 liste commande[>paquet] (ex: killall>psmisc)
|
||||
# si manque, return 1 & info commandes manquantes, si debian proposition paquet à installer
|
||||
# si $2=debOnly et si paquets manquants: return 1 et $debOnlyAbsent ( $1=liste paquets )
|
||||
# si $2=debOnly et si paquets présent: return 0 et $debOnlyPresent ( $1=liste paquets )
|
||||
# attention priorité $debOnlyAbsent sur $debOnlyPresent
|
||||
f__requis(){ # 4/12/2017
|
||||
local dependsMissing packagesMissing command package ireq compteur pluriel
|
||||
# recherche commandes/paquets, $1 liste: cmd1|cmd2[>paquet] (séparées par espaces) ex: "gawk|mawk>gawk wget"
|
||||
# si manque, return 1 & affiche commandes manquantes (si debian, ajout proposition paquet à installer)
|
||||
f__requis(){ # 26/01/2018
|
||||
local ENV_DEBIAN ireq table package commands command commandsMissing packagesMissing
|
||||
|
||||
unset debOnlyAbsent debOnlyPresent
|
||||
for ireq in $1; do
|
||||
command="$(cut -d '>' -f 1 <<< $ireq)"
|
||||
package="$(cut -d '>' -f 2 <<< $ireq)"
|
||||
if [ "$2" == "debOnly" ]; then
|
||||
if type -p "dpkg" &>/dev/null ; then # package only et debian
|
||||
LC_ALL=C dpkg --get-selections | grep -qE "^$package[[:space:]]+install" \
|
||||
&& debOnlyPresent+="$package " || debOnlyAbsent+="$package "
|
||||
type -p "dpkg" &>/dev/null && ENV_DEBIAN="oui" # debian
|
||||
type -t f__info &>/dev/null && c_echo="f__info" || c_echo="echo -e" # f__info existe? sinon echo
|
||||
|
||||
for ireq in $1; do # pour tous les composants de la liste $1
|
||||
table=( ${ireq//>/ } ) # séparation sur >, split avec double bashisme, mais évite manip $IFS
|
||||
|
||||
commands=( ${table[0]//|/ } ) # séparation sur |
|
||||
if [ ${table[1]} ]; then
|
||||
package=${table[1]}
|
||||
else
|
||||
package="$commands" # pas de oackages dans les options, donc idem commands[0]
|
||||
fi
|
||||
|
||||
for command in ${commands[@]}; do # pour toutes les commandes
|
||||
if type -p "$command" &>/dev/null ; then
|
||||
unset commandsMissing packagesMissing
|
||||
break
|
||||
else # inexistant
|
||||
commandsMissing+="$command "
|
||||
packagesMissing+="$package "
|
||||
fi
|
||||
elif ! type -p "$command" &>/dev/null ; then
|
||||
dependsMissing+="$command "
|
||||
packagesMissing+="$package "
|
||||
fi
|
||||
done
|
||||
done
|
||||
[ "$debOnlyAbsent" ] && debOnlyAbsent="$(xargs <<< $debOnlyAbsent)" # trim début & fin
|
||||
[ "$debOnlyPresent" ] && debOnlyPresent="$(xargs <<< $debOnlyPresent)" # trim début & fin
|
||||
[ "$debOnlyAbsent" ] && return 1
|
||||
[ "$debOnlyPresent" ] && return 0
|
||||
if [ "$dependsMissing" ]; then
|
||||
compteur="$(wc -w <<< $dependsMissing)"
|
||||
[ "$compteur" -gt "1" ] && pluriel="s" || unset pluriel
|
||||
if [ -e /etc/debian_version ]; then
|
||||
f__info "$RED""erreur critique: $compteur paquet"$pluriel" manquant"$pluriel": $STD$BOLD$dependsMissing" \
|
||||
"\n vous devriez exécuter:$GREEN apt install $packagesMissing"
|
||||
else
|
||||
f__info "$RED""erreur critique: $compteur commande"$pluriel" manquante"$pluriel": $STD$BOLD$dependsMissing"
|
||||
fi
|
||||
return 1
|
||||
|
||||
# dédoublonnage & triage
|
||||
commandsMissing=$( echo $commandsMissing | tr ' ' '\n' | sort --unique | tr '\n' ' ' )
|
||||
packagesMissing=$( echo $packagesMissing | tr ' ' '\n' | sort --unique | tr '\n' ' ' )
|
||||
# suppression éventuel espace final
|
||||
commandsMissing=${commandsMissing% }
|
||||
packagesMissing=${packagesMissing% }
|
||||
# affichage final
|
||||
if [ "$commandsMissing" ] && [ "$ENV_DEBIAN" ]; then
|
||||
$c_echo "$RED""erreur critique, manquant: $STD$BOLD$commandsMissing" \
|
||||
"vous devriez exécuter:$GREEN apt install $packagesMissing"
|
||||
elif [ "$commandsMissing" ]; then
|
||||
$c_echo "$RED""erreur critique, manquant: $STD$BOLD$commandsMissing"
|
||||
fi
|
||||
|
||||
[ "$commandsMissing" ] && return 1 || return 0
|
||||
}
|
||||
|
||||
# $@=cmd à lancer en root avec su ou sudo. si $@ contient :x: x=nombre de tentatives, sinon 2 tentatives par défaut
|
||||
|
|
|
@ -6,7 +6,7 @@ todo:
|
|||
|
||||
* révision: fflash_install, changement nom archive
|
||||
|
||||
## getFlashPlayer 4.6.0 26/01/2018
|
||||
## getFlashPlayer 4.7.0 26/01/2018
|
||||
|
||||
* révision: mineur, fscript_cronAnacron fscript_install fscript_remove fscript_update
|
||||
* révision: f__requis
|
||||
|
|
Loading…
Reference in New Issue