diff --git a/scripts/getFlashPlayer b/scripts/getFlashPlayer index 6d65261..f1ee60e 100755 --- a/scripts/getFlashPlayer +++ b/scripts/getFlashPlayer @@ -1,7 +1,7 @@ #!/bin/bash -version=2.6.7 -date="27/07/2017" +version=2.7.0 +date="28/07/2017" projet="simpledebian" contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues" script="getFlashPlayer" @@ -56,20 +56,33 @@ f__user(){ fi } + # log spécifique, fichier log limité à 10000octets, $1 message à loguer +f__log(){ + if [ -w "/var/log/sdeb_getFlash.log" ]; then + if [ "$(stat -c %s /var/log/sdeb_getFlash.log)" -ge "10000" ]; then + echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null > "/var/log/sdeb_getFlash.log" + else + echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null >> "/var/log/sdeb_getFlash.log" + fi + else + f__info "pour bénéficier de la nouvelle version des logs, vous devriez réinstaller manuellement $script" \ + "voir https://kyodev.frama.io/kyopages/scripts/getFlashPlayer/#installation-rapide-du-script" + fi +} + # 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 echo "$COLOR" - if [ "$opType" == "upgrade" ]; then logger --id -p user.err "$script $version: $1"; fi + if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi exit 1 } - # affichage des paramètres en bleu, ligne vide à la fin, syslog $1 si upgrade + # affichage des paramètres en bleu, ligne vide à la fin f__info() { for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done echo "$COLOR" - if [ "$opType" == "upgrade" ]; then logger --id -p user.info "$1"; fi } #test dépendances (commandes disponibles), $1 liste commandes @@ -116,8 +129,13 @@ fscript_install(){ chown "$user_": "/opt/bin/$script" # cron/anacron install fscript_cronAnacron install + # création fichier log + touch "/var/log/sdeb_getFlash.log" + chmod a+rwx "/var/log/sdeb_getFlash.log" + chown "$user_": "/var/log/sdeb_getFlash.log" [ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev) f__info "$GREEN$script installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)" + f__log "$script $version installé dans le système" exit 0 } @@ -126,10 +144,12 @@ fscript_remove(){ f__root || f__error "vous devez être ROOT pour supprimer ce script dans le système" # suppression de /opt rm /opt/bin/"$script" &>/dev/null - unlink /usr/bin/"$script" &>/dev/null || unlink /usr/local/bin/"$script" &>/dev/null + unlink /usr/bin/"$script" &>/dev/null + unlink /usr/local/bin/"$script" &>/dev/null # ancienne localisation # cron/anacron remove fscript_cronAnacron remove f__info "$GREEN$script supprimé du système." + f__log "$script $version supprimé du système" } # version script en ligne, assigne $versionScript, $script_aJour=ok|ko, @@ -152,7 +172,8 @@ fscript_dl(){ chown "$user_": "$dirTemp$script" cp -d "$dirTemp$script" /opt/bin/"$script" rm -rf "$dirTemp" - echo ""; f__info "$script mis à jour en version $versionScript" + f__info "\n $script mis à jour en version $versionScript" + f__log "$script mis à jour en version $versionScript" $0 upgrade #script mis à jour, on relance le script en upgrade pour le plugin exit 0 } @@ -182,7 +203,7 @@ rm "$dirInstall/libflashplayer.anacrontab" esac } - # version Flash en ligne & installée, $verFlash=x.y|na, $plugin_aJour=ok|ko + # version Flash en ligne & installée, si $1="quiet" pas d'affichage, $verFlash=x.y|na, $plugin_aJour=ok|ko fflash_get_version(){ local verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)" plugin_aJour="ok" @@ -190,14 +211,14 @@ fflash_get_version(){ sed -nr 's/^.*AUTO_ID.*Version[[:blank:]]+([0-9].*[0-9]).*$/\1/p')" || verFlash="na" if [ "$?" != "0" ]; then f__wget_test "$urlOnline"; fi # sortie script si erreur wget if [ $verFlash == "na" ]; then f__error "version FlashPlayer non accessible"; - else f__info "version FlashPlayer en ligne: $verFlash"; fi + else [ "$1" == "quiet" ] || f__info "version FlashPlayer en ligne: $verFlash"; fi if [ -z "$verInstall" ]; then f__info "FlashPlayer non installé" elif [ "$verInstall" == "$verFlash" ]; then - f__info "FlashPlayer à jour" + [ "$1" == "quiet" ] || f__info "FlashPlayer à jour" else plugin_aJour="ko" - f__info "version FlashPlayer installée: $verInstall, mise à jour possible" + [ "$1" == "quiet" ] || f__info "version FlashPlayer installée: $verInstall, mise à jour possible" fi } @@ -212,7 +233,7 @@ cat << 'EOF' Il sera bloqué plus ou moins bloqué à terme pas les navigateurs majeurs, c'est à dire Firefox et Chrom(ium). Préparez vous à cela... EOF -echo -e "voir:$GREEN https://developer.mozilla.org/fr/docs/Plugins/Roadmap$COLOR\n" +echo -e " voir:$GREEN https://developer.mozilla.org/fr/docs/Plugins/Roadmap$COLOR\n" } # affichage help @@ -268,12 +289,11 @@ fflash_install(){ local file="$(basename $2)" mkdir -p "$dirTemp" else - f__info "installation FlashPlayer, version $verFlash" local file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz" local dirTemp="/tmp/$script-$RANDOM/" + if [ $verFlash == "na" ]; then fflash_get_version "quiet"; fi + f__info "installation FlashPlayer, version $verFlash" mkdir -p "$dirTemp" - # calcul $file, affichage version pendant l'install - if [ $verFlash == "na" ]; then fflash_get_version; fi # détection/chargement/test archive plugin flashplayer fflash_recup_url_v1 @@ -281,7 +301,6 @@ fflash_install(){ if [ "$?" != "0" ]; then f__wget_test "$recup_url"; fi f__archive_test "$dirTemp$file" || f__error " Le fichier $dirTemp$file n'est pas une archive tar.gz valide" fi - # décompression archive téléchargée dans dossier de travail if [ -e "$file" ]; then tar -xaf "$file" -C "$dirTemp"; else tar -xaf "$dirTemp$file" -C "$dirTemp"; fi if [ "$1" == "manuel" ]; then verFlash="$(strings $dirTemp/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"; fi @@ -290,15 +309,13 @@ fflash_install(){ mkdir -p "$dirInstall" cp -f "$dirTemp"libflashplayer.so "$dirInstall/" rm -Rf "$dirTemp" - - # marqueur version et maj dans plugins/ user mozilla + # marqueur version echo "$verFlash" > "$dirInstall/libflashplayer.version" - touch "$dirInstall/libflashplayer.maj" - # droits user si jamais installation par root chown -R "$user_": "$dirInstall" - echo ""; f__info "FlashPlayer $verFlash installé ou mis à jour pour $user_" "\tPour tester: http://get.adobe.com/flashplayer/about/" + f__info "\n FlashPlayer $verFlash installé pour $user_" "\tPour tester: http://get.adobe.com/flashplayer/about/" + f__log "FlashPlayer $verFlash installé pour $user_" } # test et mise à jour plugin si plugin outdated @@ -310,17 +327,18 @@ fflash_upgrade(){ fflash_remove(){ [ -e /home/kyodev/.mozilla/plugins/libflashplayer.so ] || f__error "FlashPlayer inexistant pour $user_\n" local verFlashRemove="$(strings $dirInstall/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')" - rm -f "$dirInstall/libflashplayer.maj" + rm -f "$dirInstall/libflashplayer.maj" &>/dev/null # ancien fichier éventuel rm -f "$dirInstall/libflashplayer.so" rm -f "$dirInstall/libflashplayer.version" f__info "$GREEN FlashPlayer $verFlashRemove désinstallé pour $user_" + f__log "FlashPlayer $verFlashRemove désinstallé pour $user_" } #initialisation f__affichage f__user verFlash="na" -f__requis "wget logger file tar" +f__requis "wget file tar" dirInstall="/home/$user_/.mozilla/plugins" urlOnline="https://get.adobe.com/fr/flashplayer/" # test version & referer [ -e "$dirInstall/libflashplayer.so" ] && flash_installed="ok" || flash_installed="ko" @@ -343,13 +361,14 @@ case "$1" in fscript_remove ;; # désinstallation du script "upgrade" ) opType="upgrade" + f__log="tests mise à jour" fscript_get_version fscript_dl [ "$flash_installed" == "ko" ] && exit 0 fflash_get_version fflash_upgrade ;; # upgrade script et plugin si installé "manuel" ) - fflash_install_manuel "$2" ;; # install manuelle d'un chargement + fflash_install_manuel "$2" ;; # installation manuelle d'un chargement * ) fflash_help fflash_avertissement ;; # affichage help par défaut diff --git a/scripts/getFlashPlayer_changelog.md b/scripts/getFlashPlayer_changelog.md index 4f6b8ff..597e26f 100644 --- a/scripts/getFlashPlayer_changelog.md +++ b/scripts/getFlashPlayer_changelog.md @@ -2,6 +2,12 @@ ## todo +## 2.7.0 27/07/2017 + +* mieux: fichier log spécifique mais nécessite réinstallation en root (pas de mise à jour) +* mieux: logs d'évènements majeurs +* fix: suppression ancienne localisation /usr/local/bin/ +* avertissement maj manuelle à faire pour nouveaux logs ## 2.6.7 27/07/2017