【问题标题】:Is there a %config(noreplace) option for setup.py's bdist_rpm?setup.py 的 bdist_rpm 是否有 %config(noreplace) 选项?
【发布时间】: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


    【解决方案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

    https://fedoraproject.org/wiki/How_to_create_an_RPM_package

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 2019-03-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多