为什么重建的软件包在基于 Debian / APT 的发行版中被视为降级?

为什么重建的软件包在基于 Debian / APT 的发行版中被视为降级?

我想研究为 Debian 构建软件包,但这个过程并不像在其他发行版中那么简单,当涉及到编写如何构建软件包、它依赖于什么、它是什么版本等的说明时,所以我开始重建一个已经存在的软件包。

我了解到包定义有点令人头疼(各种文件,复杂结构),但构建和重建工作流程足够简单:

  • 确保build-essentialdpkg-devdevscripts已安装。
  • /etc/apt/sources.list确保在或中启用了源存储库/dev/apt/sources.list.d/sth.list
  • 通过 获取包源apt source *package*
  • 通过安装包构建依赖项apt build-dep *package*
  • 进入包目录并使用 进行构建dpkg-buildpackage

我使用--no-sign标志是因为我只是在测试,并选择了bash作为包,一切顺利(有很多东西需要消化,我将其导入tee以便稍后查看),并且我在父目录中构建了包。我在root构建目录下构建了可所有人写入的包,但我还检查了fakeroot是否以非特权用户身份使用。

但是,当我尝试安装软件包时,APT 用大写字母告诉我它将降级已安装的版本,我实际上没有更改任何内容,版本保持不变。为什么会显示该消息?正确的方法是什么?

图像显示了当前目录中刚刚构建的包如何与已安装的包和存储库中的包的版本相匹配。

相关内容