Załóżmy, że mamy program o nazwie foo
.Jak radzić sobie z plikami konfiguracyjnymi z distutils, aby szanować system plików FHS uniksona?
Jeśli użycie ścieżka bezwzględna:
setup(...,
data_files=[...,
('/etc', ['foo.cfg'])]
)
Następnie foo$ python setup.py --prefix=/usr/local
i będziemy mieli /etc/foo.cfg
. Ale powinniśmy mieć /usr/local/etc/foo.cfg
zamiast tego zgodnie z FHS.
Co się stanie, jeśli użyjemy ścieżki względnej?
setup(...,
data_files=[...,
('etc', ['foo.cfg'])]
)
Następnie jeśli używamy domyślnej ścieżki instalacji, to zainstalować do katalogu/usr, będziemy mieć /usr/etc/foo.cfg
. Złe Powodzenia.
Jak to zrobić, prawda?
P.S. Aby uniknąć komplikacji problemu, zakładamy, że ten program nie może działać w środowisku innym niż unix.