mirror of https://framagit.org/kyodev/kyopages.git
2.1.0
This commit is contained in:
parent
fbfcff310c
commit
100fe2c7f8
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
version=2.0.9
|
version=2.1.0
|
||||||
date="20/08/2017"
|
date="21/08/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"
|
||||||
|
@ -69,9 +69,11 @@ f__error() { # v16/08/2017
|
||||||
}
|
}
|
||||||
|
|
||||||
# affichage des paramètres en bleu, si $1=raw, pas d'espace en début de ligne, pas de ligne vide à la fin
|
# affichage des paramètres en bleu, si $1=raw, pas d'espace en début de ligne, pas de ligne vide à la fin
|
||||||
f__info() { # v16/08/2017
|
# si $1=log, uniquement $2 logué
|
||||||
if [ "$1" == "raw" ]; then depart=2;
|
f__info() { # v21/08/2017
|
||||||
|
if [ "$1" == "raw" ] || [ "$1" == "log" ]; then depart=2;
|
||||||
else local espace=" "; local depart=1; fi
|
else local espace=" "; local depart=1; fi
|
||||||
|
[ "$1" == "log" ] && f__log "$(sed -E 's/\\t//;s/\\n// ' <<< $2 | xargs )"
|
||||||
for (( i=$depart ; i<=$# ; i++ )); do echo -e "$espace$BLUE${!i}"; done
|
for (( i=$depart ; i<=$# ; i++ )); do echo -e "$espace$BLUE${!i}"; done
|
||||||
[ "$1" == raw ] && printf "$COLOR" || echo "$COLOR"
|
[ "$1" == raw ] && printf "$COLOR" || echo "$COLOR"
|
||||||
}
|
}
|
||||||
|
@ -121,30 +123,38 @@ f__requis(){ # v17/08/2017-3
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# user ayant initié la session graphique, assigne $user_, testé avec mate, gnome, xfce. manque KDE
|
# user ayant initié la session graphique, assigne $user_
|
||||||
# return 1 sur echec ident user, return 2 sur absence home
|
# return 1 sur échec identification user, return 2 sur absence home/
|
||||||
# gestion variable environnement user avec: USER_INSTALL=user script
|
# gestion variable environnement user avec: USER_INSTALL=user script
|
||||||
f__user(){ # v17/08/2017-4
|
f__user(){ # v21/08/2017-4
|
||||||
local user_id
|
if [ "$USER_INSTALL" ]; then # user_ via variable environnement, moyen d'injecter root
|
||||||
if [ "$USER_INSTALL" ]; then user_="$USER_INSTALL"; fi # user_ via variable environnement
|
user_="$USER_INSTALL";
|
||||||
if [ -z "$user_" ]; then # priorité à $USER_INSTALL
|
return 0
|
||||||
if [ "$SUDO_UID" ]; then user_id="$SUDO_UID"; fi # sudo
|
|
||||||
user_id="$(grep -qEo '[0-9]+' <<< "$XAUTHORITY")" || user_id="$(grep -qEo '[0-9]+' <<< $XDG_RUNTIME_DIR)"
|
|
||||||
if [ "$user_id" ]; then user_="$(grep $user_id /etc/passwd | cut -d ":" -f 1 )"
|
|
||||||
else user_="$(echo $XAUTHORITY | cut -d "/" -f 3)"; fi
|
|
||||||
if [ -z "$user_" ] && [ "$LOGNAME" ] ; then user_="$(grep -v 'root' <<< $LOGNAME)"
|
|
||||||
elif [ -z "$user_" ] && [ "$(grep -v 'root' <<< $HOME)" ]; then user_="$(cut -sd / -f 3 <<< $HOME)"
|
|
||||||
elif [ -z "$user_" ]; then user_="$(grep -v 'root' <<< $(who | head -n1 | cut -d ' ' -f1))"; fi
|
|
||||||
fi
|
fi
|
||||||
if [ -z "$user_" ]; then
|
local user_id test
|
||||||
echo -e "user indéterminé, pour contourner, lancer le script avec:\n USER_INSTALL=user $0 n" \
|
local root_login="$(grep ':0:' /etc/passwd | cut -d':' -f1)" || local root_login="root"
|
||||||
"merci contacter $projet $contact pour corriger ça"
|
if [ "$SUDO_UID" ]; then
|
||||||
return 1
|
user_id="$SUDO_UID";
|
||||||
|
elif grep -qEo '[0-9]+' <<< "$XDG_RUNTIME_DIR" ; then
|
||||||
|
user_id="$(grep -Eo '[0-9]+' <<< $XDG_RUNTIME_DIR | cut -d'/' -f4)"
|
||||||
|
elif grep -qEo '[0-9]+' <<< "$XAUTHORITY" ; then
|
||||||
|
user_id="$(grep -Eo '[0-9]+' <<< $XAUTHORITY | cut -d'/' -f4)"
|
||||||
fi
|
fi
|
||||||
if [ ! -d "/home/$user_" ]; then
|
[ "$user_id" ] && user_="$(grep $user_id /etc/passwd | cut -d ":" -f 1 )"
|
||||||
echo -e "répertoire '/home/$user_' INEXISTANT"
|
if [ "$user_" ] && [ "$user_" != "$root_login" ]; then
|
||||||
return 2
|
return 0
|
||||||
|
else
|
||||||
|
if [ "$SUDO_USER" ] && [ "$SUDO_USER" != "$root_login" ]; then
|
||||||
|
user_="$SUDO_USER";
|
||||||
|
elif grep -qv 'root' <<< "$(who)"; then
|
||||||
|
user_="$(grep -v 'root' <<< $(who) | head -n1 | cut -d ' ' -f1)";
|
||||||
|
elif grep -q 'hourly.*get[A-Z].*\.anacrontab.*\.config/anacron/spool' /etc/crontab; then
|
||||||
|
user_="$(grep 'hourly.*get[A-Z].*\.anacrontab.*\.config/anacron/spool' /etc/crontab | head -n1 | cut -d' ' -f2)";
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
if [ -z "$user_" ]; then return 1; fi
|
||||||
|
if [ ! -d "/home/$user_" ]; then return 2; fi
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# test wget, $1 url à tester, sortie script sur erreur
|
# test wget, $1 url à tester, sortie script sur erreur
|
||||||
|
@ -195,9 +205,12 @@ fscript_cronAnacron(){ # v20/08/2017
|
||||||
}
|
}
|
||||||
|
|
||||||
# mise à jour script si dispo
|
# mise à jour script si dispo
|
||||||
fscript_dl(){ # v20/08/2017
|
fscript_dl(){ # v21/08/2017
|
||||||
f__requis "wget"
|
f__requis "wget"
|
||||||
if [ "$script_aJour" == "ok" ]; then return 0; fi
|
if [ "$script_aJour" == "ok" ]; then
|
||||||
|
f__log "pas de mise à jour disponible pour $script"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
local dirTemp="/tmp/$script-$RANDOM/"
|
local dirTemp="/tmp/$script-$RANDOM/"
|
||||||
mkdir -p "$dirTemp"
|
mkdir -p "$dirTemp"
|
||||||
wget -q --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript"
|
wget -q --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript"
|
||||||
|
@ -207,8 +220,7 @@ fscript_dl(){ # v20/08/2017
|
||||||
cp -d "$dirTemp$script" /opt/bin/"$script"
|
cp -d "$dirTemp$script" /opt/bin/"$script"
|
||||||
rm -rf "$dirTemp"
|
rm -rf "$dirTemp"
|
||||||
fscript_cronAnacron "upgrade"
|
fscript_cronAnacron "upgrade"
|
||||||
f__info "\n $script mis à jour en version $versionScript"
|
f__info "log" "\n $script mis à jour en version $versionScript"
|
||||||
f__log "$script mis à jour en version $versionScript"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
||||||
|
@ -228,7 +240,7 @@ fscript_get_version(){ # v19/08/2017
|
||||||
}
|
}
|
||||||
|
|
||||||
# installation du script dans le système
|
# installation du script dans le système
|
||||||
fscript_install(){ # v19/08/2017
|
fscript_install(){ # v21/08/2017
|
||||||
if dirname "$0" | grep -q 'bin' ; then
|
if dirname "$0" | grep -q 'bin' ; then
|
||||||
f__info "\n $script $version est déjà installé"
|
f__info "\n $script $version est déjà installé"
|
||||||
return 1
|
return 1
|
||||||
|
@ -247,22 +259,18 @@ fscript_install(){ # v19/08/2017
|
||||||
chmod 644 "$fileLogs"
|
chmod 644 "$fileLogs"
|
||||||
chown "$user_": "$fileLogs" "/opt/bin/$script"
|
chown "$user_": "$fileLogs" "/opt/bin/$script"
|
||||||
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
|
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
|
||||||
f__info "$GREEN$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
|
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
|
||||||
f__log "$script $version installé dans le système"
|
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# suppression du script dans le système
|
# suppression du script dans le système
|
||||||
fscript_remove(){ # v08/2017
|
fscript_remove(){ # v21/08/2017
|
||||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système"
|
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système"
|
||||||
# suppression de /opt
|
# suppression de /opt
|
||||||
rm /opt/bin/"$script" &>/dev/null
|
rm /opt/bin/"$script" &>/dev/null
|
||||||
unlink /usr/bin/"$script" &>/dev/null
|
unlink /usr/bin/"$script" &>/dev/null
|
||||||
unlink /usr/local/bin/"$script" &>/dev/null # ancienne localisation
|
|
||||||
# cron/anacron remove
|
# cron/anacron remove
|
||||||
fscript_cronAnacron "remove"
|
fscript_cronAnacron "remove"
|
||||||
f__info "$GREEN$script $version supprimé du système."
|
f__info "log" "$script $version supprimé du système."
|
||||||
f__log "$script $version supprimé du système"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# détermination canal bas Firefox installé, assigne $firefoxCanalBas
|
# détermination canal bas Firefox installé, assigne $firefoxCanalBas
|
||||||
|
@ -398,9 +406,7 @@ ffx_install(){
|
||||||
ffx_usr_bin
|
ffx_usr_bin
|
||||||
# traitement user
|
# traitement user
|
||||||
ffx_profil_user
|
ffx_profil_user
|
||||||
[ "$versionArchive" ] && local sup="version $versionArchive"
|
f__info "log" "Firefox-$produit installé $versionArchive"
|
||||||
f__info "$GREEN""Firefox-$produit installé"" $sup"
|
|
||||||
f__log "Firefox-$produit installé"" $sup"
|
|
||||||
ffx_godzilla
|
ffx_godzilla
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,12 @@
|
||||||
* pocket
|
* pocket
|
||||||
* user.pref (autoplay, ...)
|
* user.pref (autoplay, ...)
|
||||||
|
|
||||||
|
## 2.1.0 21/08/2017
|
||||||
|
|
||||||
|
* révison f__user
|
||||||
|
* log: pas de maj script
|
||||||
|
* maj fscript_dl, fscript_install, fscript_remove, f__info
|
||||||
|
|
||||||
## 2.0.9 20/08/2017
|
## 2.0.9 20/08/2017
|
||||||
|
|
||||||
* fix bug: fscript_cronAnacron appel fscript_cronAnacron_special
|
* fix bug: fscript_cronAnacron appel fscript_cronAnacron_special
|
||||||
|
|
Loading…
Reference in New Issue