mirror of https://framagit.org/kyodev/kyopages.git
2.0.8
This commit is contained in:
parent
e204dcd1d1
commit
8921ea8d6e
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=2.0.7
|
||||
date="19/08/2017"
|
||||
version=2.0.8
|
||||
date="20/08/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
|
||||
script="getFirefox"
|
||||
|
@ -195,7 +195,7 @@ fscript_cronAnacron(){ # v19/08/2017
|
|||
}
|
||||
|
||||
# mise à jour script si dispo
|
||||
fscript_dl(){ # v19/08/2017
|
||||
fscript_dl(){ # v20/08/2017
|
||||
f__requis "wget"
|
||||
if [ "$script_aJour" == "ok" ]; then return 0; fi
|
||||
local dirTemp="/tmp/$script-$RANDOM/"
|
||||
|
@ -209,7 +209,6 @@ fscript_dl(){ # v19/08/2017
|
|||
fscript_cronAnacron "upgrade"
|
||||
f__info "\n $script mis à jour en version $versionScript"
|
||||
f__log "$script mis à jour en version $versionScript"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
||||
|
@ -335,7 +334,8 @@ cat << 'EOF'
|
|||
getFirefox i-canal : installation de Firefox <canal>
|
||||
getFirefox r-canal : désinstallation de Firefox <canal>
|
||||
getFirefox u-canal : ajouter ou configurer un profil firefox pour l'utilisateur en cours
|
||||
----
|
||||
getFirefox m-canal : installation sur le <canal> d'une archive téléchargée manuellement
|
||||
|
||||
getFirefox version : version(s) installée(s) et en ligne des différents canaux Firefox
|
||||
----------------------------------------------------------------------
|
||||
./getFirefox : installation du script dans le système
|
||||
|
@ -356,19 +356,28 @@ echo -e " plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/s
|
|||
# installation Firefox
|
||||
ffx_install(){
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer Firefox"
|
||||
f__info " - installation Firefox-$produit"
|
||||
local dirTemp="/tmp/$script-$RANDOM/"
|
||||
local file="firefox-$produit.$architecture.tar.bz2"
|
||||
mkdir -p "$dirTemp" # dossier temporaire de travail
|
||||
# téléchargement & test archive
|
||||
f__info " - téléchargement..."
|
||||
ffx_recup_url
|
||||
wget -q -c --show-progress --tries=2 --timeout=15 --user-agent="$user_agent" -O "$dirTemp$file" "$recup_url"
|
||||
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"
|
||||
# décompression
|
||||
f__info "\n - décompression..."
|
||||
tar -xaf "$dirTemp$file" -C "$dirTemp"
|
||||
if [ "$1" == "manuel" ]; then
|
||||
local versionArchive="$(sed -E 's/firefox-(.*)\.linux.*/\1/' <<< $(stat -c %n $2))"
|
||||
f__info "installation manuelle de firefox version $versionArchive ($2)"
|
||||
local dirTemp="$(dirname $2)/$script-$RANDOM/"
|
||||
local fileTemp="$(basename $2)"
|
||||
mkdir -p "$dirTemp"
|
||||
else
|
||||
f__info "installation Firefox-$produit"
|
||||
local dirTemp="/tmp/$script-$RANDOM/"
|
||||
local fileTemp="$dirTemp""firefox-$produit.$architecture.tar.bz2"
|
||||
mkdir -p "$dirTemp"
|
||||
# téléchargement & test archive
|
||||
f__info " - téléchargement..."
|
||||
ffx_recup_url
|
||||
wget -q -c --show-progress --tries=2 --timeout=15 --user-agent="$user_agent" -O "$fileTemp" "$recup_url"
|
||||
if [ "$?" != "0" ]; then f__wget_test "$recup_url"; fi
|
||||
f__archive_test "$fileTemp" || f__error "Le fichier $fileTemp n'est pas une archive tar.gz valide"
|
||||
echo
|
||||
fi
|
||||
# décompression archive téléchargée dans dossier de travail
|
||||
f__info " - décompression..."
|
||||
tar -xaf "$fileTemp" -C "$dirTemp"
|
||||
# mise en place finale
|
||||
f__info " - installation..."
|
||||
rm -rf "/opt/firefox-$produit/" # effacement ancien répertoire éventuel
|
||||
|
@ -389,11 +398,20 @@ ffx_install(){
|
|||
ffx_usr_bin
|
||||
# traitement user
|
||||
ffx_profil_user
|
||||
f__info "$GREEN""Firefox-$produit installé."
|
||||
f__log "Firefox-$produit installé"
|
||||
[ "$versionArchive" ] && local sup="version $versionArchive"
|
||||
f__info "$GREEN""Firefox-$produit installé"" $sup"
|
||||
f__log "Firefox-$produit installé"" $sup"
|
||||
ffx_godzilla
|
||||
}
|
||||
|
||||
# installation d'un FF chargé manuellement, $1
|
||||
ffx_install_manuel(){
|
||||
[ -e "$1" ] || f__error "fichier $1 introuvable"
|
||||
f__archive_test "$1" || f__error "Le fichier $1 n'est pas une archive valide"
|
||||
ffx_install "manuel" "$1"
|
||||
[ "$user_" != "$lognameDev" ] && rm "$1" &>/dev/null # si user pas dev, effacement archive
|
||||
}
|
||||
|
||||
# création lanceur.desktop
|
||||
ffx_lanceur_desktop(){
|
||||
local fileDesktop="/usr/share/applications/firefox-$produit.desktop"
|
||||
|
@ -474,12 +492,10 @@ ffx_profil_user(){
|
|||
ffx_recup_url(){
|
||||
if [ "$produit" == "latest" ]; then
|
||||
recup_url="https://download.mozilla.org/?product=firefox-$produit&os=$architecture&lang=fr"
|
||||
elif [ "$produit" == "esr" ]; then
|
||||
recup_url="https://download.mozilla.org/?product=firefox-$produit-latest&os=$architecture&lang=fr"
|
||||
elif [ "$produit" == "beta" ]; then
|
||||
elif [ "$produit" == "esr" ] || [ "$produit" == "beta" ]; then
|
||||
recup_url="https://download.mozilla.org/?product=firefox-$produit-latest&os=$architecture&lang=fr"
|
||||
elif [ "$produit" == "dev" ]; then
|
||||
recup_url="https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=$architecture&lang=fr"
|
||||
recup_url="https://download.mozilla.org/?product=firefox-$produit""edition-latest-ssl&os=$architecture&lang=fr"
|
||||
elif [ "$produit" == "nightly" ]; then
|
||||
recup_url="https://download.mozilla.org/?product=firefox-$produit-latest-l10n-ssl&os=$architecture&lang=fr" ;fi
|
||||
}
|
||||
|
@ -551,50 +567,43 @@ ls -d /opt/firefox-* &>/dev/null && problemOldInstall="detected" # ancienne loc
|
|||
"$GREEN voir: $urlNotice#messages-avertissement\n"
|
||||
|
||||
[ -e "/opt/bin/$script" ] && [ "$(stat -c %G /opt/bin/$script)" == "root" ] && problemDetected+="-1" # droits inappropriés sur le script, version de dev
|
||||
options="$@"
|
||||
options=$@
|
||||
if [ "$(dirname $0)" == "." ]; then unset options
|
||||
else
|
||||
if [ ! -w "$fileLogs" ] && ls -d "$dirInstall"* &>/dev/null ; then problemDetected+="-2"; fi # ancien système de logs via syslog
|
||||
fi
|
||||
[ "$problemDetected" ] && f__info "$RED""l'installation du script est obsolète ($problemDetected)" \
|
||||
"veuillez réinstaller le script manuellement" "$GREEN""voir $urlNotice""#installation-rapide-du-script"
|
||||
|
||||
for i in "$options"; do
|
||||
for i in $options; do
|
||||
case $i in
|
||||
version | versions ) # affiche versions Firefox en ligne & installées
|
||||
version | versions )
|
||||
ffx_get_versionsFF
|
||||
fscript_get_version
|
||||
ffx_godzilla
|
||||
;;
|
||||
i-latest | i-esr | i-dev | i-beta | i-nightly | \
|
||||
+latest | +esr | +dev | +beta | +nightly ) # install: installation canal Firefox (gestion ancien répertoire éventuel)
|
||||
produit="$(echo $1 | sed 's/i-//' | sed 's/+//')"
|
||||
ffx_install
|
||||
;;
|
||||
r-latest | r-esr | r-dev | r-beta | r-nightly | \
|
||||
-latest | -esr | -dev | -beta | -nightly ) # remove: désinstallation Firefox (y compris ancien répertoire éventuel)
|
||||
produit="$(echo $1 | sed 's/r-//' | sed 's/-//' )"
|
||||
ffx_remove
|
||||
;;
|
||||
u-latest | u-esr | u-dev | u-beta | u-nightly ) # configurer un profil firefox pour un user
|
||||
produit="$(echo $1 | sed 's/u-//')"
|
||||
[ "$problemOldInstall" ] && f__error "vous devriez réinstaller firefox auparavant"
|
||||
ffx_profil_user "user"
|
||||
;;
|
||||
"" ) if ! dirname "$0" | grep -q 'bin' ; then # installation du script dans le système
|
||||
ffx_godzilla; break ;; # affiche versions Firefox en ligne & installées
|
||||
i-latest | i-esr | i-dev | i-beta | i-nightly | +latest | +esr | +dev | +beta | +nightly )
|
||||
produit="$(sed 's/i-//; s/+//' <<< "$1")"
|
||||
ffx_install; break ;; # install: installation canal Firefox (gestion ancien répertoire éventuel)
|
||||
m-latest | m-esr | m-dev | m-beta | m-nightly )
|
||||
produit="$(sed 's/m-//' <<< "$1")"
|
||||
ffx_install_manuel "$2"; break ;; # installation manuelle d'un chargement, $2 archive, $3 canal à utiliser
|
||||
r-latest | r-esr | r-dev | r-beta | r-nightly | -latest | -esr | -dev | -beta | -nightly )
|
||||
produit="$(sed 's/r-//; s/-//' <<< "$1")"
|
||||
ffx_remove; break ;; # remove: désinstallation Firefox (y compris ancien répertoire éventuel)
|
||||
u-latest | u-esr | u-dev | u-beta | u-nightly )
|
||||
produit="$(sed 's/u-//' <<< "$1")"
|
||||
[ "$problemOldInstall" ] && f__error "vous devez réinstaller firefox auparavant"
|
||||
ffx_profil_user "user"; break ;; # configurer un profil firefox pour un user
|
||||
"" ) if ! dirname "$0" | grep -q 'bin' ; then
|
||||
fscript_install
|
||||
else ffx_help; fi
|
||||
;;
|
||||
-r | --remove | sysremove ) # désinstallation du script
|
||||
fscript_remove
|
||||
;;
|
||||
-u | --upgrade | upgrade ) # upgrade script
|
||||
else ffx_help; fi ;; # installation du script dans le système
|
||||
-r | --remove | sysremove )
|
||||
fscript_remove; break ;; # désinstallation du script
|
||||
-u | --upgrade | upgrade )
|
||||
opType="upgrade"
|
||||
fscript_get_version
|
||||
fscript_dl
|
||||
;;
|
||||
--version | -v | --versions ) fscript_get_version ;; # version du script, en ligne et exécuté
|
||||
--help | -h | * ) ffx_help ;; # affichage help
|
||||
fscript_dl; break ;; # upgrade script
|
||||
-v | --version ) fscript_get_version; break ;; # version du script, en ligne et exécuté
|
||||
-h | --help | * ) ffx_help; break ;; # affichage help
|
||||
esac
|
||||
done
|
||||
|
||||
|
|
|
@ -3,18 +3,20 @@
|
|||
|
||||
## todo
|
||||
* install: copie du profil du canal inférieur?
|
||||
* install archive manuelle?
|
||||
* pocket
|
||||
* user.pref (autoplay, ...)
|
||||
* peaufiner contexte upgrade lors cron (affichage, requis, user)
|
||||
|
||||
## 2.0.7 19/08/2017
|
||||
## 2.0.8 20/08/2017
|
||||
|
||||
* maj fscript_cronAnacron & plus de redémarrage service cron inutile & fonction spécifique pour certains scripts
|
||||
service cron restart &>/dev/null || /etc/init.d/cron restart &>/dev/null || f__info "redémarrer cron ou le PC"
|
||||
* fscript_dl plus de sortie progression download
|
||||
* fscript_get_version inclut version en cours
|
||||
* fscript_install mise en page
|
||||
* install archive manuelle
|
||||
* révision ffx_install
|
||||
* plusieurs options lancement possibles
|
||||
|
||||
## 2.0.6 18/08/2017
|
||||
|
||||
|
|
Loading…
Reference in New Issue