This commit is contained in:
kyodev 2017-07-26 13:15:00 +02:00
parent 8ec37dc5d5
commit 14c384dd57
2 changed files with 41 additions and 47 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
version=2.6.5 version=2.6.6
date="24/07/2017" date="24/07/2017"
projet="simpledebian" projet="simpledebian"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues" contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
@ -36,9 +36,8 @@ cat << 'EOF'
EOF EOF
echo -e "$YELLOW pour Firefox, version $version - $date$COLOR\n" echo -e "$YELLOW pour Firefox, version $version - $date$COLOR\n"
# user ayant initié la session graphique, assigne $user_ # user ayant initié la session graphique, assigne $user_, sortie script sur erreur
# sortie script sur erreur, gestion variable environnement pour personnaliser l'user avec: # gestion variable environnement pour personnaliser l'user avec: USER_INSTALL=user script
# USER_INSTALL=user script
f__user(){ f__user(){
# user_ via variable en environnement # user_ via variable en environnement
test "$USER_INSTALL" && user_="$USER_INSTALL" test "$USER_INSTALL" && user_="$USER_INSTALL"
@ -56,11 +55,6 @@ f__user(){
fi fi
} }
# test cnx réseau et résolution, return 0 si ok else 1
f__cnxTest(){
wget -q --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "free.fr" || return 1
}
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si upgrade($opType) # affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si upgrade($opType)
f__error() { f__error() {
echo -e "\n$RED Erreur critique: $1 $COLOR" echo -e "\n$RED Erreur critique: $1 $COLOR"
@ -93,7 +87,7 @@ f__root(){
if [ $EUID == 0 ]; then return 0; else return 1; fi if [ $EUID == 0 ]; then return 0; else return 1; fi
} }
# test wget, $1 url à tester, sortie sur erreur # test wget, $1 url à tester, sortie script sur erreur
f__wget_test(){ f__wget_test(){
echo " $1" echo " $1"
wget -Sq --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "$1" wget -Sq --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "$1"
@ -116,7 +110,7 @@ fscript_install(){
fi fi
# install /opt # install /opt
mkdir -p /opt/bin/ mkdir -p /opt/bin/
ln -s /opt/bin/"$script" /usr/bin/"$script" &>/dev/null ln -s "/opt/bin/$script" "/usr/bin/$script" &>/dev/null
cp -d "$(basename $0)" "/opt/bin/$script" cp -d "$(basename $0)" "/opt/bin/$script"
chmod a+rwx "/opt/bin/$script" chmod a+rwx "/opt/bin/$script"
chown "$user_": "/opt/bin/$script" chown "$user_": "/opt/bin/$script"
@ -144,7 +138,7 @@ fscript_remove(){
} }
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko, # version script en ligne, assigne $versionScript, $script_aJour=ok|ko,
fscript_version(){ fscript_get_version(){
versionScript="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)" versionScript="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
if [ "$version" != "$versionScript" ]; then if [ "$version" != "$versionScript" ]; then
f__info "version script en ligne: $versionScript, mise à jour possible" f__info "version script en ligne: $versionScript, mise à jour possible"
@ -155,7 +149,7 @@ fscript_version(){
# mise à jour script si dispo # mise à jour script si dispo
fscript_dl(){ fscript_dl(){
if [ "$script_aJour" == "ok" ]; then return 0; fi if [ "$script_aJour" == "ok" ]; then return 0; fi
dirTemp="/tmp/$script-$RANDOM/" local dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
wget -q --show-progress --tries=1 --timeout=15 --user-agent="$user_agent" -O "$dirTemp$script" "$urlScript" wget -q --show-progress --tries=1 --timeout=15 --user-agent="$user_agent" -O "$dirTemp$script" "$urlScript"
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
@ -164,7 +158,7 @@ fscript_dl(){
cp -d "$dirTemp$script" /opt/bin/"$script" cp -d "$dirTemp$script" /opt/bin/"$script"
rm -rf "$dirTemp" rm -rf "$dirTemp"
echo ""; f__info "$script mis à jour en version $versionScript" echo ""; f__info "$script mis à jour en version $versionScript"
$0 upgrade #script mis à jour, on relance le script en upgrade (pour le plugin) $0 upgrade #script mis à jour, on relance le script en upgrade pour le plugin
exit 0 exit 0
} }
@ -193,22 +187,22 @@ rm "$dirInstall/libflashplayer.anacrontab"
esac esac
} }
# version Flash en ligne & installée, $verFlash=x.y|na, $verInstall, $plugin_aJour=ok|ko, $urlOnline, # version Flash en ligne & installée, $verFlash=x.y|na, $plugin_aJour=ok|ko
fflash_version(){ fflash_get_version(){
urlOnline="https://get.adobe.com/fr/flashplayer/" local verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)"
if ! f__cnxTest; then f__error "pas de connexion internet"; fi plugin_aJour="ok"
verFlash="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$urlOnline" | \ 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" sed -nr 's/^.*AUTO_ID.*Version[[:blank:]]+([0-9].*[0-9]).*$/\1/p')" || verFlash="na"
if [ "$?" != "0" ]; then f__wget_test "$urlOnline"; fi if [ "$?" != "0" ]; then f__wget_test "$urlOnline"; fi # sortie script si erreur wget
verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)"
plugin_aJour="ok"
if [ $verFlash == "na" ]; then f__error "version FlashPlayer non accessible"; if [ $verFlash == "na" ]; then f__error "version FlashPlayer non accessible";
else f__info "version FlashPlayer en ligne: $verFlash"; fi else f__info "version FlashPlayer en ligne: $verFlash"; fi
if [ "$verInstall" == "" ]; then f__info "FlashPlayer non installé"; return 0; fi if [ -z "$verInstall" ]; then
if [ "$verInstall" == "$verFlash" ]; then f__info "FlashPlayer à jour"; f__info "FlashPlayer non installé"
elif [ "$verInstall" == "$verFlash" ]; then
f__info "FlashPlayer à jour"
else else
f__info "version FlashPlayer installée: $verInstall, mise à jour possible"
plugin_aJour="ko" plugin_aJour="ko"
f__info "version FlashPlayer installée: $verInstall, mise à jour possible"
fi fi
} }
@ -256,9 +250,9 @@ echo -e "plus d'infos:$GREEN https://kyodev.frama.io/kyopages/scripts/getFlashPl
# calcul url téléchargement plugin, assigne $recup_url, # calcul url téléchargement plugin, assigne $recup_url,
fflash_recup_url_v1(){ fflash_recup_url_v1(){
recup1="https://fpdownload.adobe.com/get/flashplayer/pdc/" local recup1="https://fpdownload.adobe.com/get/flashplayer/pdc/"
if [ "$(uname -m)" == "i686" ] || [ "$(uname -m)" == "i386" ]; then recup2='i386'; if [ "$(uname -m)" == "i686" ] || [ "$(uname -m)" == "i386" ]; then local recup2='i386';
elif [ "$(uname -m)" == "x86_64" ] || [ "$(uname -m)" == "amd64" ]; then recup2='x86_64'; elif [ "$(uname -m)" == "x86_64" ] || [ "$(uname -m)" == "amd64" ]; then local recup2='x86_64';
else f__error "architecture non reconnue" ; fi else f__error "architecture non reconnue" ; fi
recup_url="$recup1$verFlash/flash_player_npapi_linux.$recup2.tar.gz" recup_url="$recup1$verFlash/flash_player_npapi_linux.$recup2.tar.gz"
} }
@ -271,22 +265,20 @@ fflash_install_manuel(){
fflash_install "manuel" "$1" fflash_install "manuel" "$1"
} }
# install plugin dans config user mozilla, $1 manuel (install manuelle), # $2 script à installer si install manuelle # install plugin dans config user mozilla, $1 manuel (install manuelle), $2 script à installer si install manuelle
fflash_install(){ fflash_install(){
if [ "$opType" != "upgrade" ]; then fflash_avertissement; fi [ "$opType" == "upgrade" ] || fflash_avertissement
if [ "$1" == "manuel" ]; then if [ "$1" == "manuel" ]; then
file="$(basename $2)" local dirTemp="$(dirname $2)/$script-$RANDOM/"
dirTemp="$(dirname $2)/$script-$RANDOM/" local file="$(basename $2)"
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
else else
file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
# calcul $file, affichage version pendant l'install
if [ $verFlash == "na" ]; then fflash_version; fi
f__info "installation FlashPlayer, version $verFlash" f__info "installation FlashPlayer, version $verFlash"
local file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
# dossier temporaire de travail, création local dirTemp="/tmp/$script-$RANDOM/"
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp" 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 # détection/chargement/test archive plugin flashplayer
fflash_recup_url_v1 fflash_recup_url_v1
@ -321,9 +313,8 @@ fflash_upgrade(){
# suppression du plugin # suppression du plugin
fflash_remove(){ fflash_remove(){
# on efface le plugin, mais la tache anacron le sera par script remove [ -e /home/kyodev/.mozilla/plugins/libflashplayer.so ] || f__error "FlashPlayer inexistant pour $user_\n"
[ -e /home/kyodev/.mozilla/plugins/libflashplayer.so ] || f__error "FlashPlayer déjà désinstallé pour $user_\n" local verFlashRemove="$(strings $dirInstall/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"
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"
rm -f "$dirInstall/libflashplayer.so" rm -f "$dirInstall/libflashplayer.so"
rm -f "$dirInstall/libflashplayer.version" rm -f "$dirInstall/libflashplayer.version"
@ -335,6 +326,7 @@ f__user
verFlash="na" verFlash="na"
f__requis "wget logger file tar" f__requis "wget logger file tar"
dirInstall="/home/$user_/.mozilla/plugins" 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" [ -e "$dirInstall/libflashplayer.so" ] && flash_installed="ok" || flash_installed="ko"
# installation du script si appel pas fait depuis le système # installation du script si appel pas fait depuis le système
@ -349,16 +341,16 @@ case "$1" in
"remove" ) "remove" )
fflash_remove ;; # désinstallation plugin fflash_remove ;; # désinstallation plugin
"version" ) "version" )
fflash_version fflash_get_version
fscript_version ;; # version plugin en ligne & installée fscript_get_version ;; # version plugin en ligne & installée
"sysremove" ) "sysremove" )
fscript_remove ;; # désinstallation du script fscript_remove ;; # désinstallation du script
"upgrade" ) "upgrade" )
opType="upgrade" opType="upgrade"
fscript_version fscript_get_version
fscript_dl fscript_dl
[ "$flash_installed" == "ko" ] && exit 0 [ "$flash_installed" == "ko" ] && exit 0
fflash_version fflash_get_version
fflash_upgrade ;; # upgrade script et plugin si installé fflash_upgrade ;; # upgrade script et plugin si installé
"manuel" ) "manuel" )
fflash_install_manuel "$2" ;; # install manuelle d'un chargement fflash_install_manuel "$2" ;; # install manuelle d'un chargement

View File

@ -1,15 +1,17 @@
# changelog getFlashPlayer # changelog getFlashPlayer
## tofo ## todo
* script en stand-by
## 2.6.6 26/07/2017
* lifting
## 2.6.3-2.6.5 24/07/2017 ## 2.6.3-2.6.5 24/07/2017
* séparation mise à jour script et plugin, le script peut être en stand-by, se mettre à jour, sans * séparation mise à jour script et plugin, le script peut être en stand-by, se mettre à jour, sans
plugin installé plugin installé
* replacement lien script dans /usr/bin/ * replacement lien script dans /usr/bin/ (meilleure compat?)
* cosmétique * cosmétique
## 2.6.2 18/07/2017 ## 2.6.2 18/07/2017