[OpenBSD]

Manuel du porteur : gérer les fichiers de configuration

Les paquets ne devraient installer leurs fichiers que dans ${PREFIX}, qui correspond par défaut à /usr/local. D'un autre côté, la règle sous OpenBSD est d'installer la plupart des fichiers de configuration dans ${SYSCONFDIR}, par défaut étant défini sur /etc.

Notez qu'il est parfaitement acceptable pour un paquet d'avoir ${PREFIX} et ${SYSCONFDIR} configurés "en dur" : PREFIX et SYSCONFDIR sont principalement des options de configuration utilisateur influençant la construction du paquet.

Explication de @sample

Les "packing-lists" possèdent un mécanisme spécifique nommé @sample permettant de gérer les fichiers de configuration :

Autres spécificités de @sample

Contrairement aux autres entrées d'une "packing-list", les entrées @sample peuvent avoir un chemin absolu.

Certains gros paquets auront aussi besoin de leur propre répertoire de configuration, @sample ${SYSCONFDIR}/directory/ sera capable de gérer cette situation.

L'utilisation de @sample directory/ pour créer des répertoires spécifiques à un paquet et ne contenant aucun fichier de configuration est aussi supportée. @sample interprète parfaitement les définitions @mode, @owner et @group. Ceci peut paraître un peu laborieux car vous aurez souvent besoin de passer d'un mode par défaut à un mode spécifique au fichier de configuration et vice-versa.

Astuces.

make update-plist est capable de copier @sample vers la nouvelle PLIST mais n'est pas capable de les créer, il faudra donc qu'ils soient définis une première fois.

Notez la différence entre un fichier de configuration et un fichier de configuration exemple : le port doit être configuré pour utiliser les fichiers dans ${SYSCONFDIR} ; seule l'installation simulée doit placer des éléments dans ${PREFIX}/share/examples. Une manière simple de gérer cela est de copier les fichiers avec post- install.

Une astuce intéressante fonctionnant la plupart du temps est de regarder le Makefile du programme et de remplacer le répertoire de configuration durant la phase de simulation de l'installation grâce à l'utilisation de FAKE_FLAGS spécifiques, par exemple :
FAKE_FLAGS=DESTDIR=${WRKINST}
sysconfdir=${WRKINST}${TRUEPREFIX}/share/examples/PKGNAME
Vous devez simplement prendre garde aux programmes qui définissent le répertoire de configuration dans certains fichiers à l'installation.

Exemples