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