Supposons que nous ayons un programme appelé foo
.Comment gérer les fichiers de configuration avec distutils pour respecter le FHS d'unixen?
Si l'utilisation chemin absolu:
setup(...,
data_files=[...,
('/etc', ['foo.cfg'])]
)
Alors foo$ python setup.py --prefix=/usr/local
et nous aurons /etc/foo.cfg
. Mais nous devrions avoir /usr/local/etc/foo.cfg
à la place selon FHS. Que se passe-t-il si nous utilisons un chemin relatif?
setup(...,
data_files=[...,
('etc', ['foo.cfg'])]
)
Ensuite, si nous utilisons le chemin d'installation par défaut, à savoir installer dans/usr, nous aurons /usr/etc/foo.cfg
. Bad encore une fois la chance.
Alors, comment le faire correctement?
P.S. Pour éviter de compliquer le problème, nous supposons que ce programme foo
ne peut pas fonctionner dans un environnement non unix.