openSUSE:修复错误
每个人都可以通过修复软件包中的错误来改进 openSUSE 发行版。软件包可能存在相当多的错误,其中许多错误很容易修复。本页描述了修复软件包中错误所需的步骤!
注意: 以下内容可能对新的打包人员来说不够详细,需要更多解释。请参阅 openSUSE:Build Service Tutorial - openSUSE:Package maintenance
有关处理错误的更多信息,请参阅上面的链接。有关打包文档,请阅读 Packaging documentation!
工作流程:如何修复软件包中的错误
package = 您要处理的软件包的名称
有些软件包已经迁移到 Git 跟踪。如果您看到与 Git 或 SCM 相关的意外行为,请阅读 openSUSE:OBS_to_Git
- 创建您将使用的分支
osc branch openSUSE:Factory package - 检出源代码
osc co home:login:branches:project/package - 进入正确的目录;-)
cd home:login:branches:project/package - 如果您需要修补任何内容,quilt 可能会很有用
- 解压源代码
quilt setup package.spec - 再次进入正确的目录;-)
cd unpacked_package_directory - 应用所有现有的补丁
quilt push -a - 创建新的补丁
quilt new package-version-brief-description.patch - 添加要修改的文件
quilt add file - 修改文件(此任务和上一个任务可以一起完成,使用quilt edit file)
- 创建最终补丁
quilt refresh -p0 package-version-brief-description.patch
- 解压源代码
- 使用您的编辑器将补丁添加到 package.spec 文件中
- 如果已经引用了其他 Patch 文件,请将您的补丁添加到下一行,如下所示:PatchX: package-version-brief-description.patch其中 X 是前一个补丁号加 1。
- 如果在 package.spec 文件中没有其他补丁文件,在最后一个 SourceX: 行之后添加Patch0: package-version-brief-description.patch
- 在 %setup 之后添加 %patchX -pN,其中 X 是您上面指定的补丁号,N 是您上面指定的 -p 数字。
- 进行测试构建osc build
- 不要忘记 标记所有新补丁,并使用以下方式将条目添加到 .changes 文件中:osc vc确保以这种格式提及错误:'boo#1234',以便 OBS 可以解析错误引用。
- 修复所有内容并在上游报告问题后,剩下的就是将更改提交到构建服务
- 首先运行 - 仅当您添加或删除了文件时
osc addremove - 然后提交更改
osc commit - 并向维护者发送提交请求
osc sr -m '修复了 bug #1234'
- 首先运行 - 仅当您添加或删除了文件时
- 当然,还要向 bugzilla 报告错误已在请求中修复
- 例如:“已发送 sr#456,已报告上游 http://bugzilla.foo.bar/?id=1234”
- 接受后,维护者将错误报告重新分配给实际修复错误的社区成员