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 # 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 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** ê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. getFirefox installé dans le système.
maintenant, appel du script par: getFirefox (sans ./) 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. * 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 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 * si ce paquet devait être ré-installé, il semble préférable de désinstaller les canaux Firefox installés
officielles mozilla auparavant. auparavant.
* un canal Firefox doit être choisi et installé (`latest`,`beta`,`nightly`,`esr`) * un canal Firefox doit être choisi et installé (`latest`,`beta`,`nightly`, `dev`, `esr`)
## messages avertissement ## 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 ./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 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 upgrade : mise à jour forcée du script
---- ----
getFirefox sysremove: désinstallation du script du système 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 ## 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 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..\ 7'' Q..\
@ -167,8 +169,8 @@ vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
``` ```
* la dernière officielle Firefox est installée, en étant directement chargée du site Mozilla. * la dernière version officielle Firefox est installée, en étant directement chargée sur le site Mozilla.
* un lanceur par canal Firefox doit se trouver dans les menus (comme Applications/Internet) * 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é * 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 * 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 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` * chaque canal peut être lancé en console: `firefox-latest` `firefox-beta` `firefox-dev` `firefox-nightly`
`firefox-esr` `firefox-esr`
* le plus bas canal installé peut lui être lancé avec: `firefox` (_/usr/bin/firefox_) * 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: 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é * 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, * 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 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 * si Firefox n'est pas utilisé, il ne se met pas à jour
## nouvel utilisateur ou reconfiguration profil ## 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 l'utilisateur en cours
`getFirefox u-canal` par exemple, pour la version Release officielle, en **root**: `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> - alternatives installées pour <latest>
- profil <latest> configuré pour kyodev - profil <latest> configuré pour kyodev
``` ```
* il faut que canal Firefox soit déjà installé * 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 * 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é * 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 * le navigateur Firefox sera disponible dans les menus
* un nouveau profil firefox adéquat sera crée si besoin * un nouveau profil Firefox adéquat sera crée si besoin
* update-alternatives restera sur le plus bas canal firefox * 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: sans changer de session, on devrait pouvoir utiliser, pour un utilisateur titi et un canal beta, par exemple:
```shell ```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): Firefox installé(s):
latest: 54.0.1 latest: 54.0.1
@ -273,7 +276,7 @@ USER_INSTALL=titi getFirefox u-beta
Nightly : 56.0a1 Nightly : 56.0a1
ESR : 52.2.1 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..\ 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..\ 7'' Q..\
@ -333,8 +336,8 @@ vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
``` ```
* le profil **n'est pas supprimé**, il sera donc utilisable en cas de réinstallation * le profil **n'est pas supprimé**, il sera donc utilisable en cas de réinstallation
* si firefox est ouvert il sera fermé * si Firefox est ouvert il sera fermé
* update-alternatives reste configuré sur le plus bas canal installé * update-alternatives, si supporté, reste configuré sur le plus bas canal installé
* `firefox` est lui aussi configuré pour 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 /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** * 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 * 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 * cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment d'utilité à être
lancée manuellement 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. getFirefox supprimé du système.
``` ```
* effacement du script dans le système (_/opt/bin_) * effacement du script dans le système (_/opt/bin_)
* effacement de l'inscription dans crontab/anacron utilisateur * 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 ## sources

View File

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

View File

@ -3,69 +3,15 @@
## todo ## 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 ## 1.0.0 24/07/2017
* relecture * 1ère publication
* 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