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
|
#!/bin/bash
|
||||||
|
|
||||||
version=3.0.0
|
version=3.1.0b
|
||||||
date="01/09/2017"
|
date="02/09/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 @@ f__wget_test(){ # v31/08/2017
|
||||||
}
|
}
|
||||||
|
|
||||||
# affichage help
|
# affichage help
|
||||||
f_help(){ # v25/08/2017
|
f_help(){ # v02/09/2017
|
||||||
printf $BLUE
|
printf $BLUE
|
||||||
cat << 'EOF'
|
cat << 'EOF'
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
@ -206,13 +206,14 @@ cat << 'EOF'
|
||||||
installation version latest, beta, nightly: getFirefox i-all
|
installation version latest, beta, nightly: getFirefox i-all
|
||||||
installation Tor Browser: getFirefox i-tor
|
installation Tor Browser: getFirefox i-tor
|
||||||
|
|
||||||
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 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 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 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
|
getFirefox version : version(s) installée(s) et en ligne des différents canaux Firefox
|
||||||
Tor Browser, version script et personnalisation
|
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
|
# assigne $verTorOnline
|
||||||
f_tb_get_version(){ # v31/08/2017
|
f_tb_get_version(){ # v02/09/2017
|
||||||
local fileTmp recup_urlTb verTorInstall
|
local fileTmp recup_urlTb verTorInstall
|
||||||
# version online
|
# version online
|
||||||
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
||||||
|
@ -244,11 +245,10 @@ f_tb_get_version(){ # v31/08/2017
|
||||||
[ "$verTorOnline" ] || verTorOnline="$RED""NA"
|
[ "$verTorOnline" ] || verTorOnline="$RED""NA"
|
||||||
# version installée
|
# version installée
|
||||||
if [ -e "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt ]; then
|
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')"
|
verTorInstall="$(sed -n '1p' "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*)$/\1/p')"
|
||||||
fi
|
fi
|
||||||
[ "$verTorInstall" ] || verTorInstall="$RED""NA"
|
[ "$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"
|
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
|
# 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 urlPersTb verPersTbDL dirTemp
|
||||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
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
|
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||||
if [ -e "$profilTor""personnalisation.$script" ]; then
|
if [ -e "$profilTor""personnalisation.$script" ]; then
|
||||||
urlPersTb="$(sed -n '1p' $profilTor'personnalisation.'$script)"
|
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"
|
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
|
# maj userTor.js et chrome/userChrome.css pour Tor Browser
|
||||||
f_tb_pers_upgrade(){ # v01/09/2017
|
f_tb_pers_upgrade(){ # v01/09/2017
|
||||||
f_tb_pers_get_version
|
f_tb_pers_get_version
|
||||||
|
@ -574,38 +586,41 @@ ffx_lanceur_desktop(){
|
||||||
}
|
}
|
||||||
|
|
||||||
# version personnalisation en ligne, assigne $prodATraiter
|
# version personnalisation en ligne, assigne $prodATraiter
|
||||||
ffx_pers_get_version(){ # v01/09/2017
|
ffx_pers_get_version(){ # v02/09/2017
|
||||||
local urlPers verPersOnline versionPersInstall persEnPlace
|
local urlPers verPersOnline verPersInstall persEnPlace
|
||||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
for prod in latest esr beta dev nightly; do
|
||||||
urlPers="$(sed -n '1p' $dirProfil/$produit/personnalisation.$script)"
|
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
||||||
else
|
urlPers="$(sed -n '1p' $dirProfil/$prod/personnalisation.$script)"
|
||||||
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"
|
|
||||||
else
|
else
|
||||||
f__info "version personnalisation en ligne: $verPersOnline, pas de mise à jour à faire"
|
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||||
fi
|
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
|
# recup user.js et chrome/userChrome.css, $1=canal à personnaliser ou mettre à jour
|
||||||
ffx_pers_install(){ # v01/09/2017
|
ffx_pers_install(){ # v02/09/2017
|
||||||
local produit="$1" urlPers verPersDL dirTemp
|
local canal="$1" urlPers verPersDL dirTemp
|
||||||
[ ! -d "$dirProfil/$produit" ] && return
|
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
|
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
if [ -e "$dirProfil/$canal/personnalisation.$script" ]; then
|
||||||
urlPers="$(head -n1 "$dirProfil/$produit/personnalisation.$script")"
|
urlPers="$(sed -n '1p' $dirProfil/$canal/personnalisation.$script)"
|
||||||
else
|
else
|
||||||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||||
fi
|
fi
|
||||||
|
@ -618,15 +633,24 @@ ffx_pers_install(){ # v01/09/2017
|
||||||
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
|
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
|
||||||
chown -R "$user_": "$dirTemp"
|
chown -R "$user_": "$dirTemp"
|
||||||
# installation
|
# installation
|
||||||
mkdir -p "$dirProfil/$produit/chrome/" # répertoire pour userChrome.css
|
mkdir -p "$dirProfil/$canal/chrome/" # répertoire pour userChrome.css
|
||||||
chown "$user_": "$dirProfil/$produit/chrome"
|
chown "$user_": "$dirProfil/$canal/chrome"
|
||||||
cp "$dirTemp"user.js "$dirProfil/$produit/"
|
cp "$dirTemp"user.js "$dirProfil/$canal/"
|
||||||
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$produit/chrome"
|
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$canal/chrome"
|
||||||
echo "$urlPers" > "$dirProfil/$produit/personnalisation.$script"
|
echo "$urlPers" > "$dirProfil/$canal/personnalisation.$script"
|
||||||
echo "$verPersDL" >> "$dirProfil/$produit/personnalisation.$script"
|
echo "$verPersDL" >> "$dirProfil/$canal/personnalisation.$script"
|
||||||
chown -R "$user_": "$dirProfil/$produit/personnalisation.$script"
|
chown -R "$user_": "$dirProfil/$canal/personnalisation.$script"
|
||||||
rm -rf "$dirTemp"
|
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
|
# 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"
|
"$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
|
||||||
|
grep -Eq '^exec.*/firefox -P.*$' '/usr/bin/firefox' && problemDetected+="-3" # raccourci /usr/bin en erreur
|
||||||
options=$@
|
options=$@
|
||||||
if [ "$(dirname $0)" == "." ]; then options="-i" # script install
|
if [ "$(dirname $0)" == "." ]; then options="-i" # script install
|
||||||
else
|
else
|
||||||
|
@ -935,6 +960,11 @@ for i in $options; do
|
||||||
if [ "$produit" == "all" ]; then produit="$produitAll"; fi
|
if [ "$produit" == "all" ]; then produit="$produitAll"; fi
|
||||||
for i in $produit; do ffx_pers_install "$i"; done
|
for i in $produit; do ffx_pers_install "$i"; done
|
||||||
exit ;; # mise en place personnalisation
|
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 )
|
pu )
|
||||||
ffx_pers_upgrade
|
ffx_pers_upgrade
|
||||||
f_tb_pers_upgrade
|
f_tb_pers_upgrade
|
||||||
|
@ -964,6 +994,9 @@ for i in $options; do
|
||||||
p-tor )
|
p-tor )
|
||||||
f_tb_pers_install
|
f_tb_pers_install
|
||||||
exit ;; # personnalisation pour tor browser
|
exit ;; # personnalisation pour tor browser
|
||||||
|
pr-tor )
|
||||||
|
f_tb_pers_remove
|
||||||
|
exit ;; # supression personnalisation pour tor browser
|
||||||
r-tor )
|
r-tor )
|
||||||
f_tb_remove
|
f_tb_remove
|
||||||
exit ;; # désinstallation tor browser
|
exit ;; # désinstallation tor browser
|
||||||
|
|
|
@ -1,14 +1,18 @@
|
||||||
# changelog getFirefox
|
# changelog getFirefox
|
||||||
|
|
||||||
|
|
||||||
## todo
|
## 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
|
## 3.0.0 01/09/2017
|
||||||
|
|
||||||
* révision mineure f__wget_test
|
* révision mineure f__wget_test
|
||||||
* tor-browser
|
* nouveau: tor-browser
|
||||||
|
|
||||||
## 2.9.2 31/08/2017
|
## 2.9.2 31/08/2017
|
||||||
|
|
||||||
|
@ -35,7 +39,6 @@
|
||||||
* révision f__wget_test
|
* révision f__wget_test
|
||||||
* révision mineure ffx_pers_get_version, ffx_get_versionsFF
|
* révision mineure ffx_pers_get_version, ffx_get_versionsFF
|
||||||
|
|
||||||
|
|
||||||
## 2.6.0 27/08/2017
|
## 2.6.0 27/08/2017
|
||||||
|
|
||||||
* fix bug install
|
* fix bug install
|
||||||
|
|
Loading…
Reference in New Issue