是否有setup.py的bdist_rpm的%config(noreplace)选项?

时间:2015-08-07 14:58:41

标签: python-2.7 rpm setuptools

我正在构建一个python包,我想使用python setup.py bdist_rpm通过rpm分发它。但是,我正在包含一个配置文件,如果我在其安装的计算机上升级RPM,我希望保留其中的任何更改。无论如何在setup.py脚本或命令中设置一个标志,我不希望RPM在升级的情况下替换配置文件?我在使用Python 2.7。谢谢!

1 个答案:

答案 0 :(得分:0)

python setup.py  bdist_rpm --spec-only

这将创建dist / *。规范,手动编辑它。特别是改变:

%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

https://fedoraproject.org/wiki/How_to_create_an_RPM_package