This commit is contained in:
kyodev 2017-09-06 12:31:31 +02:00
parent e76f393db1
commit 012c5dee06
2 changed files with 134 additions and 98 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=3.4.1
version=3.5.0
date="06/09/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
@ -234,7 +234,7 @@ echo -e " plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/s
}
# assigne $verTorOnline
f_tb_get_version(){ # v02/09/2017
f_tb_get_version(){ # v06/09/2017
local fileTmp recup_urlTb verTorInstall
# version online
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
@ -244,8 +244,8 @@ f_tb_get_version(){ # v02/09/2017
rm "$fileTmp"
[ "$verTorOnline" ] || verTorOnline="$RED""NA"
# version installée
if [ -e "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt ]; then
verTorInstall="$(sed -n '1p' "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*)$/\1/p')"
if [ -e "$dirInstallTB/Browser/TorBrowser/Docs/ChangeLog.txt" ]; then
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é: $GREEN$verTorInstall$COLORS"
@ -253,21 +253,21 @@ f_tb_get_version(){ # v02/09/2017
}
# installation TorBrowser, [$1 manuel, $2 archive]
f_tb_install(){ # v31/08/2017
f_tb_install(){ # v06/09/2017
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer Tor Browser"
[ "$verTorOnline" ] || f_tb_get_version
local dirTemp archi fileTemp recup_urlTb
if [ "$1" == "manuel" ]; then
versionArchive="$(sed -En 's/tor-browser-linux[0-9]{2}-([0-9.]*)_fr\.tar\.xz/\1/p' <<< $(basename $2))"
f__info "installation manuelle de Tor Browser version $versionArchive ($2)"
dirTemp="$(dirname $2)/$script-$RANDOM/"
dirTemp="$(dirname $2)/$script-$RANDOM"
fileTemp="$(basename $2)"
mkdir -p "$dirTemp"
else
f__info "installation de Tor Browser"
dirTemp="/tmp/$script-$RANDOM/"
dirTemp="/tmp/$script-$RANDOM"
[ "$architecture" == "linux" ] && archi="linux32" || archi="$architecture"
fileTemp="$dirTemp""tor-browser-$archi-$verTorOnline""_fr.tar.xz"
fileTemp="$dirTemp/tor-browser-$archi-$verTorOnline""_fr.tar.xz"
mkdir -p "$dirTemp"
# téléchargement & test archive
f__info " - téléchargement..."
@ -279,21 +279,21 @@ f_tb_install(){ # v31/08/2017
fi
# décompression archive téléchargée dans dossier de travail
f__info " - décompression..."
tar -xaf "$fileTemp" -C "$dirTemp"
tar -xaf "$fileTemp" -C "$dirTemp/"
# mise en place finale
f__info " - installation..."
rm -rf "$dirInstallTB" # effacement éventuel répertoire existant
rm -rf "$dirInstallTB"/ # effacement éventuel répertoire existant
mkdir -p "$dirInstallTB"
mv -f "$dirTemp"tor-browser_fr/* "$dirInstallTB"
chown -R "$user_": "$dirInstallTB"
chmod -R g+wrs,a+r "$dirInstallTB"
rm -rf "$dirTemp"
mv -f "$dirTemp/tor-browser_fr/"* "$dirInstallTB/"
chown -R "$user_:" "$dirInstallTB/"
chmod -R g+wrs,a+r "$dirInstallTB/"
rm -rf "$dirTemp/"
f_tb_lanceur_desktop
local fileDesktop="/usr/share/applications/tor-browser.desktop"
# lien dans /usr/bin
ln -sf "$fileDesktop" "/usr/bin/tor-browser"
# lien icône
ln -sf "$dirInstallTB"Browser/browser/chrome/icons/default/default48.png "/usr/share/pixmaps/tor-browser.png"
ln -sf "$dirInstallTB/Browser/browser/chrome/icons/default/default48.png" "/usr/share/pixmaps/tor-browser.png"
if [ "$1" == "manuel" ]; then
f__info "log" "archive Tor Browser $versionArchive installée"
else
@ -310,17 +310,17 @@ f_tb_install_manuel(){ # v31/08/2017
}
# création lanceur.desktop pour tor-browser
f_tb_lanceur_desktop(){ # v31/08/2017
f_tb_lanceur_desktop(){ # v06/09/2017
local fileDesktop="/usr/share/applications/tor-browser.desktop"
echo "#!/usr/bin/env $dirInstallTB"Browser/execdesktop > "$fileDesktop"
echo "#!/usr/bin/env $dirInstallTB/Browser/execdesktop" > "$fileDesktop"
echo >> "$fileDesktop"
echo "[Desktop Entry]" >> "$fileDesktop"
echo "Name=Tor Browser" >> "$fileDesktop"
echo "X-GNOME-FullName=Tor Browser" >> "$fileDesktop"
echo "StartupWMClass=Tor Browser" >> "$fileDesktop"
echo "Exec=$dirInstallTB"Browser/start-tor-browser --detach >> "$fileDesktop"
echo "X-TorBrowser-ExecShell=$dirInstallTB"Browser/start-tor-browser --detach >> "$fileDesktop"
echo "Icon=$dirInstallTB"Browser/browser/chrome/icons/default/default48.png >> "$fileDesktop"
echo "Exec=$dirInstallTB/Browser/start-tor-browser --detach" >> "$fileDesktop"
echo "X-TorBrowser-ExecShell=$dirInstallTB/Browser/start-tor-browser --detach" >> "$fileDesktop"
echo "Icon=$dirInstallTB/Browser/browser/chrome/icons/default/default48.png" >> "$fileDesktop"
echo "Comment=Tor Browser is +1 for privacy and -1 for mass surveillance" >> "$fileDesktop"
echo "Comment[fr]=Tor Browser est un PLUS pour la vie privée et un MOINS pour la surveillance de masse" >> "$fileDesktop"
echo "GenericName=Web Browser" >> "$fileDesktop"
@ -330,23 +330,22 @@ f_tb_lanceur_desktop(){ # v31/08/2017
echo "Type=Application" >> "$fileDesktop"
echo "Categories=Network;WebBrowser;Security;" >> "$fileDesktop"
echo "StartupNotify=true" >> "$fileDesktop"
chown "$user_": "$fileDesktop"
chown "$user_:" "$fileDesktop"
chmod +x "$fileDesktop"
}
# version personnalisation Tor Browser en ligne, assigne $persTbATraiter
f_tb_pers_get_version(){ # v01/09/2017
f_tb_pers_get_version(){ # v06/09/2017
local urlPersTb versPersTbOnline verPersTbInstall
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
if [ -e "$profilTor""personnalisation.$script" ]; then
urlPersTb="$(sed -n '1p' $profilTor'personnalisation.'$script)"
if [ -e "$profilTor/personnalisation.$script" ]; then
urlPersTb="$(sed -n '1p' $profilTor/personnalisation.$script)"
else
urlPersTb="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
fi
versPersTbOnline="$(wget -q --tries=2 --timeout=15 -O - $urlPersTb'userTor.js' | sed -En 's/\/\*v(.*)\*\//\1/p')"
if [ "$versPersTbOnline" ]; then
if [ -e "$profilTor""personnalisation.$script" ]; then
verPersTbInstall="$(sed -n '2p' $profilTor'personnalisation.'$script)"
if [ -e "$profilTor/personnalisation.$script" ]; then
verPersTbInstall="$(sed -n '2p' $profilTor/personnalisation.$script)"
if [ "$verPersTbInstall" != "$versPersTbOnline" ]; then persTbATraiter="true"; fi
fi
[ "$verPersTbInstall" ] && f__info "raw" "$GREEN""personnalisation Tor Browser installée $verPersTbInstall$COLOR"
@ -359,48 +358,59 @@ f_tb_pers_get_version(){ # v01/09/2017
}
# recup userTor.js et chrome/userChrome.css pour Tor Browser
f_tb_pers_install(){ # v02/09/2017
f_tb_pers_install(){ # v06/09/2017
local urlPersTb verPersTbDL dirTemp
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
if [ ! -d "$profilTor" ]; then
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)"
if [ -e "$profilTor/personnalisation.$script" ]; then
urlPersTb="$(sed -n '1p' $profilTor/personnalisation.$script)"
else
urlPersTb="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
fi
# chargement fichiers personnalisation
dirTemp="/tmp/$script-$RANDOM/"
dirTemp="/tmp/$script-$RANDOM"
mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -O "$dirTemp"user.js "$urlPersTb"userTor.js
wget -q --tries=2 --timeout=15 -O "$dirTemp/user.js" "$urlPersTb"userTor.js
if [ "$?" != "0" ]; then f__wget_test "$urlPersTb"userTor.js; fi
verPersTbDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' "$dirTemp"user.js)" # uniquement sur user.js
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
verPersTbDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' $dirTemp/user.js)" # uniquement sur user.js
wget -q --tries=1 --timeout=15 -O "$dirTemp/userChrome.css" "$urlPers"userChrome.css
# installation
mkdir -p "$profilTor""chrome/" # répertoire pour userChrome.css
chown "$user_": "$profilTor""chrome/"
cp "$dirTemp"user.js "$profilTor"
chown "$user_": "$profilTor"user.js
if [ -e "$dirTemp"userChrome.css ]; then
cp "$dirTemp"userChrome.css "$profilTor""chrome/"
chown "$user_": "$profilTor""chrome/userChrome.css"
if [ -d "$profilTor/chrome/" ] && [ "$(stat -c %U $profilTor/chrome/)" == "root" ]; then
f__error "root propriétaire sur $profilTor/chrome/" "bug version de développement" \
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
fi
echo "$urlPersTb" > "$profilTor""personnalisation.$script"
echo "$verPersTbDL" >> "$profilTor""personnalisation.$script"
chown "$user_": "$profilTor""personnalisation.$script"
rm -rf "$dirTemp"
mkdir -p "$profilTor/chrome" # répertoire pour userChrome.css
chown "$user_:" "$profilTor/chrome/"
if [ -e "$profilTor/user.js" ] && [ "$(stat -c %U $profilTor/user.js)" == "root" ]; then
f__error "root propriétaire de $profilTor/user.js" "bug version de développement" \
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
fi
cp "$dirTemp/user.js" "$profilTor"
chown "$user_:" "$profilTor/user.js"
if [ -e "$profilTor/chrome/userChrome.css" ] && \
[ "$(stat -c %U $profilTor/chrome/userChrome.css)" == "root" ]; then
f__error "root propriétaire de $profilTor/chrome/userChrome.css" "bug version de développement" \
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
fi
if [ -e "$dirTemp/userChrome.css" ]; then
cp "$dirTemp/userChrome.css" "$profilTor/chrome/"
chown "$user_:" "$profilTor/chrome/userChrome.css"
fi
echo "$urlPersTb" > "$profilTor/personnalisation.$script"
echo "$verPersTbDL" >> "$profilTor/personnalisation.$script"
chown "$user_:" "$profilTor/personnalisation.$script"
rm -rf "$dirTemp/"
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_tb_pers_remove(){ # v06/09/2017
# "$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é"
}
@ -415,9 +425,9 @@ f_tb_pers_upgrade(){ # v05/09/2017
}
# désinstallation de Tor Browser
f_tb_remove(){ # v31/08/2017
f_tb_remove(){ # v06/09/2017
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour désinstaller Tor Browser"
if [ ! -d "$dirInstallTB" ]; then
if [ ! -d "$dirInstallTB/" ]; then
f__info "$GREEN""Tor Browser n'est pas installé."
return 0
fi
@ -429,7 +439,7 @@ f_tb_remove(){ # v31/08/2017
# supression .desktop
rm "$fileDesktop"
# suppression du répertoire Tor Browser
rm -rf "$dirInstallTB"
rm -rf "$dirInstallTB/"
f__info "log" "Tor Browser désinstallé"
}
@ -502,20 +512,20 @@ echo "$COLOR"
}
# installation Firefox, $1 produit, $2 manuel, $3 archive
ffx_install(){ # v31/08/2017
ffx_install(){ # v06/09/2017
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer Firefox"
local versionArchive dirTemp fileTemp produit
produit="$1"
if [ "$2" == "manuel" ]; then
versionArchive="$(sed -E 's/firefox-(.*)\.linux.*/\1/' <<< $(basename $3))"
f__info "installation manuelle dans $produit de firefox version $versionArchive ($3)"
dirTemp="$(dirname $3)/$script-$RANDOM/"
dirTemp="$(dirname $3)/$script-$RANDOM"
fileTemp="$(basename $3)"
mkdir -p "$dirTemp"
else
f__info "installation Firefox-$produit"
dirTemp="/tmp/$script-$RANDOM/"
fileTemp="$dirTemp""firefox-$produit.$architecture.tar.bz2"
dirTemp="/tmp/$script-$RANDOM"
fileTemp="$dirTemp/firefox-$produit.$architecture.tar.bz2"
mkdir -p "$dirTemp"
# téléchargement & test archive
f__info " - téléchargement..."
@ -527,16 +537,16 @@ ffx_install(){ # v31/08/2017
fi
# décompression archive téléchargée dans dossier de travail
f__info " - décompression..."
tar -xaf "$fileTemp" -C "$dirTemp"
tar -xaf "$fileTemp" -C "$dirTemp/"
# mise en place finale
f__info " - installation..."
rm -rf "/opt/firefox-$produit/" # effacement ancien répertoire éventuel
rm -rf "$dirInstall$produit"/ # effacement éventuel répertoire existant: "vraie" install
mkdir -p "$dirInstall$produit"/
mv -f "$dirTemp"firefox/* "$dirInstall$produit"/
chown -R "$user_": "$dirInstall$produit"/
chmod -R g+wrs,a+r "$dirInstall$produit"/
rm -rf "$dirTemp"
mkdir -p "$dirInstall$produit"
mv -f "$dirTemp/firefox/"* "$dirInstall$produit/"
chown -R "$user_:" "$dirInstall$produit/"
chmod -R g+wrs,a+r "$dirInstall$produit/"
rm -rf "$dirTemp/"
# lien icône Firefox
ln -sf "$dirInstall$produit/browser/chrome/icons/default/default48.png" "/usr/share/pixmaps/firefox-$produit.png"
# lanceur dans /usr/bin
@ -616,7 +626,7 @@ ffx_pers_get_version(){ # v02/09/2017
}
# recup user.js et chrome/userChrome.css, $1=canal à personnaliser ou mettre à jour
ffx_pers_install(){ # v04/09/2017
ffx_pers_install(){ # v06/09/2017
local canal="$1" urlPers verPersDL dirTemp
if [ ! -d "$dirProfil/$canal" ]; then
f__info "firefox $canal inexistant"
@ -629,23 +639,36 @@ ffx_pers_install(){ # v04/09/2017
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
fi
# chargement fichiers personnalisation
dirTemp="/tmp/$script-$RANDOM/"
dirTemp="/tmp/$script-$RANDOM"
mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -O "$dirTemp"user.js "$urlPers"user.js
wget -q --tries=2 --timeout=15 -O "$dirTemp/user.js" "$urlPers"user.js
if [ "$?" != "0" ]; then f__wget_test "$urlPers"user.js; fi
verPersDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' "$dirTemp"user.js)" # uniquement sur user.js
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
verPersDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' $dirTemp/user.js)" # uniquement sur user.js
wget -q --tries=1 --timeout=15 -O "$dirTemp/userChrome.css" "$urlPers"userChrome.css
# installation
mkdir -p "$dirProfil/$canal/chrome/" # répertoire pour userChrome.css
chown "$user_": "$dirProfil/$canal/chrome"
cp "$dirTemp"user.js "$dirProfil/$canal/"
chown "$user_": "$dirProfil/$canal/user.js"
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$canal/chrome"
chown "$user_": "$dirProfil/$canal/chrome/userChrome.css"
if [ -d "$dirProfil/$canal/chrome/" ] && [ "$(stat -c %U $dirProfil/$canal/chrome/)" == "root" ]; then
f__error "root propriétaire sur $dirProfil/$canal/chrome/" "bug version de développement" \
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
fi
mkdir -p "$dirProfil/$canal/chrome" # répertoire pour userChrome.css
chown "$user_:" "$dirProfil/$canal/chrome"
if [ -e "$dirProfil/$canal/user.js" ] && [ "$(stat -c %U "$dirProfil/$canal/user.js")" == "root" ]; then
f__error "root propriétaire de $dirProfil/$canal/user.js" "bug version de développement" \
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
fi
cp "$dirTemp/user.js" "$dirProfil/$canal/"
chown "$user_:" "$dirProfil/$canal/user.js"
if [ -e "$dirProfil/$canal/chrome/userChrome.css" ] && \
[ "$(stat -c %U "$dirProfil/$canal/chrome/userChrome.css")" == "root" ]; then
f__error "root propriétaire de $dirProfil/$canal/chrome/userChrome.css" "bug version de développement" \
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
fi
[ -e "$dirTemp/userChrome.css" ] && cp "$dirTemp/userChrome.css" "$dirProfil/$canal/chrome"
chown "$user_:" "$dirProfil/$canal/chrome/userChrome.css"
echo "$urlPers" > "$dirProfil/$canal/personnalisation.$script"
echo "$verPersDL" >> "$dirProfil/$canal/personnalisation.$script"
chown "$user_": "$dirProfil/$canal/personnalisation.$script"
rm -rf "$dirTemp"
chown "$user_:" "$dirProfil/$canal/personnalisation.$script"
rm -rf "$dirTemp/"
f__info "log" "personnalisation $verPersDL mise en place pour $canal"
}
@ -688,7 +711,7 @@ ffx_profilIni_inscription(){
}
# traitement utilisateur, $1=user si appel indépendant pour reconfiguration
ffx_profil_user(){ # v22/08/2017
ffx_profil_user(){ # v06/09/2017
if [ "$1" == "user" ] && [ ! -x "/usr/bin/firefox-$produit" ]; then
f__error "firefox <$produit> n'est pas installé" " il faut donc utiliser l'installation et pas l'ajout d'un nouveau profil"
fi
@ -705,11 +728,11 @@ ffx_profil_user(){ # v22/08/2017
fi
else # sinon on crée profile.ini avec minimum d'entête (première installation Firefox)
echo -e "[General]\nStartWithLastProfile=1\n\n" >> "$fileProfileIni"
chown "$user_": "$fileProfileIni" # propriété du fichier profile.ini à l'user
chown "$user_:" "$fileProfileIni" # propriété du fichier profile.ini à l'user
chmod u+rw,go+r "$fileProfileIni" # permissions du fichier profile.ini à l'user
fi
mkdir -p "$dirProfil/$produit" # répertoire du profil
chown -R "$user_": "$dirProfil/$produit/" # propriété du répertoire profil à l'user
chown -R "$user_:" "$dirProfil/$produit/" # propriété du répertoire profil à l'user
chmod g-rx,o-rx "$dirProfil/$produit/" # droits répertoire comme Firefox officiel
ffx_profilIni_inscription
if [ "$1" != "user" ]; then
@ -781,7 +804,7 @@ ffx_usr_bin(){
}
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove
fscript_cronAnacron(){ # v30/08/2017
fscript_cronAnacron(){ # v06/09/2017
local dirAnacron dirSpool fileAnacron
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
dirAnacron="/home/$user_/.config/anacron"
@ -799,7 +822,7 @@ fscript_cronAnacron(){ # v30/08/2017
fi
# création spool anacron utilisateur
mkdir -p "$dirSpool"
chown -R "$user_": "$dirAnacron" "$dirSpool"
chown -R "$user_:" "$dirAnacron" "$dirSpool"
if [ $EUID -eq 0 ]; then
# crontab pour activation horaire anacron
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
@ -837,7 +860,7 @@ fscript_get_version(){ # v01/09/2017
}
# installation du script dans le système
fscript_install(){ # v29/08/2017
fscript_install(){ # v06/09/2017
if grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )$COLOR"
return
@ -858,7 +881,7 @@ fscript_install(){ # v29/08/2017
# création fichier log
touch "$fileLogs"
chmod 644 "$fileLogs"
chown "$user_": "$fileLogs" "/opt/bin/$script"
chown "$user_:" "$fileLogs" "/opt/bin/$script"
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
}
@ -874,7 +897,7 @@ fscript_install_special(){ # v25/08/2017
}
# suppression du script dans le système
fscript_remove(){ # v29/08/2017
fscript_remove(){ # v06/09/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)$COLOR"
return 1
@ -888,15 +911,15 @@ fscript_remove(){ # v29/08/2017
return 3
fi
# suppression de /opt
rm /opt/bin/"$script" &>/dev/null
unlink /usr/bin/"$script" &>/dev/null
rm "/opt/bin/$script" &>/dev/null
unlink "/usr/bin/$script" &>/dev/null
# cron/anacron remove
fscript_cronAnacron "remove"
f__info "log" "$script $version supprimé du système."
}
# mise à jour script si dispo
fscript_update(){ # v04/09/2017
fscript_update(){ # v06/09/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)$COLOR"
return
@ -906,14 +929,14 @@ fscript_update(){ # v04/09/2017
f__info "log" "pas de mise à jour disponible pour $script $version"
return 0
fi
local dirTemp="/tmp/$script-$RANDOM/"
local dirTemp="/tmp/$script-$RANDOM"
mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript"
wget -q --tries=2 --timeout=15 -O "$dirTemp/$script" "$urlScript"
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
chmod 755 "$dirTemp$script"
chown "$user_": "$dirTemp$script"
cp -d "$dirTemp$script" /opt/bin/"$script"
rm -rf "$dirTemp"
chmod 755 "$dirTemp/$script"
chown "$user_:" "$dirTemp/$script"
cp -d "$dirTemp/$script" "/opt/bin/$script"
rm -rf "$dirTemp/"
fscript_cronAnacron "upgrade"
f__info "log" "$script mis à jour en version $versionScript"
}
@ -932,7 +955,8 @@ dirInstall="/opt/usr/share/firefox-"
dirProfil="/home/$user_/.mozilla/firefox"
fileProfileIni="$dirProfil/profiles.ini"
produitAll="latest beta nightly"
dirInstallTB="/opt/usr/share/tor-browser/"
dirInstallTB="/opt/usr/share/tor-browser"
profilTor="$dirInstallTB/Browser/TorBrowser/Data/Browser/profile.default"
ls -d /opt/firefox-* &>/dev/null && problemOldInstall="detected" # ancienne localisation install firefox
[ "$problemOldInstall" ] && f__info "raw" "$RED""Ancien(s) répertoire(s) d'installation détecté(s)" \

View File

@ -2,9 +2,21 @@
## todo
## 3.4.1 06/09/2017
## 3.5.0 06/09/2017
mineur: présentation version, espaces au lieu de Tabs
* mineur: présentation version, espaces au lieu de Tabs
* fix bug droits sur personnalisation (root sur version dev?) ffx_pers_install
* préventif sur f_tb_pers_install
* cosmétique dirInstallTB="/opt/usr/share/tor-browser" au lieu de "/opt/usr/share/tor-browser/"
* f_tb_get_version, f_tb_install, f_tb_lanceur_desktop, f_tb_pers_get_version, f_tb_pers_install,
f_tb_pers_remove, f_tb_remove
* cosmétique profilTor
* f_tb_pers_get_version, f_tb_pers_install
* cosmétique dirTemp
* f_tb_install, ffx_install, ffx_pers_install
* cosmétique user_
* ffx_profil_user
* fscript_cronAnacron, fscript_update, fscript_install, fscript_remove
## 3.4.0 05/09/2017