我正在开发一个 cmake 项目,我们使用包含 C++ 库的 cpack 创建一个 .deb 包。目标是在主分支上运行一个管道,生成包并将其放置在我们的本地存储库中,同样在 dev 分支下。
现在,为了区分具有相同名称的软件包,我想使用
-t
中的 apt install -t target packagename
选项来决定是否从本地存储库中的 main 安装该软件包,例如“/stable” ”或位于本地存储库的开发包“不稳定”。
到目前为止我还没有弄清楚如何实现这一目标。 当我在不同的本地存储库中有一个同名的包时,如何唯一标识要安装哪个包?
我想通了,所以我在这里发帖以防有人觉得有用。
总而言之:
在sources.list我添加了我的本地来源:
deb [trusted=yes] myrep/unstable ./
deb [trusted=yes] myrep/stable./
在每个存储库文件夹中,我在“发布”文件的开头有以下内容:
Archive: unstable
Version: 1.0
Codename: unstable
Date: 2024
Architectures: amd64 i386
Components: main
Description: Unstable Local APT Repository with packages built from the dev branch
“稳定”存储库也是如此。
然后通过执行
sudo apt-get install -t unstable packagename
,它会从不稳定的存储库安装,如果我执行sudo apt-get install packagename
,它会从稳定的存储库安装。