(Difference between revisions)
Revision as of 04:20, 23 November 2010
Developer's Submission Checklist
This a checklist for developer's submitting their code to MeeGo via OBS http://build.meego.com
Following this checklist will ensure smooth submission and acceptance of code.
Step 1: Builds Successfully
- My package builds successfully against the MeeGo repositories.
- My package complies with the packaging guidelines.
- My package does not break other packages. If there is an API change or other changes that might break dependent packages, I will notify Release Engineering by emailing the firstname.lastname@example.org mailing list.
Step 2: Test
- I have tested my changes on all relevant hardware. All code must be solid and tested before submission.
- If I make a change to a big package with a lot of dependents like the kernel, qt, etc. I will make sure this does not break any MeeGo verticals.
- If my change will cause regressions, I must communicate with Release Engineering on what the expected regressions will be, and the ETA of when this can be rectified.
Step 3: Changelog must refer to a feature # or bug #
- My package's .changes file and commit message refer to a valid bug # or feature # in bugzilla.
- If my change is trivial and cosmetic, then I can by-pass this step.
- For minor upgrades to a package that mostly includes bug fixes, a bug # will suffice. For major upgrades that include new features or major API changes, a feature # is required.
- If there isn't an existing bug #, then I will file one and refer to it.
- If there isn't an existing feature #, then I will file one and wait for the product management forum to set the feature state to ACCEPTED, then submit my change.
- Once I submit my change, I will change the status of the bug # or feature # to RESOLVED. It is preferred that you also state the submission request # in the bug or feature comment
- The status will be changed to RELEASED by Release Engineering once the submission has made it into Trunk.
Step 4: Submit from correct place to correct place
- All submissions will first be submitted to a relevant Meego :Testing project, and then be promoted by Release Engineering to Trunk.
- e.g. developer submits to Trunk:Testing project. Then Release Engineering will promote that change to Trunk if all goes well.
- If my package is maintained under a devel: project, I must first submit my request to the corresponding devel: project. The devel: maintainer will then be responsible for submitting from the devel: project to the appropriate MeeGo :Testing project.
- e.g. qt -> devel:qt-mtf -> Trunk:Testing -> Trunk
- If my package is not maintained under a devel: project, I will branch using the 'osc branch $project $pkg' command, where $project refers to the target $project I am submitting to.
- e.g. osc branch Trunk:Testing mlocate
- This will create a home branch for you to work in - home:$user:branches:Trunk:Testing/mlocate
This is a summary of the following detailed resources: