This commit is contained in:
kyodev 2017-08-30 22:43:36 +02:00
parent 7214e0d4e0
commit 99805570bd
2 changed files with 45 additions and 29 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=3.8.0
version=3.9.0
date="30/08/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
@ -34,9 +34,15 @@ EOF
echo -e "$YELLOW pour Firefox, version $version - $date$COLOR\n"
}
# test validité archive, $1 fichier (gzip), return 1 si invalide
f__archive_test(){ # v07/2017
file -b "$1" | grep -q 'gzip compressed data' || return 1
# test validité archive, $1 archive, assigne $archive_detect (gzip|xz|deb|zip), return 1 si inconnue
f__archive_test(){ # v30/08/2017
local filetest="$(file -b $1)"
grep -q 'gzip compressed data' <<< "$filetest" && archive_detect="gzip"
grep -q 'bzip2 compressed data' <<< "$filetest" && archive_detect="bzip2"
grep -q 'Debian binary package' <<< "$filetest" && archive_detect="deb"
grep -q 'Zip archive data' <<< "$filetest" && archive_detect="zip"
grep -q 'XZ compressed data' <<< "$filetest" && archive_detect="xz"
if [ ! "$archive_detect" ] || [ "$archive_detect" == "empty" ]; then return 1; fi
}
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si $opType=upgrade
@ -75,12 +81,12 @@ f__log(){ # v08/2017
# si $2=debOnly et si paquets manquants: return 1 et $debOnlyPackages ( $1=liste paquets )
# si $2=debOnly et si paquets présent: return 0 et $debOnlyPresents ( $1=liste paquets )
# attention priorité $debOnlyPackages sur $debOnlyPresents
f__requis(){ # v17/08/2017-3
local dependsMissing packagesMissing
f__requis(){ # v30/08/2017-3
local dependsMissing packagesMissing command package
unset debOnlyPackages debOnlyPresents
for i in $1; do
local command="$(cut -d '>' -f 1 <<< $i)"
local package="$(cut -d '>' -f 2 <<< $i)"
command="$(cut -d '>' -f 1 <<< $i)"
package="$(cut -d '>' -f 2 <<< $i)"
if [ "$2" == "debOnly" ]; then
if [ "$(which dpkg)" ]; then # package only et debian
LC_ALL=C dpkg --get-selections | grep -qE "^$package[[:space:]]+install" \
@ -105,13 +111,13 @@ f__requis(){ # v17/08/2017-3
# user ayant initié la session graphique, assigne $user_
# return 1 sur échec identification user, return 2 sur absence home/
# gestion variable environnement user avec: USER_INSTALL=user script
f__user(){ # v21/08/2017-4
f__user(){ # v30/08/2017-4
if [ "$USER_INSTALL" ]; then # user_ via variable environnement, moyen d'injecter root
user_="$USER_INSTALL";
return 0
fi
local user_id test
local root_login="$(grep ':0:' /etc/passwd | cut -d':' -f1)" || local root_login="root"
local user_id test root_login
root_login="$(grep ':0:' /etc/passwd | cut -d':' -f1)" || root_login="root"
if [ "$SUDO_UID" ]; then
user_id="$SUDO_UID";
elif grep -qEo '[0-9]+' <<< "$XDG_RUNTIME_DIR" ; then
@ -138,9 +144,10 @@ f__user(){ # v21/08/2017-4
# test wget, $1 url à tester, sortie script, sur erreur ou retour à la normale
# si $2=print affiche url testée & entêtes http & location (si présente) et sortie normale fonction
f__wget_test(){ #v28/08/2017
local file_test_wget="/tmp/testWget-$RANDOM"
wget -Sq --tries=1 --timeout=10 --user-agent="$user_agent" --spider --save-headers "$1" &>"$file_test_wget" || local retourWget="$?"
f__wget_test(){ # v30/08/2017
local file_test_wget retourWget retourHttp location
file_test_wget="/tmp/testWget-$RANDOM"
wget -Sq --tries=1 --timeout=10 --user-agent="$user_agent" --spider --save-headers "$1" &>"$file_test_wget" || retourWget="$?"
[ "$retourWget" == 1 ] && retourWget="code erreur générique"
[ "$retourWget" == 2 ] && retourWget="parse erreur (ligne de commande?)"
[ "$retourWget" == 3 ] && retourWget="erreur Entrée/sortie fichier"
@ -149,8 +156,8 @@ f__wget_test(){ #v28/08/2017
[ "$retourWget" == 6 ] && retourWget="défaut authentification"
[ "$retourWget" == 7 ] && retourWget="erreur de protocole"
[ "$retourWget" == 8 ] && retourWget="réponse serveur en erreur"
local retourHttp="$(grep -i 'HTTP/' "$file_test_wget" | tr -d '\n' | xargs)"
local location="$(grep -i 'location' $file_test_wget | xargs)"
retourHttp="$(grep -i 'HTTP/' "$file_test_wget" | tr -d '\n' | xargs)"
location="$(grep -i 'location' $file_test_wget | xargs)"
if [ "$2" == "print" ] && [ -z "$retourWget" ]; then
echo -e "\n$1"
echo "$GREEN$retourHttp$COLOR"
@ -234,18 +241,19 @@ echo -e " plus d'infos:$GREEN https://kyodev.frama.io/kyopages/scripts/getFlash
}
# install plugin dans config user mozilla, $1 manuel (install manuelle), $2 script à installer si install manuelle
fflash_install(){ #v28/08/2017
fflash_install(){ #v30/08/2017
local dirTemp fileTemp
[ "$opType" == "upgrade" ] || fflash_avertissement
if [ "$1" == "manuel" ]; then
f__info "installation manuelle de $2"
local dirTemp="$(dirname $2)/$script-$RANDOM/"
local fileTemp="$(basename $2)"
dirTemp="$(dirname $2)/$script-$RANDOM/"
fileTemp="$(basename $2)"
mkdir -p "$dirTemp"
else
[ -z $verFlash ] && fflash_get_version "quiet"
f__info "installation FlashPlayer, version $verFlash"
local dirTemp="/tmp/$script-$RANDOM/"
local fileTemp="$dirTemp""flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
dirTemp="/tmp/$script-$RANDOM/"
fileTemp="$dirTemp""flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
mkdir -p "$dirTemp"
# détection/chargement/test archive plugin flashplayer
f__info " - téléchargement..."
@ -276,10 +284,11 @@ fflash_install_manuel(){ # v16/08/2017
}
# calcul url téléchargement plugin, assigne $recup_url,
fflash_recup_url_v1(){
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';
fflash_recup_url_v1(){ # v 30/08/2017
local recup1 recup2
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';
else f__error "architecture non reconnue" ; fi
recup_url="$recup1$verFlash/flash_player_npapi_linux.$recup2.tar.gz"
}
@ -303,11 +312,12 @@ fflash_upgrade(){ #v30/08/2017
}
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove
fscript_cronAnacron(){ # v27/08/2017
fscript_cronAnacron(){ # v30/08/2017
local dirAnacron dirSpool fileAnacron
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
local dirAnacron="/home/$user_/.config/anacron"
local dirSpool="$dirAnacron/spool"
local fileAnacron="$dirAnacron/$script.anacrontab"
dirAnacron="/home/$user_/.config/anacron"
dirSpool="$dirAnacron/spool"
fileAnacron="$dirAnacron/$script.anacrontab"
[ $EUID -eq 0 ] && sed -i "/$script.anacrontab/d" /etc/crontab
case "$1" in
install | upgrade )

View File

@ -1,6 +1,12 @@
# changelog getFlashPlayer
## 3.9.0 30/08/2017
* révision f__requis, f__user, f__wget_test, fscript_cronAnacron
* révision déclaration local
* révision f__archive_test
## 3.8.0 30/08/2017
* révision conditions d'utilisations, fscript_install, fscript_remove(), fscript_update