This commit is contained in:
kyodev 2017-08-18 20:16:14 +02:00
parent cd22af6b59
commit 7e769247a3
2 changed files with 28 additions and 18 deletions

View File

@ -1,13 +1,14 @@
#!/bin/bash
version=3.0.5
date="17/08/2017"
version=3.0.6
date="18/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
@ -71,7 +72,7 @@ f__log(){ # v08/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 manque, SORTIE & info commandes manquantes, si debian, SORTIE & proposition paquet à installer
# 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
@ -136,20 +137,21 @@ f__wget_test(){ # v07/2017
}
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
fscript_cronAnacron(){ #v17/08/2017
fscript_cronAnacron(){ # v18/08/2017-2
rm "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" &>/dev/null # ancienne localisation éventuelle, spécifique getFlash
rm "/home/$user_/.config/anacron/spool/getFP"* &>/dev/null # ancien job, spécifique getFlash
sed -i "/libflashplayer.anacrontab/d" /etc/crontab # ancienne localisation anacrontab
local dirAnacron="/home/$user_/.config/anacron"
local dirSpool="$dirAnacron/spool"
local fileAnacron="$dirAnacron/$script.anacrontab"
sed -i "/$script.anacrontab/d" /etc/crontab
[ $EUID -eq 0 ] && sed -i "/$script.anacrontab/d" /etc/crontab
case "$1" in
install | upgrade )
mkdir -p "$dirAnacron"
# table anacron
echo "7 01 $script nice /opt/bin/$script --upgrade" > "$fileAnacron"
## test: anacron journalier: echo "1 01 $script test nice /opt/bin/$script --upgrade" >> "$fileAnacron"
## dev: anacron journalier:
[ "$user_" == "$lognameDev" ] && echo "1 01 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron"
# création spool anacron utilisateur
mkdir -p "$dirSpool"
chown -R "$user_": "$dirAnacron" "$dirSpool"
@ -167,15 +169,15 @@ fscript_cronAnacron(){ #v17/08/2017
rmdir "$dirSpool" "$dirAnacron" &>/dev/null
service cron restart &>/dev/null || /etc/init.d/cron restart &>/dev/null || f__info "redémarrer cron ou le PC"
;;
esac
esac
}
# mise à jour script si dispo
fscript_dl(){ # v17/08/2017
fscript_dl(){ # v18/08/2017
f__requis "wget"
if [ "$script_aJour" == "ok" ]; then return 0; fi
local dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
opType="upgrade"
wget -q --show-progress --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript"
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
chmod 755 "$dirTemp$script"
@ -185,12 +187,12 @@ fscript_dl(){ # v17/08/2017
fscript_cronAnacron "upgrade"
f__info "\n $script mis à jour en version $versionScript"
f__log "$script mis à jour en version $versionScript"
$0 upgrade # spécifique getFlash, script mis à jour, on relance le script en upgrade pour le plugin
exit 0
}
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko,
fscript_get_version(){ # v08/2017
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
fscript_get_version(){ # v18/08/2017
f__requis "wget"
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
if [ "$versionScript" ]; then
if [ "$version" != "$versionScript" ]; then
@ -203,13 +205,14 @@ fscript_get_version(){ # v08/2017
else f__info "version script en ligne non accessible"; fi
}
# install du script dans le système
fscript_install(){ # v08/2017
[ -e "/var/log/sdeb_getFlash.log" ] && mv "/var/log/sdeb_getFlash.log" "$fileLogs" # changement ancien logs
if f__requis "firefox-esr firefox" "debOnly" && [ "$debOnlyPresents" ]; then
apt-get purge flashplugin-nonfree
# installation du script dans le système
fscript_install(){ # v18/08/2017
if dirname "$0" | grep -q 'bin' ; then
f__info "$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"
f__requis "wget anacron cron"
# install /opt
mkdir -p /opt/bin/
cp -d "$(basename $0)" "/opt/bin/$script"
@ -378,7 +381,7 @@ fflash_upgrade(){
PATH='/usr/sbin:/usr/bin:/sbin:/bin' ; IFS=' '
f__affichage
f__user || f__error "échec détection user"
f__requis "wget file tar anacron cron" #syntaxe command>package, /!\ sortie sur erreur
f__requis "file tar" # pour fonctionnement programme
fileLogs="/var/log/sdeb_$script.log"
dirInstall="/home/$user_/.mozilla/plugins"
@ -412,6 +415,7 @@ for i in "$options"; do
;;
-r | --remove | sysremove ) fscript_remove ;; # désinstallation du script
-u | --upgrade ) # upgrade script et plugin
opType="upgrade"
fscript_get_version
fscript_dl
fflash_upgrade

View File

@ -2,6 +2,12 @@
## todo
## 3.0.6 18/08/2017
* maj fscript_cronAnacron lors upgrade et spécial pour dev
* maj fscript_get_version, fscript_dl, fscript_install
* vérification requis pour fonctionnement script
## 3.0.5 17/08/2017
* test inscription crontab pour recherche bug siduction