Home Wiki > openSUSE:Fixing bugs
Sign up | Login

openSUSE:Fixing bugs

tagline: From openSUSE

Everybody can improve the openSUSE distribution with fixing bugs in packages. Packages might have quite some bugs and many of them are easy to fix. This page describes the steps you need to take to fix a bug in a package!

Note: The following might not be detailed enough for new packagers and needs some more explanation. See also openSUSE:Build_Service_Tutorial - openSUSE:Package maintenance

See the links above for more information about handling bugs. For documentation about packaging read the Packaging documentation!

Workflow: how to fix a bug in a package

package = name of the package you want to work on

  • Create your own branch you will work on
    osc branch openSUSE:Factory package
  • Checkout the sources
    osc co home:login:branches:project/package
  • Get to the right directory ;-)
    cd home:login:branches:project/package
  • If you need to patch anything, quilt may be useful
    • Unpack source
      quilt setup package.spec
    • Get to the right directory again ;-)
      cd unpacked_package_directory
    • Apply all existing patches
      quilt push -a
    • Create new patch
      quilt new package-version-brief-description.patch
    • Add files to be modified
      quilt add file
    • Modify files (this and the previous task could be done together with quilt edit file)
    • Create final patch
      quilt refresh -p0 package-version-brief-description.patch
  • Don't forget to mark all new patches and add entry to the .changes file using osc vc
  • After fixing everything and reporting things upstream, all that is left is to submit the changes to the build service:
    • run first - only if you added or removed files
      osc addremove
    • then commit the changes
      osc commit
    • and send a submit request to the maintainer
      osc sr -m 'Fixed bug #1234'
  • And of course report to the bugzilla that bug is fixed in request
    • Something like "Fix sent as sr#456, reported upstream http://bugzilla.foo.bar/?id=1234"
  • After acceptance, maintainer reassign bug report to the community member who actually fixed the bug