Your SlideShare is downloading. ×
Ubuntu Development Processes (OLF2010)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ubuntu Development Processes (OLF2010)

1,616
views

Published on

Updated version of the CALUG presentation, presented at the UbuCon at Ohio LinuxFest 2010

Updated version of the CALUG presentation, presented at the UbuCon at Ohio LinuxFest 2010

Published in: Technology

2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,616
On Slideshare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
5
Comments
2
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ubuntu Development Processes Mackenzie Morgan Developer Groups Ubuntu Development Processes The Release Cycle Making Changes Mackenzie Morgan Bugs Ohio LinuxFest 2010 UbuCon 10 September 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 that’s outdated
  • 4. What changed? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Archive reorganisation (hereafter: archive reorg) Making Changes Bugs
  • 5. What’s archive reorg? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle A switch away from components to a unified archive with Making Changes finer-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 Packagesets: Processes Ubuntu Desktop Mackenzie Morgan Ubuntu Server Developer Kubuntu Groups Xubuntu The Release Cycle Mythbuntu Making Changes Ubuntu Studio Bugs Ubuntu Education Edition Ubuntu Mobile Kernel Network Manager Sugar Zope 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 Ubuntu Desktop Groups Ubuntu Server The Release Cycle Kubuntu Making Changes Mythbuntu Bugs Kernel Mono Mozilla Per-package uploaders
  • 10. How many developers are there? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle 167 in ubuntu-dev Making Changes Unknown number of “prospective developers” Bugs
  • 11. How do I find a package’s maintainer? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle You don’t. We’re 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 off 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 first Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Binary-copy packages from previous release Cycle Making Automatically sync from Debian Sid (Testing if LTS) Changes Bugs Merge remaining packages
  • 16. Stages Ubuntu Development Processes Mackenzie Morgan Developer Ubuntu Developer Summit Groups 3–4 Alphas The Release Cycle 1–2 Beta Making Changes 1–2 Release Candidates Bugs Ship it! Also, lots of freezes (Toolchain, Debian Import, String, UI, Feature, Final. . . )
  • 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 Bugfixes only (preferably minimal patch) The Release Cycle Must document regression potential Making Upload to -proposed Changes Bugs Member of ubuntu-sru will approve the upload Moves to -updates after 2 weeks in -proposed
  • 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 hasn’t 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. How’s 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
  • 25. 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?
  • 26. Old workflow 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
  • 27. New workflow Ubuntu Development Processes bzr branch lp:ubuntu/foo or bzr branch Mackenzie Morgan lp:ubuntu/hardy/foo cd foo Developer Groups Make changes & add changelog entry The Release Cycle bzr-buildpackage -S Making Changes Use pbuilder to test-build ../*.dsc Bugs debcommit debcommit generates changelog entry Then it diverges. . . If the team merges many changes then releases: bzr push If not: dput ubuntu ../*.changes && bzr mark-uploaded && bzr push No, there’s no automated “build this branch” button yet
  • 28. 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
  • 29. How do I report a bug? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release apt-cache policy package Cycle If package version shows Debian/Ubuntu changes: Making Changes ubuntu-bug package Bugs If not or if clearly not a packaging bug, report it upstream
  • 30. How are patches handled in Ubuntu? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Badly. Making Changes Bugs
  • 31. Why? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release “Not enough monkeys” Cycle – Daniel T. Chen Making Changes Bugs ∼2000 patches bitrotting in Launchpad
  • 32. What’s being done about it? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Operation Cleansweep Making Changes Ubuntu Reviews team Bugs
  • 33. Operation Cleansweep Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Try to review all patches & forward the good ones before Making 10.10 is released Changes https://wiki.ubuntu.com/OperationCleansweep Bugs
  • 34. Reviews Team Ubuntu Development Processes Mackenzie Morgan Developer Groups Ubuntu Reviews team formed to: The Release Cycle review patches Making upstream patches if needed Changes Bugs run Patch Days http://launchpad.net/∼ubuntu-reviews
  • 35. How can I submit a patch? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Attach it to the bug report Cycle Mark it as a patch on upload Making Changes Add the “patch” tag to the bug Bugs Submit it upstream too!
  • 36. Can I use the bzr branches from before? Ubuntu Development Processes Mackenzie Yes! Morgan If making a new candidate revision: Developer In debian/changelog: LP: #12345 Groups The Release debcommit Cycle bzr push lp:me/foo/fixfor12345 Making Changes If not: Bugs bzr commit --fixes 12345 Fill in a changelog entry bzr push lp:me/foo/fixfor12345 Branch is automatically linked to bug report bzr lp-open to submit merge proposal
  • 37. Can I submit a debdiff 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
  • 38. What’s that LP: #12345 stuff? 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
  • 39. Why so many bugs in stable? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Testing happens too late (Beta) Cycle Making Rushing to fix bugs late introduces more bugs Changes Bugs Need more developers
  • 40. Questions? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Making Changes Bugs

×