mirror of https://framagit.org/kyodev/kyopages.git
3.1.0
This commit is contained in:
parent
30c3f30554
commit
22da39b190
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=3.0.0
|
||||
date="01/09/2017"
|
||||
version=3.1.0b
|
||||
date="02/09/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
script="getFirefox"
|
||||
|
@ -195,7 +195,7 @@ f__wget_test(){ # v31/08/2017
|
|||
}
|
||||
|
||||
# affichage help
|
||||
f_help(){ # v25/08/2017
|
||||
f_help(){ # v02/09/2017
|
||||
printf $BLUE
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
|
@ -206,13 +206,14 @@ cat << 'EOF'
|
|||
installation version latest, beta, nightly: getFirefox i-all
|
||||
installation Tor Browser: getFirefox i-tor
|
||||
|
||||
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 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 p-canal : personnalisation sur le <canal> de user.js & userChrome.css
|
||||
getFirefox pu : mise à jour (des) personnalisation(s) installée(s) Firefox et Tor Browser
|
||||
getFirefox m-canal : installation sur le <canal> d'une archive téléchargée manuellement
|
||||
getFirefox p-canal : personnalisation sur le <canal> de user.js & userChrome.css
|
||||
getFirefox pu : mise à jour (des) personnalisation(s) installée(s) Firefox et Tor Browser
|
||||
getFirefox pr-canal : personnalisation sur le <canal> de user.js & userChrome.css
|
||||
|
||||
getFirefox version : version(s) installée(s) et en ligne des différents canaux Firefox
|
||||
Tor Browser, version script et personnalisation
|
||||
|
@ -233,7 +234,7 @@ echo -e " plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/s
|
|||
}
|
||||
|
||||
# assigne $verTorOnline
|
||||
f_tb_get_version(){ # v31/08/2017
|
||||
f_tb_get_version(){ # v02/09/2017
|
||||
local fileTmp recup_urlTb verTorInstall
|
||||
# version online
|
||||
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
||||
|
@ -244,11 +245,10 @@ f_tb_get_version(){ # v31/08/2017
|
|||
[ "$verTorOnline" ] || verTorOnline="$RED""NA"
|
||||
# version installée
|
||||
if [ -e "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt ]; then
|
||||
# verTorInstall="$GREEN$(sed -n '1p' "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*) --.*$/\1/p')"
|
||||
verTorInstall="$(sed -n '1p' "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*)$/\1/p')"
|
||||
fi
|
||||
[ "$verTorInstall" ] || verTorInstall="$RED""NA"
|
||||
f__info "raw" "version Tor Browser installé(s): $GREEN$verTorInstall$COLORS"
|
||||
f__info "raw" "version Tor Browser installé: $GREEN$verTorInstall$COLORS"
|
||||
f__info "version Tor Browser en ligne: $YELLOW$verTorOnline$COLORS"
|
||||
}
|
||||
|
||||
|
@ -359,10 +359,13 @@ f_tb_pers_get_version(){ # v01/09/2017
|
|||
}
|
||||
|
||||
# recup userTor.js et chrome/userChrome.css pour Tor Browser
|
||||
f_tb_pers_install(){ # v01/09/2017
|
||||
f_tb_pers_install(){ # v02/09/2017
|
||||
local urlPersTb verPersTbDL dirTemp
|
||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
||||
[ ! -d "$profilTor" ] && return
|
||||
if [ ! -d "$profilTor" ]; then
|
||||
f__info "Tor Browser inexistant"
|
||||
return 1
|
||||
fi
|
||||
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||
if [ -e "$profilTor""personnalisation.$script" ]; then
|
||||
urlPersTb="$(sed -n '1p' $profilTor'personnalisation.'$script)"
|
||||
|
@ -392,6 +395,15 @@ f_tb_pers_install(){ # v01/09/2017
|
|||
f__info "log" "personnalisation $verPersTbDL mise en place pour Tor Browser"
|
||||
}
|
||||
|
||||
# supprime personnalisation pour Tor Browser
|
||||
f_tb_pers_remove(){ # v02/09/2017
|
||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
||||
# "$profilTor""chrome/" volontairement laissé si autres fichiers ajoutés
|
||||
rm "$profilTor""user.js" "$profilTor""personnalisation.$script"
|
||||
rm "$profilTor""chrome/userChrome.css"
|
||||
f__info "log" "personnalisation Tor Browser désinstallé"
|
||||
}
|
||||
|
||||
# maj userTor.js et chrome/userChrome.css pour Tor Browser
|
||||
f_tb_pers_upgrade(){ # v01/09/2017
|
||||
f_tb_pers_get_version
|
||||
|
@ -574,38 +586,41 @@ ffx_lanceur_desktop(){
|
|||
}
|
||||
|
||||
# version personnalisation en ligne, assigne $prodATraiter
|
||||
ffx_pers_get_version(){ # v01/09/2017
|
||||
local urlPers verPersOnline versionPersInstall persEnPlace
|
||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
||||
urlPers="$(sed -n '1p' $dirProfil/$produit/personnalisation.$script)"
|
||||
else
|
||||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
verPersOnline="$(wget -q --tries=2 --timeout=15 -O - $urlPers'user.js' | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
||||
if [ "$verPersOnline" ]; then
|
||||
for prod in latest esr beta dev nightly; do
|
||||
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
||||
versionPersInstall="$(sed -n '2p' $dirProfil/$prod/personnalisation.$script)"
|
||||
if [ "$versionPersInstall" != "$verPersOnline" ]; then prodATraiter+="$prod "; fi
|
||||
persEnPlace+="$prod "
|
||||
fi
|
||||
done
|
||||
[ "$persEnPlace" ] && f__info "raw" "$GREEN""personnalisation(s) installée(s) pour $persEnPlace$COLOR"
|
||||
if [ "$prodATraiter" ]; then
|
||||
f__info "version personnalisation en ligne: $verPersOnline, mise à jour possible pour $prodATraiter"
|
||||
ffx_pers_get_version(){ # v02/09/2017
|
||||
local urlPers verPersOnline verPersInstall persEnPlace
|
||||
for prod in latest esr beta dev nightly; do
|
||||
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
||||
urlPers="$(sed -n '1p' $dirProfil/$prod/personnalisation.$script)"
|
||||
else
|
||||
f__info "version personnalisation en ligne: $verPersOnline, pas de mise à jour à faire"
|
||||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
else f__info "version personnalisation en ligne non accessible"; fi
|
||||
verPersOnline="$(wget -q --tries=2 --timeout=15 -O - $urlPers'user.js' | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
||||
if [ "$verPersOnline" ]; then
|
||||
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
||||
verPersInstall="$(sed -n '2p' $dirProfil/$prod/personnalisation.$script)"
|
||||
if [ "$verPersInstall" != "$verPersOnline" ]; then prodATraiter+="$prod "; fi
|
||||
persEnPlace+="$prod($verPersInstall) "
|
||||
fi
|
||||
else f__info "version personnalisation en ligne non accessible"; fi
|
||||
done
|
||||
[ "$persEnPlace" ] && f__info "raw" "$GREEN""personnalisation(s) installée(s) pour $persEnPlace$COLOR"
|
||||
if [ "$prodATraiter" ]; then
|
||||
f__info "version personnalisation en ligne: $verPersOnline, mise à jour possible pour $prodATraiter"
|
||||
else
|
||||
f__info "version personnalisation en ligne: $verPersOnline, pas de mise à jour à faire"
|
||||
fi
|
||||
}
|
||||
|
||||
# recup user.js et chrome/userChrome.css, $1=produit à personnaliser ou mettre à jour
|
||||
ffx_pers_install(){ # v01/09/2017
|
||||
local produit="$1" urlPers verPersDL dirTemp
|
||||
[ ! -d "$dirProfil/$produit" ] && return
|
||||
# recup user.js et chrome/userChrome.css, $1=canal à personnaliser ou mettre à jour
|
||||
ffx_pers_install(){ # v02/09/2017
|
||||
local canal="$1" urlPers verPersDL dirTemp
|
||||
if [ ! -d "$dirProfil/$canal" ]; then
|
||||
f__info "firefox $canal inexistant"
|
||||
return 1
|
||||
fi
|
||||
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
||||
urlPers="$(head -n1 "$dirProfil/$produit/personnalisation.$script")"
|
||||
if [ -e "$dirProfil/$canal/personnalisation.$script" ]; then
|
||||
urlPers="$(sed -n '1p' $dirProfil/$canal/personnalisation.$script)"
|
||||
else
|
||||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
|
@ -618,15 +633,24 @@ ffx_pers_install(){ # v01/09/2017
|
|||
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
|
||||
chown -R "$user_": "$dirTemp"
|
||||
# installation
|
||||
mkdir -p "$dirProfil/$produit/chrome/" # répertoire pour userChrome.css
|
||||
chown "$user_": "$dirProfil/$produit/chrome"
|
||||
cp "$dirTemp"user.js "$dirProfil/$produit/"
|
||||
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$produit/chrome"
|
||||
echo "$urlPers" > "$dirProfil/$produit/personnalisation.$script"
|
||||
echo "$verPersDL" >> "$dirProfil/$produit/personnalisation.$script"
|
||||
chown -R "$user_": "$dirProfil/$produit/personnalisation.$script"
|
||||
mkdir -p "$dirProfil/$canal/chrome/" # répertoire pour userChrome.css
|
||||
chown "$user_": "$dirProfil/$canal/chrome"
|
||||
cp "$dirTemp"user.js "$dirProfil/$canal/"
|
||||
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$canal/chrome"
|
||||
echo "$urlPers" > "$dirProfil/$canal/personnalisation.$script"
|
||||
echo "$verPersDL" >> "$dirProfil/$canal/personnalisation.$script"
|
||||
chown -R "$user_": "$dirProfil/$canal/personnalisation.$script"
|
||||
rm -rf "$dirTemp"
|
||||
f__info "log" "personnalisation $verPersDL mise en place pour $produit"
|
||||
f__info "log" "personnalisation $verPersDL mise en place pour $canal"
|
||||
}
|
||||
|
||||
# supprime une personnalisation pour un canal, $1=canal à traiter
|
||||
ffx_pers_remove(){ # v02/09/2017
|
||||
local canal="$1"
|
||||
# "$dirProfil/$canal/chrome/" répertoire laissé en place si autres fichiers
|
||||
rm "$dirProfil/$canal/user.js" "$dirProfil/$canal/personnalisation.$script"
|
||||
rm "$dirProfil/$canal/chrome/userChrome.css"
|
||||
f__info "log" "personnalisation pour Firefox $canal désinstallé"
|
||||
}
|
||||
|
||||
# maj user.js et chrome/userChrome.css
|
||||
|
@ -910,6 +934,7 @@ 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
|
||||
grep -Eq '^exec.*/firefox -P.*$' '/usr/bin/firefox' && problemDetected+="-3" # raccourci /usr/bin en erreur
|
||||
options=$@
|
||||
if [ "$(dirname $0)" == "." ]; then options="-i" # script install
|
||||
else
|
||||
|
@ -935,6 +960,11 @@ for i in $options; do
|
|||
if [ "$produit" == "all" ]; then produit="$produitAll"; fi
|
||||
for i in $produit; do ffx_pers_install "$i"; done
|
||||
exit ;; # mise en place personnalisation
|
||||
pr-latest | pr-esr | pr-dev | pr-beta | pr-nightly | pr-all )
|
||||
produit="$(sed 's/pr-//' <<< "$1")"
|
||||
if [ "$produit" == "all" ]; then produit="$produitAll"; fi
|
||||
for i in $produit; do ffx_pers_remove "$i"; done
|
||||
exit ;; # supression personnalisation
|
||||
pu )
|
||||
ffx_pers_upgrade
|
||||
f_tb_pers_upgrade
|
||||
|
@ -964,6 +994,9 @@ for i in $options; do
|
|||
p-tor )
|
||||
f_tb_pers_install
|
||||
exit ;; # personnalisation pour tor browser
|
||||
pr-tor )
|
||||
f_tb_pers_remove
|
||||
exit ;; # supression personnalisation pour tor browser
|
||||
r-tor )
|
||||
f_tb_remove
|
||||
exit ;; # désinstallation tor browser
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
# changelog getFirefox
|
||||
|
||||
|
||||
## todo
|
||||
* install: copie du profil du canal inférieur?
|
||||
* détecter /usr/bin/firefox pas à jour
|
||||
|
||||
|
||||
## 3.1.0 02/09/2017
|
||||
|
||||
* révision mineure f_tb_get_version, f_tb_pers_install, ffx_pers_install
|
||||
* fix bug: url personnalisée pour ffx_pers_get_version
|
||||
* nouveau: option suppression des personnalisations
|
||||
|
||||
## 3.0.0 01/09/2017
|
||||
|
||||
* révision mineure f__wget_test
|
||||
* tor-browser
|
||||
* nouveau: tor-browser
|
||||
|
||||
## 2.9.2 31/08/2017
|
||||
|
||||
|
@ -35,7 +39,6 @@
|
|||
* révision f__wget_test
|
||||
* révision mineure ffx_pers_get_version, ffx_get_versionsFF
|
||||
|
||||
|
||||
## 2.6.0 27/08/2017
|
||||
|
||||
* fix bug install
|
||||
|
|
Loading…
Reference in New Issue