From e8be9f78e3e01048548aa649d7479c7790dff870 Mon Sep 17 00:00:00 2001 From: kyodev Date: Sun, 30 Jul 2017 16:32:22 +0200 Subject: [PATCH] 2.8.0 --- scripts/getFlashPlayer | 81 +++++++++++++++-------------- scripts/getFlashPlayer_changelog.md | 8 ++- 2 files changed, 48 insertions(+), 41 deletions(-) diff --git a/scripts/getFlashPlayer b/scripts/getFlashPlayer index f1ee60e..f367039 100755 --- a/scripts/getFlashPlayer +++ b/scripts/getFlashPlayer @@ -1,7 +1,7 @@ #!/bin/bash -version=2.7.0 -date="28/07/2017" +version=2.8.0 +date="30/07/2017" projet="simpledebian" contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues" script="getFlashPlayer" @@ -58,15 +58,12 @@ f__user(){ # 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" + if [ -w "$fileLogs" ]; then + if [ "$(stat -c %s $fileLogs)" -ge "10000" ]; then + echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null > "$fileLogs" else - echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null >> "/var/log/sdeb_getFlash.log" + echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null >> "$fileLogs" 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 } @@ -89,7 +86,7 @@ f__info() { f__requis(){ for i in $@; do if [ ! "$(which $i)" ]; then - testDepends="ko" + local testDepends="ko" f__info "$RED vous devez avoir la commande $i pour exploiter ce script" fi done @@ -130,9 +127,9 @@ fscript_install(){ # 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" + touch "$fileLogs" + chmod a+rwx "$fileLogs" + chown "$user_": "$fileLogs" [ -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" @@ -181,31 +178,33 @@ fscript_dl(){ # inscription dans tache upgrade en anacron hebdomadaire, via cron horaire fscript_cronAnacron(){ case "$1" in - "install" ) - # création répertoire plugin/ -mkdir -p "$dirInstall" -chown "$user_": "$dirInstall" - # table anacron -echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > "$dirInstall/libflashplayer.anacrontab" - ## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> "$dirInstall/libflashplayer.anacrontab" -chown "$user_": "$dirInstall/libflashplayer.anacrontab" - # création spool anacron utilisateur -mkdir -p "/home/$user_/.config/anacron/spool" -chown "$user_": "/home/$user_/.config/anacron/spool" - # cron tab pour activation horaire anacron -echo "@hourly $user_ /usr/sbin/anacron -t $dirInstall/libflashplayer.anacrontab -S /home/$user_/.config/anacron/spool" >> /etc/crontab + install ) + if [ ! -e "$fileAnacron" ]; then + # création répertoire plugin/ + mkdir -p "$dirInstall" + chown "$user_": "$dirInstall" + # table anacron + echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > "$fileAnacron" + ## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> "$fileAnacron" + chown "$user_": "$fileAnacron" + # création spool anacron utilisateur + mkdir -p "/home/$user_/.config/anacron/spool" + chown "$user_": "/home/$user_/.config/anacron/spool" + # cron tab pour activation horaire anacron + echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S /home/$user_/.config/anacron/spool" >> /etc/crontab + fi ;; - "remove" ) -[ -e "/home/$user_/.config/anacron/spool/getFP" ] && rm "/home/$user_/.config/anacron/spool/getFP" -sed -i "/^\@hourly.*libflashplayer.anacrontab.*$/d" /etc/crontab -rm "$dirInstall/libflashplayer.anacrontab" + remove ) + rm "/home/$user_/.config/anacron/spool/getFP"* &>/dev/null + sed -i "/^\@hourly.*libflashplayer.anacrontab.*$/d" /etc/crontab + rm "$fileAnacron" ;; esac } # 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)" + local verInstall="$(strings $dirInstall/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')" plugin_aJour="ok" verFlash="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$urlOnline" | \ sed -nr 's/^.*AUTO_ID.*Version[[:blank:]]+([0-9].*[0-9]).*$/\1/p')" || verFlash="na" @@ -309,8 +308,6 @@ fflash_install(){ mkdir -p "$dirInstall" cp -f "$dirTemp"libflashplayer.so "$dirInstall/" rm -Rf "$dirTemp" - # marqueur version - echo "$verFlash" > "$dirInstall/libflashplayer.version" # droits user si jamais installation par root chown -R "$user_": "$dirInstall" @@ -326,12 +323,12 @@ fflash_upgrade(){ # suppression du plugin 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" &>/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_" + local verInstall="$(strings $dirInstall/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')" + rm "$dirInstall/libflashplayer.so" + rm "$dirInstall/libflashplayer.maj" &>/dev/null # ancien fichier éventuel + rm "$dirInstall/libflashplayer.version" &>/dev/null # ancien fichier éventuel + f__info "$GREEN FlashPlayer $verInstall désinstallé pour $user_" + f__log "FlashPlayer $verInstall désinstallé pour $user_" } #initialisation @@ -339,7 +336,10 @@ f__affichage f__user verFlash="na" f__requis "wget file tar" +fileLogs="/var/log/sdeb_getFlash.log" dirInstall="/home/$user_/.mozilla/plugins" +fileAnacron="$dirInstall/libflashplayer.anacrontab" + urlOnline="https://get.adobe.com/fr/flashplayer/" # test version & referer [ -e "$dirInstall/libflashplayer.so" ] && flash_installed="ok" || flash_installed="ko" @@ -348,6 +348,9 @@ dirname "$0" | grep -q 'bin' || fscript_install # détection droits inappropriés sur le script, cas de figure sur version de dev [ "$1" != "sysremove" ] && [ -e "/opt/bin/$script" ] && ls -l "/opt/bin/$script" | grep -q 'root' && f__error "bug sécu 01" \ "veuillez désinstaller le script et le réinstaller" "voir: $urlNotice#supprimer-le-script" + # détection ancien système de logs via syslog +[ -w "$fileLogs" ] || 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/getFirefox/#installation-rapide-du-script" case "$1" in "install" ) diff --git a/scripts/getFlashPlayer_changelog.md b/scripts/getFlashPlayer_changelog.md index 597e26f..4e411cf 100644 --- a/scripts/getFlashPlayer_changelog.md +++ b/scripts/getFlashPlayer_changelog.md @@ -1,8 +1,12 @@ # changelog getFlashPlayer -## todo +## 2.8.0 30/07/2017 -## 2.7.0 27/07/2017 +* lifting +* fix bug mineur: pas d'inscription superflue dans crontab si plusieurs installations scripts successives +* renommage anacrontab + +## 2.7.0 28/07/2017 * mieux: fichier log spécifique mais nécessite réinstallation en root (pas de mise à jour) * mieux: logs d'évènements majeurs