我拥有项目在 Launchpad 上。我在 16.04 上开发了它,大部分时间都在 14.04 上测试它以检查,除了最新版本。事实证明,最新版本在 16.04 上运行良好,但不能向后运行。
不过,我复制了最新版本,以为这样就没问题了,已经复制到所有 Ubuntu 版本了。我当然可以将以前的版本上传为较新的版本,但这似乎很奇怪,所以:
对于特定的 Ubuntu 版本,我可以将我的项目回滚到以前的版本吗?
答案1
您将无法从 PPA 中降级用户端已安装软件包的版本号。
主要问题是,14.04 上的某些人可能已从该 PPA 更新了您无法正常运行的软件包。由于并非所有用户都已受到影响,我建议立即删除有问题的软件包从 14.04 PPA 开始,以避免更多人更新。
然后,您需要一些时间来调试您的软件包,使其在 16.04 和 14.04 上运行。此版本将具有较新的版本号,然后可以安全地复制到所有系列。
如果这不容易实现,您将必须发布在 14.04 上运行的最后一个版本,其版本号从现在开始 +1,并发布另一个版本,其版本号为 +2,作为 16.04 的最新版本。
答案2
只要您删除了该系列的最新版本并且没有等待太长时间,您就可以使用“复制包”页面(这里在这个 PPA 的情况下)将以前被取代的版本复制回您的 PPA;您需要将下拉菜单更改为“取代”来找到它,将目标 PPA 设置为您的 PPA 并将目标系列设置为可信,然后选择“复制现有二进制文件”。
如果由于等待时间过长而导致之前的版本不再可用,那么您仍然可以从受影响的系列中删除最新版本并上传低于该版本的版本,例如 0.5.4-2。您不能重复使用之前在该 PPA 中使用过的版本号,如果您想让版本倒退,您必须执行略显尴尬的删除然后上传操作,但这是可能的。
(这些都不会导致 apt 客户端自动降级到较低的版本号。您是否关心这一点取决于您的 PPA 的受众。)