The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Nemo/GettingStartedInFixingBugs
From Mer Wiki
Contents |
Getting Started in Fixing Bugs
Prerequisites
- Tools on your computer:
- User accounts
- Community OBS account (from lbt or X-Fade)
- Nemo Bugzilla account (same account works on both mer and nemo bugzilla, register here: https://bugs.merproject.org/createaccount.cgi)
- For running on device: Nemo Mobile device
- Optionally
- For N900/N950 devices Qt SDK 1.1.4 with Harmattan target installed may help testing the fix
Take a bug
- Go to https://bugs.nemomobile.org
- Chooce a bug, preferably one from not-assigned bugs.
- Change the assignee to yourself
- Change the bug status to assigned
Create a patch
Ideally, we would fix the upstream package and would release a new version of the package. However, many times we want fix quicker than this allows and thus end up temporarily patching the package. This gives a brief instructions on how.
Once you know which package needs to be fixed
- Find where the upstream git repository is
- Clone the sources
git clone <url>
- Check out the release tag that matches the version in Nemo
- Create local branch for you fix
- Fix the sources.
- In fixing your package the QtSDK may help you if you work on N900 or N950. See hello world -tutorial for details
- Second option is to use local builds using osc. (TODO tutorial)
- Third option is let OBS build the package. (In practice in this point ignoring if the fix works and executing the remaining steps and steps in the next section)
- Once the fix works commit your fix to your local branch
- create patch with
git format-patch
Building package with the patch in OBS
- Log into community OBS
- Search for the package needing the fix
- Branch the package
- Go to your computers command line
- Check out your branched package with
osc -A https://api.pub.meego.com/ co <your_branched_project>/<package-name>
- Change into dir that was checked out above
- Copy the patch to working dir
- Add the patch to package's source files with
osc add <patch>
- Add the patch in .yaml file in the patches-section
- Run specify to update .spec file
- Update .changes file. See details of changelog format here
- Check in your changes with
osc ci -m "fixes NEMO#xx"
where xx is bug number - Go back to community OBS Web UI. Check that your package builds.
- Once OBS has succesfully built a package for your architecture, install it on your device to check that it works.
Submit your fixed package to Nemo
- Go to community OBS Web UI
- Enable publish for all architectures (under your branched project -> repositories)
- In case you have not done this before it would be good to say in irc channel #nemomobile that you are planning to submit bug fix
- Go to overview page of the package
- Submit
- Mark the bug in bugzilla as fixed and add link to submit request to comments of the bug
- Be prepared to do (typically minor) fixes based on automated feedback by build infrastructure or by review of maintainer (sage). Create a new submit request with the fix, if you will try to reopen the old declined one, then the same old non-fixed revision will be used.
- Once the fix has been accepted maintainer (Sage) will mark the bug as released in bugzilla
More information
- There is an example with images of a bug's life in Vesku's blog