正如Dobey所提到的,为了使补丁能够被已发布的Ubuntu版本接受,它必须通过稳定发行更新(SRU)流程获得。SRU进入的门槛很高。总结过程背后思想的一种简单方法可能是:“我们知道的错误比我们不知道的错误要好。” 在实践中,这意味着仅允许有针对性的错误修复,而没有任何过于“侵入性”的更改。
要继续使用SRU,必须满足许多要求:
- 该错误已在当前开发版本中修复(即定量的)。
- 错误报告的描述必须进行更新,以包括为何在稳定版本中需要修复的理由,用于重现该错误并验证其已修复的测试用例,以及对该修复的回归潜力的讨论。
- Launchpad团队
ubuntu-sru
应订阅错误报告。
- 然后将程序包上传并发布
-proposed
以实现此目的,您将需要完成赞助过程(下面的更多信息)。
在所有这些发生之后,SRU团队将验证其中的软件包已-proposed
解决该错误。-updates
经过7天的最短老化时间后,包装将被推入。
寻找合适的人
您的问题暗示着有时候启动板似乎是补丁消失的事实。可悲的是,如果您不知道该过程,可能会感觉像那样,但是我发誓,它的确不是那么糟糕。幸运的是,您需要了解的主要内容很简单。看看赞助过程以获取所有详细信息和一些提示,但是最重要的部分是使ubuntu-sponsors
团队订阅错误报告。这确保了它会出现在赞助商队列中,并由诚实的Ubuntu开发人员来查看。
如果您需要实时交谈,可以#ubuntu-devel
在Freenode IRC上完成。检查频道主题以获取当前补丁程序引导程序。他们在那里为您提供帮助。如果没有值班飞行员,请随时向该渠道寻求帮助,但请耐心等待。
准备一切
为了使该过程尽快进行,需要做一些事情。
将错误描述更新为:
[影响]
这是该错误对用户的影响的解释,以及将修补程序反向移植到稳定版本的理由
[测试用例]
步
通过
步
使用说明
核实
修复
[回归潜力]
这是任何潜在的回归讨论。
[原始报告]
下面保留了描述中曾经存在的所有内容。
接下来,准备补丁。如果您提供的debdiff能够处理所有打包位,而不是针对上游源进行补丁处理,那么一切将会更快。这包括使用软件包修补程序系统(如果使用的话)。幸运的是,add-patch
从ubuntu-dev-tools可以为您解决这个问题。
让我们来看一下。首先在错误报告中获取源代码和补丁:
$ pull-lp-source compiz precise
$ wget https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/974242/+attachment/3141645/+files/fix-974242.patch
现在,我们将补丁添加到源包中:
$ cd compiz-0.9.7.8/
$ add-patch ../fix-974242.patch
这将添加补丁程序debian/patches
并运行,dch
提示您添加新条目以debian/changelog
将条目调整为“建议的目标”并增加版本号,以使其低于上载到开发发行版的下一个版本。像这样:
compiz (1:0.9.7.8-0ubuntu1.1) precise-proposed; urgency=low
* debian/patches/fix-974242.patch: [DESCRIBE CHANGES HERE]
-- Your Name <you@example.com> Mon, 11 Jun 2012 17:37:59 -0400
的文件debian/patches/fix-974242.patch
还包含一些您可能要编辑的标题:
## Description: add some description
## Origin/Author: add some origin or author
## Bug: bug URL
现在构建您的新源代码包:
$ debuild -S -us
并创建debdiff:
$ cd ..
$ debdiff compiz_0.9.7.8-0ubuntu1.dsc compiz_0.9.7.8-0ubuntu1.1.dsc > sru-for-lp-974242.debdiff
您现在可以将结果debdiff
文件附加到错误报告中。
pull-lp-source
。没有更早的时间来查看是否/何时pull-launchpad-source