【问题标题】:How to use setuptools to create rpm packages for linux如何使用 setuptools 为 linux 创建 rpm 包
【发布时间】:2017-11-30 14:02:35
【问题描述】:

我想为我的软件构建一个 rpm 包。我只熟悉使用 linux 的 rpmbuild 工具与 spec 文件和源目录的经典方式。但是我在distutils 的文档中读到它可以以某种方式创建一个RPM 包。 Setuptools 基于 distutils 所以我猜它也有一些构建 rpm 的过程。 虽然我从来没有实际使用过这两个模块中的任何一个,但我一直认为它们会构建自己的独立包。

我有两个问题。首先是从 setuptools 创建 rpm 的确切过程是什么。其次,这种方式是否比 rpmbuild 实用程序更有条理?

到目前为止我在互联网上的研究-

  1. Setuptools 主要用于创建“wheel”包。并且和其他包如rpm或deb类似,只是linux不会像RPM那样直接理解。
  2. 需要在构建过程中传递 bdist_rpm 标志以创建 rpm 包。(link)

我对构建和分发包的概念感到很困惑。需要一些关于我在 setuptools 和 rpm 之间理解错误的解释。

【问题讨论】:

    标签: python linux rpm


    【解决方案1】:

    如何直接从 setup.py http://jeromebelleman.gitlab.io/posts/devops/setuppy/ 使用 bdist 构建 RPM 包 请注意,此方法很简单,可以只生成简单的 RPM 包。例如,您不能将需求(或构建需求)放在元数据中,您必须记住始终将它们放在命令行中。

    我会说 bdist 仅适用于初始工作。如果您想发布和支持它,那么创建 SPEC 文件是必须的。

    再举一个例子 - AFAIK,您不能使用 bdist 和 setup.py 指定 %post 或 %pre 脚本。

    这里是一个python SPEC文件的例子:https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file

    【讨论】:

      猜你喜欢
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      • 2018-01-29
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      相关资源
      最近更新 更多