【发布时间】:2015-08-07 14:58:40
【问题描述】:
我正在构建一个 python 包,我想使用 python setup.py bdist_rpm 通过 rpm 分发它。但是,我包含了一个配置文件,如果我升级安装它的机器上的 RPM,我希望保留其中的任何更改。无论如何要在 setup.py 脚本或命令中设置一个标志,我不希望 RPM 在升级时替换配置文件?我在 Python 2.7 上。谢谢!
【问题讨论】:
标签: python-2.7 rpm setuptools
我正在构建一个 python 包,我想使用 python setup.py bdist_rpm 通过 rpm 分发它。但是,我包含了一个配置文件,如果我升级安装它的机器上的 RPM,我希望保留其中的任何更改。无论如何要在 setup.py 脚本或命令中设置一个标志,我不希望 RPM 在升级时替换配置文件?我在 Python 2.7 上。谢谢!
【问题讨论】:
标签: python-2.7 rpm setuptools
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
更多资源可以在这里找到:
【讨论】: