Junior Jobs
From openSUSE
Junior Jobs are low priority issues that are easy to fix. Everybody sometimes has these. It is nice to have them done but usually people responsible for these has some more important things to do (high priority issues), so these things can wait for quite some time to get done. So it is great opportunity for our community member who wants to contribute, but don't know how.
Contents |
openSUSE Build Service Jobs
The openSUSE Build Service team maintains a wiki page with tasks that can be picked up by community.
Package Bugs
Packages might have quite some bugs and many of them are easy to fix. So some of them can be marked as Junior Jobs. Marking a bug as Junior Job doesn't mean that the maintainer doesn't care about the bug anymore! If nobody volunteers, the bug will be eventually fixed by the maintainer. It is just an easy way to learn how to contribute.
Workflow
- Maintainer decides that bug is actually Junior Job
- Maintainer puts the JJ: prefix to the summary
- There is an edit link next to the summary at the end of bugzilla page
- He can also specify some other details (alternative way of sending patch, not accepting submitrequests and getting patches from upstream, ...)
- Contributor finds a bug using bugzilla search - http://tr.im/opensusejj
- Contributor adds comment that he wants to work on bug and proposes how long will it take to fix it
- Something like "I'll take care of this during the weekend"
- Contributor fixes bug, report it upstream whenever bug is not suse-specific, send submitrequest to the devel project and puts request number and link to the upstream bugreport into bugzilla
- If there is no update after proposed time period, bug is considered free and anybody can retake it
- Maintainer will review the request and either accept it and push it to the factory or decline it and tell contributor what was wrong and needs to fixed
How to fix a bug
- 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 usefull
- 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
- Unpack source
- 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 submitrequest to the maintainer
osc sr -m 'Fixed bug #1234'
- run first - only if you added or removed files
- 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 bugreport to the community member who actually fixed the bug
- List of bugs already fixed: http://tr.im/opensusejjfixed

