This commit is contained in:
kyodev 2017-08-17 09:16:13 +02:00
parent 215d7bcc56
commit 11ff12ddb2
2 changed files with 19 additions and 15 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=3.0.3
version=3.0.4
date="17/08/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
@ -14,7 +14,7 @@ user_agent="Mozilla/5.0 (X11; Linux $(uname -m); rv:54.0) Gecko/20100101 Firefox
# contributeurs: kyodev, coyotus, naguam
#####
f__affichage(){
f__affichage(){ # v06/2017
# définition couleurs
YELLOW="$(printf "\033[0;33m")" # ?
GREEN="$(printf "\033[0;32m")" # ok
@ -36,12 +36,12 @@ echo -e "$YELLOW pour Firefox, version $version - $date$COLOR\n"
}
# test validité archive, $1 fichier (gzip), return 1 si invalide
f__archive_test(){
f__archive_test(){ # v07/2017
file -b "$1" | grep -q 'gzip compressed data' || return 1
}
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si upgrade($opType)
f__error() { # v 16/08/2017
f__error() { # v16/08/2017
echo -e "\n$RED Erreur critique: $1 $COLOR"
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR"
@ -130,14 +130,14 @@ f__user(){ # v15/08/2017-4
}
# test wget, $1 url à tester, sortie script sur erreur
f__wget_test(){
f__wget_test(){ # v07/2017
echo " $1"
wget -Sq --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "$1"
f__error "Erreur wget" " réessayer et si persistance, contacter $projet $contact" " en indiquant les messages précédents."
}
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
fscript_cronAnacron(){
fscript_cronAnacron(){ #v17/08/2017
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
@ -146,7 +146,7 @@ fscript_cronAnacron(){
local fileAnacron="$dirAnacron/$script.anacrontab"
sed -i "/$script.anacrontab/d" /etc/crontab
case "$1" in
install )
install | upgrade )
mkdir -p "$dirAnacron"
# table anacron
echo "7 01 $script nice /opt/bin/$script --upgrade" > "$fileAnacron"
@ -154,9 +154,11 @@ fscript_cronAnacron(){
# création spool anacron utilisateur
mkdir -p "$dirSpool"
chown -R "$user_": "$dirAnacron" "$dirSpool"
# crontab pour activation horaire anacron
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
service cron restart &>/dev/null || /etc/init.d/cron restart &>/dev/null || f__info "redémarrer cron ou le PC"
if [ $EUID -eq 0 ]; then
# crontab pour activation horaire anacron
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
service cron restart &>/dev/null || /etc/init.d/cron restart &>/dev/null || f__info "redémarrer cron ou le PC"
fi
[ "$(grep "$script" /etc/crontab)" ] || echo f__error "inscription crontab" \
"certains systèmes semblent poser poser problème, merci de rapporter ce bug à $projet $contact"
;;
@ -170,7 +172,7 @@ esac
}
# mise à jour script si dispo
fscript_dl(){
fscript_dl(){ # v17/08/2017
if [ "$script_aJour" == "ok" ]; then return 0; fi
local dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
@ -181,6 +183,7 @@ fscript_dl(){
chown "$user_": "$dirTemp$script"
cp -d "$dirTemp$script" /opt/bin/"$script"
rm -rf "$dirTemp"
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
@ -188,7 +191,7 @@ fscript_dl(){
}
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko,
fscript_get_version(){
fscript_get_version(){ # v08/2017
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
if [ "$versionScript" ]; then
if [ "$version" != "$versionScript" ]; then
@ -202,7 +205,7 @@ fscript_get_version(){
}
# install du script dans le système
fscript_install(){
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
@ -226,7 +229,7 @@ fscript_install(){
}
# suppression du script dans le système
fscript_remove(){
fscript_remove(){ # v08/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

View File

@ -2,9 +2,10 @@
## todo
## 3.0.3 17/08/2017
## 3.0.4 17/08/2017
* test inscription crontab pour recherche bug siduction
* test crontab et modif anacrontab lors upgrade
## 3.0.2 16/08/2017