Supongamos que tenemos un programa llamado foo
.¿Cómo manejar los archivos de configuración con distutils para respetar la FHS de Unixen?
Si el uso ruta absoluta:
setup(...,
data_files=[...,
('/etc', ['foo.cfg'])]
)
Entonces foo$ python setup.py --prefix=/usr/local
y tendremos /etc/foo.cfg
. Pero deberíamos tener /usr/local/etc/foo.cfg
en lugar de acuerdo con FHS.
¿Qué pasa si utilizamos una ruta relativa?
setup(...,
data_files=[...,
('etc', ['foo.cfg'])]
)
Entonces, si usamos la ruta de instalación predeterminada, es decir, instalar en/usr, tendremos /usr/etc/foo.cfg
. Mala suerte de nuevo.
Entonces, ¿cómo hacerlo bien?
P.S. Para evitar que el problema sea más complicado, suponemos que este programa foo
no se puede ejecutar en un entorno que no sea unix.