proposer de créer la configuration par défaut
This commit is contained in:
parent
f04e862bc0
commit
f96c4821cd
|
@ -4058,6 +4058,21 @@ function debug_tee() {
|
||||||
################################################################################
|
################################################################################
|
||||||
## environnement
|
## environnement
|
||||||
|
|
||||||
|
function get_user_defaults_file() {
|
||||||
|
# Afficher le chemin vers le fichier utilisateur à éditer pour qu'il soit chargé
|
||||||
|
# par 'set_defaults $1'. Ce fichier n'existe pas forcément; il faut peut-être le
|
||||||
|
# créer.
|
||||||
|
if [ -r "$HOME/etc/default.${HOSTNAME%%.*}/$1" ]; then
|
||||||
|
echo "$HOME/etc/default.${HOSTNAME%%.*}/$1"
|
||||||
|
elif [ -r "$HOME/etc/default/$1" ]; then
|
||||||
|
echo "$HOME/etc/default/$1"
|
||||||
|
elif [ -n "$UTOOLS_LOCAL_PROFILES" ]; then
|
||||||
|
echo "$HOME/etc/default.${HOSTNAME%%.*}/$1"
|
||||||
|
else
|
||||||
|
echo "$HOME/etc/default/$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
function get_defaults_files() {
|
function get_defaults_files() {
|
||||||
# Initialiser le tableau $1(=defaults) avec la liste des fichiers qui seraient
|
# Initialiser le tableau $1(=defaults) avec la liste des fichiers qui seraient
|
||||||
# chargés par la commande 'set_defaults $2..N'
|
# chargés par la commande 'set_defaults $2..N'
|
||||||
|
|
|
@ -11,8 +11,8 @@ function __runsmod_loadconf() {
|
||||||
# chargée avec les paramètres $2 et $3 respectivement.
|
# chargée avec les paramètres $2 et $3 respectivement.
|
||||||
local config="$1" mode="$2" update="$3"
|
local config="$1" mode="$2" update="$3"
|
||||||
|
|
||||||
urequire runs.defaults
|
urequire runsmod.defaults
|
||||||
set_defaults runs
|
set_defaults runsmod
|
||||||
if [ -n "$config" ]; then
|
if [ -n "$config" ]; then
|
||||||
[ -f "$config" ] || {
|
[ -f "$config" ] || {
|
||||||
eerror "$config: fichier introuvable"
|
eerror "$config: fichier introuvable"
|
||||||
|
|
|
@ -96,6 +96,45 @@ parse_opts "${PRETTYOPTS[@]}" \
|
||||||
-a,--append-output append_output=1 \
|
-a,--append-output append_output=1 \
|
||||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
|
if [ -z "$config" ]; then
|
||||||
|
# Vérifier si une configuration existe
|
||||||
|
noconfig=1
|
||||||
|
get_defaults_files dconfs runsmod
|
||||||
|
for dconf in "${dconfs[@]}"; do
|
||||||
|
if [ -n "$(<"$dconf" filter_comment)" ]; then
|
||||||
|
noconfig=
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ -n "$noconfig" ]; then
|
||||||
|
setx userconfig=get_user_defaults_file runsmod
|
||||||
|
ewarn "Aucune configuration n'existe pour runsmod"
|
||||||
|
if ask_yesno "Voulez-vous installer une configuration par défaut?" X; then
|
||||||
|
if [ ! -f "$userconfig" ]; then
|
||||||
|
ewarn "Les profils par défaut ne sont pas installés. Il est conseillé d'installer nutools puis de faire 'uenv -u' avant de continuer"
|
||||||
|
ask_yesno "Voulez-vous continuer?" N || die
|
||||||
|
touch "$userconfig"
|
||||||
|
fi
|
||||||
|
setx lines=wc -l <"$userconfig"
|
||||||
|
lines=$(($lines + 4 + 1))
|
||||||
|
# dans la ligne ci-dessus, 4 est le nombre de lignes affichées par
|
||||||
|
# la commande suivante:
|
||||||
|
echo >>"$userconfig" "
|
||||||
|
### Configuration par défaut
|
||||||
|
# Ces valeurs sont copiées pour référence depuis le module runsmod.defaults
|
||||||
|
"
|
||||||
|
awk <"$ULIBDIR/runsmod.defaults" >>"$userconfig" '
|
||||||
|
BEGIN { copy = 0 }
|
||||||
|
/--runsmod.defaults--/ { copy = 1; next }
|
||||||
|
copy { print }
|
||||||
|
'
|
||||||
|
"${EDITOR:-vi}" +"$lines" "$userconfig"
|
||||||
|
elif check_interaction -y; then
|
||||||
|
die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
__runsmod_loadconf "$config" "$mode" "$update" || die
|
__runsmod_loadconf "$config" "$mode" "$update" || die
|
||||||
runsmod_checkenv || die
|
runsmod_checkenv || die
|
||||||
estepn "Opération dans le mode $RUNSMOD_MODE"
|
estepn "Opération dans le mode $RUNSMOD_MODE"
|
||||||
|
|
Loading…
Reference in New Issue