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
  • 接受后,维护者将错误报告重新分配给实际修复错误的社区成员