Есть ли опция%config(noreplace) для bdist_rpm в файле setup.py?
Я собираю пакет Python, и я хочу распространять его через rpm, используя python setup.py bdist_rpm
, Тем не менее, я включаю файл конфигурации, и я хочу, чтобы в нем остались какие-либо изменения, если я когда-нибудь обновлю RPM на машине, на которой он установлен. Есть ли способ установить флаг в скрипте или команде setup.py, чтобы RPM не заменял файл конфигурации в случае обновлений? Я на Python 2.7. Спасибо!
1 ответ
python setup.py bdist_rpm --spec-only
Это создаст dist/*. Spec, отредактируйте его вручную. Особенно изменить:
%install
python setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
%files -f INSTALLED_FILES
чтобы:
%install
python setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT
%files
%{python_sitelib}/*
%config(noreplace) %{_sysconfdir}/yourconfig.conf
Примечание: вы можете добавить больше строк в раздел%files, это зависит от того, что вы положили в buildroot. Если вы пропустили что-то из следующего шага, rpmbuild сообщит об этом как об ошибке.
Затем вы можете построить SRPM, используя
rpmbuild -bs dist/*.spec
Дополнительные ресурсы можно найти здесь:
https://fedoraproject.org/wiki/Packaging:Python
http://%20https://fedoraproject.org/wiki/How_to_create_an_RPM_package