当我`apt dist-upgrade`时,自建包会发生什么?

当我`apt dist-upgrade`时,自建包会发生什么?

我安装了一些自建的 deb 包(PAM)

sudo dpkg --force-all -i /opt/bzr/build-area/*.deb

tree是:

/opt/bzr/build-area 
.
├── libpam0g_1.1.8-3ubuntu1_amd64.deb
├── libpam0g-dev_1.1.8-3ubuntu1_amd64.deb
├── libpam-cracklib_1.1.8-3ubuntu1_amd64.deb
├── libpam-doc_1.1.8-3ubuntu1_all.deb
├── libpam-modules_1.1.8-3ubuntu1_amd64.deb
├── libpam-modules-bin_1.1.8-3ubuntu1_amd64.deb
├── libpam-runtime_1.1.8-3ubuntu1_all.deb
├── pam_1.1.8-3ubuntu1_amd64.build
├── pam_1.1.8-3ubuntu1_amd64.changes
├── pam_1.1.8-3ubuntu1.diff.gz
├── pam_1.1.8-3ubuntu1.dsc
└── pam_1.1.8.orig.tar.gz
  1. 重要提示:当新的官方 Ubuntu PAM 版本发布并且我运行时会发生什么apt dist-upgrade -y?它会覆盖我自己的包吗?

  2. 可选:我需要--force-all在吗dpkg -i

  3. 选修的:https://code.launchpad.net/~ubuntu-core-dev/pam/ubuntu对我来说看起来像一个“开发分支”?是否存在“稳定分支”?如何用bzr获取它?

相关:https://unix.stackexchange.com/a/382363/239596

答案1

  1. 是的,如果他们使用比您的软件包更高的版本号,他们会的,除非您适当地调整您的引脚优先级(或保留软件包,如CAS)。请注意,如果您使用相同的版本号,存储库的软件包可能会覆盖您的软件包,因此您应该在本地重建时真正增加版本(通常为“1.1.8-3ubuntu1.1”)。

  2. 不,除非绝对必要,否则您应该避免使用它。如果您认为有必要,那么您的软件包可能有问题,您应该修复它。

  3. 该代码存储库自 2014 年以来就没有更新过,所以我怀疑它是一个活跃的开发存储库。你可以看到各个pam分支发射台,并使用例如 来克隆它们bzr branch lp:ubuntu/vivid/pam

我处理此类情况的方法如下:

  • 查看源代码(debcheckoutapt-get source
  • 如果它在存储库中,请使用我感兴趣的补丁创建一个新分支
  • 如果不是,请手动应用补丁
  • 在这两种情况下,使用适当的变更日志条目来增加版本dch -n(不提交,以避免合并问题)
  • 构建包并安装它(在我的例子中,通过本地包存储库)

当新版本的包发布时,我会重复上面的内容;对于源存储库,我会重新调整补丁的基础,而不是从头开始。

相关内容