This commit is contained in:
kyodev 2017-07-24 17:35:24 +02:00
parent 2b00f87c22
commit e68707b828
3 changed files with 65 additions and 107 deletions

View File

@ -1,13 +1,15 @@
# getFirefox
> c'est un script bash qui se charge de charger les dernières versions officielles de Mozilla Firefox
> c'est un script bash qui se charge de charger les dernières versions officielles de Mozilla Firefox
des différents canaux possibles **latest** la release officielle, mais aussi **beta**, **nightly**, et
_dev_, _ESR_
> les mises à jour de Firefox sont gérées par celui-ci, avec des correction mineures permanent, en tâche de
> les mises à jour de Firefox sont gérées par celui-ci, avec des corrections mineures permanentes, en tâche de
fond, et une version majeure toutes les 6 semaines
> seul le script se mettra éventuellement à jour, sans intervention sur les canaux Firefox installés
> seul le script se mettra éventuellement à jour, sans influence sur les canaux Firefox installés
> le script installe un Firefox pour l'user en cours, mais toutes les installations/désinstallations doivent
> le script installe un canal Firefox pour l'user en cours, mais toutes les installations/désinstallations doivent
être faites avec les privilèges **root**
@ -26,7 +28,7 @@ chmod +x getFirefox && ./getFirefox
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
getFirefox installé dans le système.
maintenant, appel du script par: getFirefox (sans ./)
@ -34,9 +36,9 @@ chmod +x getFirefox && ./getFirefox
```
* le script est maintenant dans le système et tout utilisateur peut s'en servir.
* si le paquet Debian `firefox-esr` était présent, il a été **désinstallé**.
* si ce paquet devait être ré-installé, il semble préférable de désinstaller ces versions
officielles mozilla auparavant.
* un canal Firefox doit être choisi et installé (`latest`,`beta`,`nightly`,`esr`)
* si ce paquet devait être ré-installé, il semble préférable de désinstaller les canaux Firefox installés
auparavant.
* un canal Firefox doit être choisi et installé (`latest`,`beta`,`nightly`, `dev`, `esr`)
## messages avertissement
@ -88,7 +90,7 @@ lancer le script sans arguments: `getFirefox` ou avec l'option help `getFirefox
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
----------------------------------------------------------------------
./getFirefox : installation du script dans le système
@ -102,9 +104,9 @@ lancer le script sans arguments: `getFirefox` ou avec l'option help `getFirefox
----
getFirefox r-canal : désinstallation de Firefox <canal>
----
getFirefox u-canal : initialisation du profil pour l'utilisateur en cours
getFirefox u-canal : ajouter ou configurer un profil pour l'utilisateur en cours
----
getFirefox version : version en ligne Firefox Release & ESR
getFirefox version : version en ligne des canaux Firefox
getFirefox upgrade : mise à jour forcée du script
----
getFirefox sysremove: désinstallation du script du système
@ -120,7 +122,7 @@ plus d'infos: https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
## installation d'un canal Firefox
`getFirefox i-canal` par exemple, pour la version Release officielle, en **root**:
`getFirefox i-canal` par exemple, pour la Release officielle, en **root**:
```
getFirefox i-latest
@ -133,7 +135,7 @@ getFirefox i-latest
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
_.-~-.
7'' Q..\
@ -167,8 +169,8 @@ vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
```
* la dernière officielle Firefox est installée, en étant directement chargée du site Mozilla.
* un lanceur par canal Firefox doit se trouver dans les menus (comme Applications/Internet)
* la dernière version officielle Firefox est installée, en étant directement chargée sur le site Mozilla.
* un lanceur par canal Firefox installé est placé dans les menus (Applications/Internet)
* l'installation sur un canal existant est refaite en **totalité**, mais le profil n'est pas modifié
* si un profil _xyz.default_ (d'un paquet _firefox-esr_ par exemple) existe, il sera laissé en place, mais
une **copie** sera utilisée pour le profil latest (ou ESR). le passage d'une version paquet Debian à une
@ -179,7 +181,7 @@ vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
* chaque canal peut être lancé en console: `firefox-latest` `firefox-beta` `firefox-dev` `firefox-nightly`
`firefox-esr`
* le plus bas canal installé peut lui être lancé avec: `firefox` (_/usr/bin/firefox_)
* si supporté, update-alternatives est configuré pour le plus bas canal installé
* si supporté par la distribution, update-alternatives est configuré pour le plus bas canal installé
4 autres canaux sont possibles:
@ -205,13 +207,13 @@ la version **aurora** est abandonnée et la **developer edition** est basée sur
* les correctifs mineurs sont appliqués selon leur disponibilité
* mise à jour majeure toutes les 6 à 8 semaines environ, la version beta descend en version Release,
la version nightly, figée, descend en beta
* la nightly est mise à jour quotidiennement
* la nightly est mise à jour quotidiennement, voir plus
* si Firefox n'est pas utilisé, il ne se met pas à jour
## nouvel utilisateur ou reconfiguration profil
ajouter un profil d'un canal Firefox installé pour un nouvel utilisateur en cours ou reconfigurer un canal pour
ajouter un profil d'un canal Firefox installé pour un nouvel utilisateur en cours ou configurer un canal pour
l'utilisateur en cours
`getFirefox u-canal` par exemple, pour la version Release officielle, en **root**:
@ -227,20 +229,21 @@ getFirefox u-latest
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
- alternatives installées pour <latest>
- profil <latest> configuré pour kyodev
```
* il faut que canal Firefox soit déjà installé
* pour éviter de télécharger inutilement une nouvelle fois pour un nouvel utilisateur:
* évite de télécharger inutilement une nouvelle fois pour un nouvel utilisateur:
* changer de session en se connectant sous un nouvel utilisateur
* utiliser l'option `u-latest` `u-beta` `u-nightly` `u-esr` `u-dev` selon ce qui est installé
* le navigateur Firefox sera disponible dans les menus
* un nouveau profil firefox adéquat sera crée si besoin
* update-alternatives restera sur le plus bas canal firefox
* un nouveau profil Firefox adéquat sera crée si besoin
* update-alternatives restera sur le plus bas canal Firefox
sans changer de session, on devrait pouvoir utiliser, pour un utilisateur titi et un canal beta, par exemple:
```shell
@ -260,7 +263,7 @@ USER_INSTALL=titi getFirefox u-beta
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0b1 - 24/07/2017
pour Debian, version 1.O.0 - 24/07/2017
Firefox installé(s):
latest: 54.0.1
@ -273,7 +276,7 @@ USER_INSTALL=titi getFirefox u-beta
Nightly : 56.0a1
ESR : 52.2.1
version script en ligne: 1.0.0, mise à jour possible
version script en ligne: 1.1.0, mise à jour possible
_.-~-.
7'' Q..\
@ -310,7 +313,7 @@ getFirefox r-beta
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
_.-~-.
7'' Q..\
@ -333,8 +336,8 @@ vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
```
* le profil **n'est pas supprimé**, il sera donc utilisable en cas de réinstallation
* si firefox est ouvert il sera fermé
* update-alternatives reste configuré sur le plus bas canal installé
* si Firefox est ouvert il sera fermé
* update-alternatives, si supporté, reste configuré sur le plus bas canal installé
* `firefox` est lui aussi configuré pour le plus bas canal installé
@ -360,18 +363,19 @@ en user, lancer en terminal, le profile manager de Firefox: `firefox -P` :
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0b1 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
version script en ligne: 1.0.0, mise à jour possible
version script en ligne: 1.1.0, mise à jour possible
/tmp/getFirefox-15112/getFirefox 100%[======================================>] 21,06K --.-KB/s in 0,05s
getFirefox mis à jour en version 1.0.0
getFirefox mis à jour en version 1.1.0
```
* test toutes les **semaines**
* mise à jour du **script** si une nouvelle version est disponible en ligne
* mise à jour du **script** si une nouvelle version est disponible en ligne. cela n'influe pas sur les
canaux Firefox installés
* pas de nouvelle version: pas de téléchargement
* cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment d'utilité à être
lancée manuellement
@ -403,14 +407,14 @@ en **root**:
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 1.0.0 - 24/07/2017
pour Debian, version 1.1.0 - 24/07/2017
getFirefox supprimé du système.
```
* effacement du script dans le système (_/opt/bin_)
* effacement de l'inscription dans crontab/anacron utilisateur
* cela ne **supprime pas** les éventuels **Firefox** installés
* cela ne **supprime pas** les éventuels canaux **Firefox** installés
## sources

View File

@ -1,8 +1,8 @@
#!/bin/bash
version=1.0.0
version=1.1.0
date="24/07/2017"
projet="Kyodev"
projet="simpledebian"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
script="getFirefox"
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox"
@ -10,8 +10,8 @@ urlNotice="https://kyodev.frama.io/kyopages/scripts/getFirefox/"
user_agent="Mozilla/5.0 (X11; Linux $(uname -m); rv:54.0) Gecko/20100101 Firefox/54.0"
##### license LPRAB/WTFPL
# auteurs: kyodev
# contibuteurs: -
# auteur: simpledebian
# contributeurs: kyodev
#####
PATH='/bin:/usr/bin' ; IFS=' '
@ -241,7 +241,7 @@ cat << 'EOF'
----
getFirefox r-canal : désinstallation de Firefox <canal>
----
getFirefox u-canal : initialisation du profil pour l'utilisateur en cours
getFirefox u-canal : ajouter ou configurer un profil pour l'utilisateur en cours
----
getFirefox version : version en ligne Firefox Release & ESR
getFirefox upgrade : mise à jour forcée du script
@ -329,20 +329,28 @@ ffx_canal_bas(){
for i in nightly dev beta esr latest; do
if [ -d "$dirInstall$i/" ]; then firefoxCanalBas="$i"; fi
done
[ "$firefoxCanalBas" ] || return 1
f__info " - plus aucun canal Firefox installé"
}
# traitement update-alternatives
ffx_update_alternatives(){
which update-alternatives &>/dev/null || return 0 # update-laternatives n'est pas sur cette distrib
ffx_canal_bas
update-alternatives --quiet --install /usr/bin/firefox x-www-browser "/usr/bin/firefox-$firefoxCanalBas" 100
f__info " - alternatives installées pour <$firefoxCanalBas>"
which update-alternatives &>/dev/null || return 0 # update-alternatives n'est pas sur cette distrib
if ffx_canal_bas ; then
update-alternatives --quiet --install /usr/bin/firefox x-www-browser "/usr/bin/firefox-$firefoxCanalBas" 100
f__info " - alternatives installées pour <$firefoxCanalBas>"
else # plus aucun canal installé
if update-alternatives --get-selections | grep firefox | grep x-www-browser &>/dev/null; then
update-alternatives --quiet --remove-all x-www-browser
fi
fi
}
# lien /usr/bin/firefox pour le plus bas canal Firefox installé, utile si update-alternatives pas fonctionnel
ffx_usr_bin(){
ffx_canal_bas
ln -sf "/usr/bin/firefox-$firefoxCanalBas" "/usr/bin/firefox"
if ffx_canal_bas ; then
ln -sf "/usr/bin/firefox-$firefoxCanalBas" "/usr/bin/firefox"
fi
}
# traitement utilisateur, $1 user, si appel indépendant pour reconfiguration

View File

@ -3,69 +3,15 @@
## todo
* install: utilisation copie du plus bas profil existant?
* install: copie du profil du canal inférieur?
## 1.1.0 24/07/2017
mieux: remove, cas de figure plus aucun canal installé fixé
fix: correction help
## 1.0.0 24/07/2017
* relecture
* update-alternatives: firefoxCanalBas pour install/remove
## 0.7.6 22/07/2017
* pas d'update-alternatives si hors debian
* opti mineure
* fix bug: création lanceur usr/bin sans options
* remove: bascule pour la plus basse version restante installée pour usr/bin/firefox et alternatives (fix)
## 0.7.2 21/07/17
* mieux: alternatives
* installation: alternatives pour canal installé, seulement pour x-www-browser
* remove: alternatives pour canal le plus faible (latest ou esr) si existant
* révision: firefox remove
* mieux, nouvelles options appel install ou remove (plus homogène avec u-): i-canal & r-canal
* fix mineur: protection multi-inscription dans lanceurs usr/bin
* fix mineur: upgrade script
## 0.6.1 21/07/17
* fix bug: copie profile default si profil existant pour latest ou esr
## 0.6.0 20/07/17
* mieux: gestion profile.ini si Firefox jamais installé
* mieux: installation profil autres utilisateurs
## 0.5.5 20/07/17
* fix bug: détection profil existant dans profile.ini
* fix bug: architecture nightly amd64
* mieux: developer edition. malgré sa gestion autonome du profil, fonctionnement du script non modifié
si jamais changement futur
* mieux version en ligne beta & nightly
* cosmétique
## 0.5.0 19/07/17
* copie du profil default pour utilisation par latest
* remplacement aurora par beta
* révision install
* changement répertoire installation /opt/usr/share/firefox- au lieu de /opt/firefox-
plus en accord avec fhs
* détection utilisation ancien répertoire
* script remove gère ancien ou nouveau répertoire
* détection et infor mauvais répertoire install
## 0.4.2 18/07/17
* fix bug: version esr en ligne
* révision traitement paramètres
* révision traitement script
* révision remove
* script: maj auto, cron/anacron
* mieux sécu: chown, path, ifs
* mieux: wget test
* mieux: test archive chargée
* test bug secu 01, propriétaire du script
* 1ère publication