У меня есть проект, который требует послеустановочных хуков для развертывания. Мой метод состоит в том, чтобы использовать setuptools для создания файла спецификации rpm для скелета и архивирования исходных файлов.
Проблема в том, что я не знаю, как управлять разрешениями с помощью этого метода. Файл спецификации выглядит так:
%install
python setup.py install --single-version-externally-managed --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
%files -f INSTALLED_FILES
%defattr(755,%{user},%{user})
Это работает достаточно хорошо: все файлы настроены для соответствующего пользователя и прав доступа. Но каталоги не имеют атрибутов, установленных на них. Я не могу сказать, является ли это проблемой, но это кажется странным: все каталоги принадлежат пользователю root с разрешениями 755. Кто-нибудь знает хороший (достаточно стандартный) способ сделать каталоги, принадлежащие user
? Я спрашиваю, потому что моя компания предпочитает упаковывать приложения, которые будут развернуты под учетной записью роли конкретного приложения. Когда я использую setuptools, чтобы поместить результаты в пакеты сайтов, .pyc
файлы копируются. Но если я хочу создать каталог с конфигурационным файлом по пути, это неплохое решение.