diff --git a/lib/runsconfig.template/config b/lib/runsconfig.template/config new file mode 100644 index 0000000..e2b8334 --- /dev/null +++ b/lib/runsconfig.template/config @@ -0,0 +1,7 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +# Ce fichier contient la recette pour configurer le serveur: configuration des +# mappings, configuration du serveur de courrier, de la sauvegarde, etc... Il +# faut relancer cette recette à chaque fois que la configuration change. +#mailrelay rootmail= +#hostmappings mappings +#backupclient bckhost= diff --git a/lib/runsconfig.template/default b/lib/runsconfig.template/default new file mode 100644 index 0000000..e048dcb --- /dev/null +++ b/lib/runsconfig.template/default @@ -0,0 +1,9 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +# Ce fichier contient la liste des script à lancer avec le compte root pour +# configurer @@host@@ +# Chaque ligne contient le nom du script suivi des arguments éventuels +#initenv +#dump-users +#base +#@services +#@config diff --git a/lib/runsconfig.template/runs.conf b/lib/runsconfig.template/runs.conf new file mode 100644 index 0000000..d08b2de --- /dev/null +++ b/lib/runsconfig.template/runs.conf @@ -0,0 +1,4 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +# Ce fichier contient les paramètres qui sont partagés par tous les scripts de @@host@@ +#var name=value arr+=value arr-=value +#var arr value0 value1... diff --git a/lib/runsconfig.template/script.template b/lib/runsconfig.template/script.template new file mode 100755 index 0000000..c4d5585 --- /dev/null +++ b/lib/runsconfig.template/script.template @@ -0,0 +1,11 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +desc "Description du script" + +script: + +# pour un script d'installation qui ne doit tourner qu'une seule fois: +#shouldrun || exit +#... +#setdone + +exit 0 diff --git a/lib/runsconfig.template/services b/lib/runsconfig.template/services new file mode 100644 index 0000000..08edc96 --- /dev/null +++ b/lib/runsconfig.template/services @@ -0,0 +1,3 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +# Ce fichier contient la recette pour installer les services du serveur. Cette +# installation ne se fait en principe qu'une seule fois. diff --git a/lib/runsconfig.template/sysinfos.conf b/lib/runsconfig.template/sysinfos.conf new file mode 100644 index 0000000..f1325bd --- /dev/null +++ b/lib/runsconfig.template/sysinfos.conf @@ -0,0 +1,7 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +# Ce fichier contient les informations sur le type de système installé sur $host +# Il est possible de recopier la valeur affichée par la commande usysinfos +#sysname=() +#sysdist=() +#sysver=() +#bits= diff --git a/lib/runsconfig.template/userdefault b/lib/runsconfig.template/userdefault new file mode 100644 index 0000000..33bc3f5 --- /dev/null +++ b/lib/runsconfig.template/userdefault @@ -0,0 +1,4 @@ +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +# Ce fichier contient la liste des script à lancer avec le compte utilisateur +# pour configurer @@host@@ +# Chaque ligne contient le nom du script suivi des arguments éventuels \ No newline at end of file diff --git a/runsconfig b/runsconfig new file mode 100755 index 0000000..d9f2e8a --- /dev/null +++ b/runsconfig @@ -0,0 +1,42 @@ +#!/bin/bash +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +source "$(dirname "$0")/lib/ulib/ulib" || exit 1 +urequire DEFAULTS template + +function display_help() { + uecho "$scriptname: Gérer un répertoire d'hôte de runs + +USAGE + $scriptname [options] + +OPTIONS + -d, --destdir DESTDIR + Spécifier le répertoire d'hôte dans lequel copier les fichiers. + -l, --list + Lister les templates disponibles. + -m, --merge + Copier les templates spécifiés dans le répertoire d'hôte s'il n'y + existent pas déjà + -z, --unmerge + Supprimer les fichiers du répertoire d'hôte s'ils n'ont pas été modifiés + par rapport aux templates. + -C, --clean + Supprimer les répertoires vides dans le répertoire de référence. Peut + être utile après -z + -g, --diff + Afficher les différences entre les templates et les fichiers du + répertoire d'hôte." +} +function __templatectl_display_help() { display_help; } + +__templatectl_parseopts "$@" && \ + set -- "${args[@]}" || die "$args" + +# répertoire source +srcdir="$scriptdir/lib/runsconfig.template" +# répertoire de référence +[ -n "$destdir" ] || destdir=. + +[ -n "$templatectl_opt" ] || templatectl_auto=1 +[ -d "$destdir" ] || die "$destdir: répertoire introuvable" +__templatectl_do "$@"