自动将 PPA 重定向到新的包名

Automatically redirect PPA to new package name

我在这里维护 Bookworm 的 PPA: https://launchpad.net/bookworm

最近根据Elementary OS AppStore

的RDNN要求,将包名从"bookworm"改成了"com.github.babluboy.bookworm"

这要求 Ubuntu 上的安装是通过命令 "sudo apt-get install com.github.babluboy.bookworm" 而不是 "sudo apt-get install bookworm" 完成的。

虽然我已经在 Launchpad 和 Bookworm 网站上标明了这一点,但互联网上有很多帖子和博客是早些时候要求用户使用 "sudo apt-get install bookworm" 命令的。这将安装一个我不再更新的旧包(仍在 PPA 中)。

有没有一种方法可以在 Launchpad 中进行设置,以便旧包自动指向新包进行安装。

我能想到的一个 hack 是更新旧包,以便应用程序上有一个大横幅,提供切换到新包的说明。但是想到这里问有没有更优雅的方式来管理PPA中的包名更改

您需要的是旧名称的过渡包。这将是一个没有实际内容的空包,它具有新包作为依赖项。当人们 update/install bookworm 包时,它将被安装,并将新包作为依赖项拉取。新包的未来版本可以将旧包声明为冲突,并在更新时将其删除。

Debian Wiki 拥有您需要的更详细的信息。对于许多包转换场景,请参见:

https://wiki.debian.org/PackageTransition

Case #5 : Rename 是您需要的。您想要的确切页面是这个

https://wiki.debian.org/RenamingPackages

该页面上还解释了其他方法,例如 'Clean Slate Method',但 'Transition package method' 是一种更简洁的方法,值得推荐。 (如果你搜索 apt 'transitional package',你会找到很多)。