软件包版本更新策略

软件包版本更新策略

不确定这里是否是询问的正确地方,如果不是,请给我指明正确的方向。

为了举一个现实世界的例子,假设有一个软件包 - bind9。在 Precise 和 Quantal 中,它的版本是 9.8.1。原始开发人员 (ISC) 目前提供版本 9.8.4,这是 9.8 系列中的错误修复版本,以及 9.9.2,这是一个“新功能”分支。看起来,当遇到安全问题时,特定的错误修复会被移植到 9.8.1 中。

现在的问题是:为什么维护者不直接更新到最新版本错误修正发布?为什么只反向移植某些补丁?是故意的还是只是没有维护者愿意努力更新到最新的错误修复版本?

答案1

Ubuntu 对此的政策在稳定版本更新Wiki 中的页面。

这些政策都是出于对引入回归并给现有用户带来不便的担忧(完全合理),因为这些错误原本不会影响他们。如果 bind9 在稳定版本中更新,并且生产服务器因此发生故障或不可接受的行为改变,那么这对 Ubuntu 来说就是一场灾难。用户会合理地抱怨稳定版本未能保持稳定,许多人不会认为“上游做了这件事”是一个合理的借口;尤其是对于大多数人来说,错误修复更新本来就是不必要的。“不可接受的行为改变”对不同的用户可能意味着不同的事情;对于稳定版本,任何行为变化都可能被视为不可接受。

SRU 对稳定版本进行最少、可验证的修复的策略只是为了防止这种情况发生。

如果上游提供了错误修复版本,那么这些版本可以长期批准接受,但须遵守微发布例外政策

但 Ubuntu 中的大多数软件包都是基于 Debian 的。脱离 Debian 总是需要付出额外工作,因此只有有人愿意承担由此产生的额外负担,才能进行这种改变。

稳定发布团队对个别更新做出决定,并且技术委员会对常设微发布例外情况作出决定。

也许 bind 的 bugfix 发布分支适合微发布例外情况。在这种情况下,需要有人来推动,收集上游政策、回归历史等,整理一份提案并将其提交给技术委员会进行审议。

相关内容