This commit is contained in:
kyodev 2017-08-27 09:54:03 +02:00
parent 0b8a43877d
commit 798ef7c106
1 changed files with 36 additions and 34 deletions

View File

@ -1,14 +1,13 @@
#!/bin/bash
version=3.5.0
date="25/08/2017"
version=3.6.0
date="27/08/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getFlashPlayer"
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer"
urlNotice="https://kyodev.frama.io/kyopages/scripts/getFlashPlayer/"
user_agent="Mozilla/5.0 Firefox"
lognameDev="kyodev"
##### license LPRAB/WTFPL
# auteur: simpledeb
@ -221,7 +220,7 @@ echo -e " plus d'infos:$GREEN https://kyodev.frama.io/kyopages/scripts/getFlash
}
# install plugin dans config user mozilla, $1 manuel (install manuelle), $2 script à installer si install manuelle
fflash_install(){
fflash_install(){ #v27/08/2017
[ "$opType" == "upgrade" ] || fflash_avertissement
if [ "$1" == "manuel" ]; then
f__info "installation manuelle de $2"
@ -251,15 +250,15 @@ fflash_install(){
rm -Rf "$dirTemp"
# droits user si jamais installation par root
chown -R "$user_": "$dirInstall"
f__info "log" "FlashPlayer $verFlash installé pour $user_" "\tPour tester: http://get.adobe.com/flashplayer/about/"
f__info "log" "FlashPlayer $verFlash installé pour $user_" "\tPour tester$YELLOW: http://get.adobe.com/flashplayer/about/"
}
# installation du plugin chargé manuellement, $1
fflash_install_manuel(){
fflash_install_manuel(){ # v16/08/2017
[ -e "$1" ] || f__error "fichier plugin $1 introuvable"
f__archive_test "$1" || f__error "Le fichier $1 n'est pas une archive valide"
fflash_install "manuel" "$1"
[ "$user_" != "$lognameDev" ] && rm "$1" &>/dev/null # si user pas dev, effacement archive
[ -e "$fileDev" ] || rm "$1" &>/dev/null ## on efface pas si fileDev (dev)
}
# calcul url téléchargement plugin, assigne $recup_url,
@ -282,7 +281,7 @@ fflash_remove(){
}
# test et mise à jour plugin si plugin outdated
fflash_upgrade(){ #24/08/2017
fflash_upgrade(){ #v24/08/2017
fflash_get_version
if [ "$plugin_aJour" == "ko" ]; then
fflash_install
@ -290,7 +289,7 @@ fflash_upgrade(){ #24/08/2017
}
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
fscript_cronAnacron(){ # v23/08/2017
fscript_cronAnacron(){ # v27/08/2017
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
local dirAnacron="/home/$user_/.config/anacron"
local dirSpool="$dirAnacron/spool"
@ -302,8 +301,8 @@ fscript_cronAnacron(){ # v23/08/2017
# table anacron
echo "7 10 $script nice /opt/bin/$script --upgrade 1>/dev/null" > "$fileAnacron" # juste erreurs en syslog
## anacron journalier pour dev logname
if [ "$user_" == "$lognameDev" ]; then
echo "1 00 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron" # juste erreurs en syslog
if [ -e "$fileDev" ]; then
echo "1 00 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron"
fi
# création spool anacron utilisateur
mkdir -p "$dirSpool"
@ -331,7 +330,7 @@ fscript_cronAnacron_special(){ # v19/08/2017
}
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
fscript_get_version(){ # v25/08/2017
fscript_get_version(){ # v27/08/2017
f__requis "wget"
f__info "raw" "$GREEN""version script en cours: $version"
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
@ -347,10 +346,10 @@ fscript_get_version(){ # v25/08/2017
}
# installation du script dans le système
fscript_install(){ # v25/08/2017
fscript_install(){ # v27/08/2017
[ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel
if dirname "$0" | grep -q 'bin' ; then
f__info "\n $script $version est déjà installé"
f__info "$RED""$script $version est déjà installé"
return 1
fi
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
@ -366,18 +365,20 @@ fscript_install(){ # v25/08/2017
touch "$fileLogs"
chmod 644 "$fileLogs"
chown "$user_": "$fileLogs" "/opt/bin/$script"
[ -e "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
}
# spécifique script
fscript_install_special(){ # v25/08/2017
[ -e "/var/log/sdeb_getFlash.log" ] && mv "/var/log/sdeb_getFlash.log" "$fileLogs" # changement ancien logs
f__requis "flashplugin-nonfree" && apt-get purge flashplugin-nonfree
if f__requis "flashplugin-nonfree" "debOnly" && [ "$debOnlyPresents" ]; then
apt-get purge flashplugin-nonfree
fi
}
# suppression du script dans le système
fscript_remove(){ # v21/08/2017
fscript_remove(){ # v27/08/2017
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système"
# suppression de /opt
rm /opt/bin/"$script" &>/dev/null
@ -388,7 +389,7 @@ fscript_remove(){ # v21/08/2017
}
# mise à jour script si dispo
fscript_update(){ # v25/08/2017-2
fscript_update(){ # v26/08/2017
fscript_get_version
if [ "$script_aJour" == "ok" ]; then
f__info "log" "pas de mise à jour disponible pour $script"
@ -414,45 +415,46 @@ f__user || f__error "échec détection user"
f__requis "file tar" # requis pour fonctionnement programme
fileLogs="/var/log/sdeb_$script.log"
fileDev="fileDev"
dirInstall="/home/$user_/.mozilla/plugins"
urlOnline="https://get.adobe.com/fr/flashplayer/" # test version & referer
[ -e "/opt/bin/$script" ] && [ "$(stat -c %G /opt/bin/$script)" == "root" ] && problemDetected+="-1" # droits inappropriés sur le script, version de dev
options="$@"
if [ "$(dirname $0)" == "." ]; then unset options # induira ascript install
elif ! grep -qE '\-u|\-\-upgrade' <<< "$options"; then
options=$@
if [ "$(dirname $0)" == "." ]; then options="-i" # script install
else
if [ ! -w "$fileLogs" ] && [ -e "$dirInstall/libflashplayer.so" ] ; then problemDetected+="-2"; fi # ancien système de logs via syslog
fi
[ "$problemDetected" ] && f__info "$RED""l'installation du script est obsolète ($problemDetected)" \
" veuillez réinstaller le script manuellement" "$GREEN voir $urlNotice""#installation-rapide-du-script"
"veuillez réinstaller le script manuellement" "$GREEN""voir $urlNotice""#installation-rapide-du-script"
for i in $options; do
case "$i" in
case $i in
install )
fflash_install
break ;; # installation plugin
exit ;; # installation plugin
manuel )
fflash_install_manuel "$2"
break ;; # installation manuelle d'un chargement
exit ;; # installation manuelle d'un chargement
remove )
fflash_remove
break ;; # désinstallation plugin
exit ;; # désinstallation plugin
upgrade )
fflash_upgrade
opType="upgrade"
break ;; # upgrade plugin si installé
fflash_upgrade
exit ;; # upgrade plugin si installé
version | versions )
fflash_get_version
fscript_get_version
break ;; # version plugin en ligne & installée
"" )
exit ;; # version plugin en ligne & installée
-i )
if ! dirname "$0" | grep -q 'bin' ; then
fscript_install
else fflash_help; fi
break ;; # installation du script dans le système
exit ;; # installation du script dans le système
-r | --remove | sysremove )
fscript_remove
break ;; # désinstallation du script
exit ;; # désinstallation du script
-u | --upgrade )
opType="upgrade"
fscript_update
@ -460,11 +462,11 @@ for i in $options; do
exit ;; # upgrade script et plugin
-v | --version )
fscript_get_version
break ;; # version du script, en ligne et exécuté
exit ;; # version du script, en ligne et exécuté
-h | --help | * )
fflash_help
fflash_avertissement
break ;; # affichage help
exit ;; # affichage help
esac
done