This commit is contained in:
kyodev 2017-07-28 12:12:50 +02:00
parent d76ab32f2a
commit 7a5c12c3a7
2 changed files with 40 additions and 13 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
version=1.3.1 version=1.4.0
date="27/07/2017" date="28/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"
script="getFirefox" script="getFirefox"
@ -103,15 +103,25 @@ f__error() {
echo -e "\n$RED Erreur critique: $1 $COLOR" echo -e "\n$RED Erreur critique: $1 $COLOR"
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR" echo "$COLOR"
if [ "$opType" == "upgrade" ]; then logger --id -p user.err "$script $version: <erreur> $1"; fi if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
exit 1 exit 1
} }
# log spécifique, fichier log limité à 10000octets, $1 message à loguer
f__log(){
if [ -w "/var/log/sdeb_get.log" ]; then
if [ "$(stat -c %s /var/log/sdeb_get.log)" -ge "10000" ]; then
echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null > "/var/log/sdeb_get.log"
else
echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null >> "/var/log/sdeb_get.log"
fi
fi
}
# affichage des paramètres en bleu, ligne vide à la fin, syslog $1 si upgrade # affichage des paramètres en bleu, ligne vide à la fin, syslog $1 si upgrade
f__info() { f__info() {
for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR" echo "$COLOR"
if [ "$opType" == "upgrade" ]; then logger --id -p user.info "$1"; fi
} }
# root? return 0 else 1 # root? return 0 else 1
@ -137,8 +147,13 @@ fscript_install(){
chown "$user_": "/opt/bin/$script" chown "$user_": "/opt/bin/$script"
# cron/anacron install # cron/anacron install
fscript_cronAnacron "install" fscript_cronAnacron "install"
# création fichier log
touch "/var/log/sdeb_get.log"
chmod a+rwx "/var/log/sdeb_get.log"
chown "$user_": "/var/log/sdeb_get.log"
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev) [ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
f__info "$GREEN$script installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)" f__info "$GREEN$script installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
f__log "$script $version installé dans le système"
exit 0 exit 0
} }
@ -151,6 +166,7 @@ fscript_remove(){
# cron/anacron remove # cron/anacron remove
fscript_cronAnacron remove fscript_cronAnacron remove
f__info "$GREEN$script supprimé du système." f__info "$GREEN$script supprimé du système."
f__log "$script $version supprimé du système"
} }
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko # version script en ligne, assigne $versionScript, $script_aJour=ok|ko
@ -164,16 +180,21 @@ fscript_get_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
f__log "test maj $script"
return 0
fi
local dirTemp="/tmp/$script-$RANDOM/" local dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
opType="upgrade"
wget -q --show-progress --tries=2 --timeout=15 --user-agent="$user_agent" -O "$dirTemp$script" "$urlScript" wget -q --show-progress --tries=2 --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
chmod a+rwx "$dirTemp$script" chmod a+rwx "$dirTemp$script"
chown "$user_": "$dirTemp$script" chown "$user_": "$dirTemp$script"
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" f__info "\n$script mis à jour en version $versionScript"
f__log "$script mis à jour en version $versionScript"
exit 0 exit 0
} }
@ -248,7 +269,7 @@ cat << 'EOF'
---------------------------------------------------------------------- ----------------------------------------------------------------------
Ce script doit être exécuté avec les droits ROOT pour Ce script doit être exécuté avec les droits ROOT pour
les installations et les désinstallations. les installations et les désinstallations.
Il désinstallera le *paquet Debian* firefox-esr si présent. Si présent, le *paquet Debian* firefox-esr ou firefox devrait être désinstallé
---------------------------------------------------------------------- ----------------------------------------------------------------------
EOF EOF
echo -e "plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox$COLOR\n" echo -e "plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox$COLOR\n"
@ -380,7 +401,10 @@ ffx_profil_user(){
ffx_profilIni_inscription ffx_profilIni_inscription
ffx_lanceur_desktop ffx_lanceur_desktop
ffx_update_alternatives ffx_update_alternatives
if [ "$1" == "user" ]; then f__info " - profil <$produit> configuré pour $user_"; fi if [ "$1" == "user" ]; then
f__info " - profil <$produit> configuré pour $user_"
f__log "profil <$produit> configuré pour $user_"
fi
} }
# calcul url téléchargement, assigne $recup_url. fixer url pour beta et nightly dans ffx_get_versionsFF # calcul url téléchargement, assigne $recup_url. fixer url pour beta et nightly dans ffx_get_versionsFF
@ -400,7 +424,6 @@ ffx_recup_url(){
# installation Firefox # installation Firefox
ffx_install(){ ffx_install(){
f__root || f__error "vous devez être ROOT pour installer Firefox" f__root || f__error "vous devez être ROOT pour installer Firefox"
ffx_godzilla
f__info " - installation Firefox-$produit" f__info " - installation Firefox-$produit"
local dirTemp="/tmp/$script-$RANDOM/" local dirTemp="/tmp/$script-$RANDOM/"
local file="firefox-$produit.$architecture.tar.bz2" local file="firefox-$produit.$architecture.tar.bz2"
@ -432,12 +455,13 @@ ffx_install(){
# traitement user # traitement user
ffx_profil_user ffx_profil_user
f__info "$GREEN""Firefox-$produit installé." f__info "$GREEN""Firefox-$produit installé."
f__log "Firefox-$produit installé"
ffx_godzilla
} }
# désinstallation de Firefox # désinstallation de Firefox
ffx_remove(){ ffx_remove(){
f__root || f__error "vous devez être ROOT pour désinstaller" f__root || f__error "vous devez être ROOT pour désinstaller"
ffx_godzilla
killall "/opt/usr/share/firefox-$produit/firefox" &>/dev/null killall "/opt/usr/share/firefox-$produit/firefox" &>/dev/null
# si pas de lanceur desktop, on considère que ce canal Firefox n'est pas installé, retour # si pas de lanceur desktop, on considère que ce canal Firefox n'est pas installé, retour
if [ ! -e "/usr/share/applications/firefox-$produit.desktop" ]; then # si test répertoire, on détecterait pas l'ancien répertoire éventuel if [ ! -e "/usr/share/applications/firefox-$produit.desktop" ]; then # si test répertoire, on détecterait pas l'ancien répertoire éventuel
@ -457,13 +481,15 @@ ffx_remove(){
ffx_usr_bin ffx_usr_bin
ffx_update_alternatives ffx_update_alternatives
f__info "$GREEN""Firefox-$produit désinstallé." f__info "$GREEN""Firefox-$produit désinstallé."
f__log "Firefox-$produit désinstallé"
ffx_godzilla
} }
# initialisation # initialisation
f__affichage f__affichage
f__architecture || f__error "Architecture non supportée" f__architecture || f__error "Architecture non supportée"
f__user f__user
f__requis "wget logger file tar logger killall" f__requis "wget file tar killall"
dirInstall="/opt/usr/share/firefox-" dirInstall="/opt/usr/share/firefox-"
dirProfil="/home/$user_/.mozilla/firefox" dirProfil="/home/$user_/.mozilla/firefox"
fileProfileIni="$dirProfil/profiles.ini" fileProfileIni="$dirProfil/profiles.ini"
@ -486,7 +512,6 @@ case "$1" in
fscript_get_version fscript_get_version
ffx_godzilla ;; # affiche versions Firefox en ligne & installées & version script ffx_godzilla ;; # affiche versions Firefox en ligne & installées & version script
upgrade ) upgrade )
opType="upgrade"
fscript_get_version fscript_get_version
fscript_dl ;; # upgrade script si maj possible fscript_dl ;; # upgrade script si maj possible
i-latest | i-esr | i-dev | i-beta | i-nightly | \ i-latest | i-esr | i-dev | i-beta | i-nightly | \

View File

@ -3,9 +3,11 @@
## todo ## todo
* install: copie du profil du canal inférieur? * install: copie du profil du canal inférieur?
* paquet firefox: voir /etc/firefox/firefox.js & pref/xdg-browser-loauncher.js
## 1.4.0 28/07/2017
* mieux: fichier log spécifique mais nécessite réinstallation en root (pas de mise à jour)
* mieux: logs d'évènements majeurs
## 1.3.1 27/07/2017 ## 1.3.1 27/07/2017