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

View File

@ -1,15 +1,17 @@
# changelog getFlashPlayer
## tofo
## todo
* script en stand-by
## 2.6.6 26/07/2017
* lifting
## 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
plugin installé
* replacement lien script dans /usr/bin/
* replacement lien script dans /usr/bin/ (meilleure compat?)
* cosmétique
## 2.6.2 18/07/2017