Есть ли опция%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

Другие вопросы по тегам