Packaging
In the Ubuntu community we always need more packagers. There are literally thousands of applications out there that need maintenance, and one of the major reasons why people choose Ubuntu is that there is a huge catalog of software that is ready to install and use. These thousands of applications are maintained by a large and growing community of community volunteers who help to package these applications and maintain high quality packages. As the number of applications grows though, we need more and more volunteers.
Generally if someone expresses an interest in packaging, we point them to https://wiki.ubuntu.com/MOTU/GettingStarted and away they go. Another great way to get people up to speed is with...Packaging Jams!
With a huge world-wide network of LoCoTeams, more and more teams are running Packaging Jams - special events in which people meet up and a few instructors show the attendees how to get involved with Ubuntu package maintenance. Not only are these events extremely valuable in attracting new packagers, but they are huge fun! This page offers a simple guide to running a Packaging Jam.
Requirements
To run a Packaging Jam, you need a few things:
Tutor(s) - Someone that knows packaging fairly well and can handle questions and some of the unexpected likely to come up. (Tutor needs to have experience with PackagingGuide.)
Decided Day - A day with some spare time. As an example, the Michigan LoCo went from noon until 8pm on a Saturday. Progress will be slower than you might expect, so provide plenty of time.
Venue - A meeting location with network connectivity, power for everyone, and some room to get comfy for a little bit.
Local Ubuntu Mirror (optional) - this is very helpful if the internet connectivity is weak or altogether lacking. A good how-to for setting up an ubuntu mirror can be found here: https://help.ubuntu.com/community/Debmirror.
Packaging Playbook (optional) - We have a generic sheet that you can print out and hand out to attendees that people can follow along with the workflow. playbook.pdf
You also want to provide some snacks and drinks to help people through their new packaging journey.
Asking people to prepare for the Jam
To properly confirm bugs (and test fixes) on the current development release, ask the jammers to set up one of the methods on UbuntuDevelopment/UsingDevelopmentReleases.
Ask people to install the packages listed on PackagingGuide/Lists/ImportantDevelopmentPackages.
= Running The Jam ==
Prerequisites
- Start out getting everyone setup,
- Check for connectivity, and watch out for people with different versions of Ubuntu running. For instance the mirror might only have gutsy and someone comes with feisty. It's not a deal killer, but adds for surprises.
Now suggest everyone use gobby for communicating things throughout the meeting. It makes for a great place for the person running the Jam to paste links, commands, and other notes for the group to follow. This really lets the people save the shared documents and everyone goes him with notes from the day's events. It also really eliminates the need for a projector or other method of sharing screens.
The next step is to get everyone's GPG keys setup and make sure that they're available for signing the packages later on. This is also a good time to have a mini key signing party to get everyone introduced and to verify any GPG key issues are sorted out early. There's some good documentation for this on the GnuPrivacyGuardHowto
sudo apt-get install devscripts build-essential wget fakeroot cdbs patchutils debhelper gobby dh-make
(bzr has an avahi plugin that can be used so people can find each other's repositories on a local network).
Holding the Session
Follow the PackagingGuide/HandsOn (and PackagingGuide/Recipes) material.
- Alternatively (if you plan to have more time):
Follow the PackagingGuide documentation.
- First go through the Getting Started section to get everyone's packaging environment setup.
Then start with the PackagingGuide/Basic and walk through the packaging of hello together. A helpful hint is to keep one version back when you download initially. This gives you a chance to walk through upgrading the package to the latest source available later on.
After getting hello packaged try to update to the latest source version by using uupdate. This should be a nice quick exercise.
Once you get through packaging hello, see if anyone brought a packaging problem the group can work on together. In our group someone wanted to update the xastir package. We did it together so the users had a real world example of something and one person went home with their own problem solved.
Plug MOTU/GettingStarted a couple of times.