【问题标题】:How to auto increment RPM version only if files are changed如何仅在文件更改时自动增加 RPM 版本
【发布时间】:2017-12-21 18:05:35
【问题描述】:

Linux 发行版(如 Redhat、SLES)如何构建它们的 RPM。我想了解的主要任务是他们的构建系统如何仅识别特定 RPM 中已更改的文件,然后增加 RPM 版本?

我尝试了几种方法来完成这项任务。 1)我尝试使用索引机制,我尝试跟踪 RPM 的所有文件部分以及它们的 md5sum 和时间戳,然后如果任何文件 md5sum 值发生更改,则增加 RPM 的版本。 但这种方法不可扩展。是否有任何构建软件可以用来做同样的事情?

【问题讨论】:

  • 据我所知,版本是手动维护的,changelog 是维护的

标签: linux build redhat rpm rpmbuild


【解决方案1】:

查看了 Redhat 维护的规范文件之一,tog-pegasus.spec 据观察,

1) 引入修复时版本不会自动递增。它是 手动维护。

2) 代码库中的每个更改都通过%changelog 记录下来 指令。

3) 每个更改都通过patch 命令应用

可能是,你可以遵循同样的事情:)

【讨论】:

    【解决方案2】:

    您可以在 Fedora 中查看该过程,其中 Git 存储库是公开的并包含所有提交(不会在版本之间压缩)。这是一个例子:

    用于 Red Hat Enterprise Linux 的 dist-git 并没有那么不同,但您只是偶尔通过 https://git.centos.org 获得公共导出,因此从外部看这个过程不太清楚。

    是的,我希望有更多的自动化......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 2013-06-22
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多