The document discusses Ubuntu development processes. It covers developer groups, the release cycle consisting of alphas, betas, and releases, how changes are made through branches and sponsorship, and how bugs are handled through patches, tags, and the reviews team. It also outlines transitions to version control branching and challenges integrating many developers.
1 of 36
Downloaded 29 times
More Related Content
Ubuntu Development Processes
1. Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups Ubuntu Development Processes
The Release
Cycle
Making
Changes Mackenzie Morgan
Bugs
CALUG
12 May 2010
2. Outline
Ubuntu
Development
Processes
Mackenzie
Morgan
1 Developer Groups
Developer
Groups
The Release
Cycle 2 The Release Cycle
Making
Changes
Bugs
3 Making Changes
4 Bugs
3. Who are the developers?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
Making
Changes
Bugs
But thats outdated
4. What changed?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
Archive reorganisation (hereafter: archive reorg)
Making
Changes
Bugs
5. Whats archive reorg?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle A switch away from components to a uni鍖ed archive with
Making
Changes
鍖ner-grained RBAC for uploading
Bugs
6. Pre-Archive Reorganisation
Ubuntu
Development
Processes
Mackenzie
Morgan
4 components:
Developer
Groups Main
The Release
Cycle
Restricted
Making Universe
Changes
Bugs Multiverse
Core-devs upload to all of the above.
Masters of the Universe (MOTU) upload to Universe &
Multiverse
7. Post-Archive Reorganisation
Ubuntu
Development
Processes
Packagesets:
Mackenzie
Morgan Ubuntu Desktop
Developer Ubuntu Server
Groups
The Release
Kubuntu
Cycle
Xubuntu
Making
Changes
Mythbuntu
Bugs
Ubuntu Studio
Ubuntu Education Edition
Ubuntu Mobile
Kernel
Correspond to packages on install discs
8. And those access controls. . . ?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
Each packageset has a set of developers
The Release Core devs still upload anything
Cycle
Making
MOTU upload anything not in a package set
Changes
New: Generalist devs upload anything not in a restricted
Bugs
packageset
New: Per-package uploaders
9. Where are we now?
Ubuntu
Development
Processes
Mackenzie
Morgan
Done:
Developer
Groups Ubuntu Desktop
The Release
Cycle Ubuntu Server
Making
Changes
Kubuntu
Bugs Mythbuntu
Kernel
Per-package uploaders
10. How many developers are there?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle 147 in ubuntu-dev
Making
Changes Unknown number of prospective developers
Bugs
11. How do I 鍖nd a packages maintainer?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
You dont. Were not Debian.
Making
Changes
Bugs
12. What if you lack upload rights?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle Other developers can sign o鍖 on and upload your package
Making
Changes
(sponsoring)
Bugs
13. How do you get upload rights?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups 1 Do good work & get it sponsored
The Release
Cycle
2 Create a wiki page to apply
Making
Changes
3 Get sponsors to vouch for you on your wiki page
Bugs 4 Go to a Developer Membership Board (or one of the
delegated boards) meeting and get voted in
14. Outline
Ubuntu
Development
Processes
Mackenzie
Morgan
1 Developer Groups
Developer
Groups
The Release
Cycle 2 The Release Cycle
Making
Changes
Bugs
3 Making Changes
4 Bugs
15. First things 鍖rst
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release Binary-copy packages from previous release
Cycle
Making Automatically sync from Debian Sid
Changes
Bugs
Merge remaining packages
16. Stages
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Ubuntu Developer Summit
Groups
4 Alphas
The Release
Cycle 1 Beta
Making
Changes 2 Release Candidates
Bugs
Ship it!
Also, lots of freezes (Toolchain, Debian Import, String, UI,
Feature. . . )
17. What happens during freezes?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle Uploads are queued pending Archive Admin approval
Making
Changes
http://launchpad.net/ubuntu/maverick/+queue
Bugs
18. Stable Release Upgrades (SRU)
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release Bug鍖xes only (preferably minimal patch)
Cycle
Making Must document regression potential
Changes
Bugs
Package is uploaded to -proposed for 2 weeks
19. Outline
Ubuntu
Development
Processes
Mackenzie
Morgan
1 Developer Groups
Developer
Groups
The Release
Cycle 2 The Release Cycle
Making
Changes
Bugs
3 Making Changes
4 Bugs
20. Packages are kept in VCS, like every other distro,
right?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
Er. . . yes and no. . .
The Release
Cycle Yes, all but 500 packages are in bzr now
Making No, it hasnt always been this way
Changes
Ubuntu Distributed Development (UDD) is the attempt at
Bugs
change
21. Why?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle We followed Debian on the debuild -S && dput
Making
Changes
../*.changes thing
Bugs
22. Why change?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle Debian has only a few maintainers per package
Making
Changes
We have team maintainership, >70 developers responsible
Bugs
23. Hows the change going?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
Slowly.
Making
Changes
Bugs
24. Why slowly?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer We have (thanks mostly to James Westby):
Groups
The Release tools (mostly)
Cycle
Making
docs (mostly)
Changes
branches (mostly)
Bugs
Have you ever tried to convince 150 people to stop doing what
seems to work and learn something new?
25. Old work鍖ow
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer apt-get source foo
Groups
The Release cd foo
Cycle
Making
Make changes & add changelog entry
Changes
debuild -S
Bugs
Use pbuilder to test-build ../*.dsc
dput foo*.changes
26. New work鍖ow
Ubuntu
Development
Processes (See if I get this right)
Mackenzie
Morgan bzr branch lp:ubuntu/foo or bzr branch
Developer
lp:ubuntu/hardy/foo
Groups
cd foo
The Release
Cycle Make changes & add changelog entry
Making
Changes bzr-buildpackage -S
Bugs Use pbuilder to test-build ../*.dsc
debcommit
Then it diverges. . .
If the team merges many changes then releases: bzr push
If not: dput ubuntu ../*.changes && bzr
mark-uploaded && bzr push
27. Outline
Ubuntu
Development
Processes
Mackenzie
Morgan
1 Developer Groups
Developer
Groups
The Release
Cycle 2 The Release Cycle
Making
Changes
Bugs
3 Making Changes
4 Bugs
28. How are patches handled in Ubuntu?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
Badly.
Making
Changes
Bugs
29. Why?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
Not enough monkeys
Making
Daniel T. Chen
Changes 2000 patches bitrotting in Launchpad
Bugs
30. Whats being done about it?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
Ubuntu Reviews team formed to:
The Release
Cycle review patches
Making
Changes upstream patches if needed
Bugs run Patch Days
31. How can I submit a patch?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release Attach it to the bug report
Cycle
Making Mark it as a patch on upload
Changes
Bugs
Add the patch tag to the bug
32. Can I use the bzr branches from before?
Ubuntu
Development
Processes
Mackenzie Yes!
Morgan
If making a new candidate revision:
Developer
Groups In debian/changelog: LP: #12345
The Release debcommit
Cycle
Making bzr push lp:me/foo/fixfor12345
Changes
Bugs
If not:
bzr commit --fixes 12345
bzr push lp:me/foo/fixfor12345
Branch is automatically linked to bug report
bzr lp-open to submit merge proposal
33. Can I submit a debdi鍖 like in Debian?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle
Yes!
Making
Subscribe ubuntu-sponsors to the bug report (and still include
Changes LP: #12345 in debian/changelog)
Bugs
34. Whats that LP: #12345 stu鍖?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release
Cycle Bug #12345 will be automatically marked Fix Released when
Making
Changes
the package is uploaded
Bugs
35. Why so many bugs in stable?
Ubuntu
Development
Processes
Mackenzie
Morgan
Developer
Groups
The Release Testing happens too late (Beta)
Cycle
Making Rushing to 鍖x bugs late introduces more bugs
Changes
Bugs
Need more developers