Giả sử chúng tôi có một chương trình có tên là foo
.Làm cách nào để xử lý các tệp cấu hình có méo để tôn trọng FHS của unixen?
Nếu sử dụng tuyệt đối đường dẫn:
setup(...,
data_files=[...,
('/etc', ['foo.cfg'])]
)
Sau đó foo$ python setup.py --prefix=/usr/local
và chúng tôi sẽ có /etc/foo.cfg
. Nhưng chúng tôi phải có /usr/local/etc/foo.cfg
thay vì theo FHS.
Nếu chúng ta sử dụng đường dẫn tương đối thì sao?
setup(...,
data_files=[...,
('etc', ['foo.cfg'])]
)
Sau đó, nếu chúng tôi sử dụng đường dẫn cài đặt mặc định, tức là cài đặt vào/usr, chúng tôi sẽ có /usr/etc/foo.cfg
. Bad may mắn lần nữa.
Vậy làm cách nào để thực hiện đúng?
P.S. Để tránh làm cho vấn đề phức tạp hơn, chúng tôi giả định rằng chương trình này foo
không thể chạy trong môi trường không Unix.