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
|
||||
|
||||
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() {
|
||||
# Initialiser le tableau $1(=defaults) avec la liste des fichiers qui seraient
|
||||
# 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.
|
||||
local config="$1" mode="$2" update="$3"
|
||||
|
||||
urequire runs.defaults
|
||||
set_defaults runs
|
||||
urequire runsmod.defaults
|
||||
set_defaults runsmod
|
||||
if [ -n "$config" ]; then
|
||||
[ -f "$config" ] || {
|
||||
eerror "$config: fichier introuvable"
|
||||
|
39
runsmod
Normal file → Executable file
39
runsmod
Normal file → Executable file
@ -96,6 +96,45 @@ parse_opts "${PRETTYOPTS[@]}" \
|
||||
-a,--append-output append_output=1 \
|
||||
@ 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_checkenv || die
|
||||
estepn "Opération dans le mode $RUNSMOD_MODE"
|
||||
|
Loading…
Reference in New Issue
Block a user