This started as a set of notes taken while I was trying to set up an apt repository to keep a room full of servers all running the same software. It is very incomplete and very disorganized. Lately I've settled on Git and Falcon. dpatch and a lot of the other crap mentioned in these pages can just disappear as far as I'm concerned.
Introduction
These pages describe two things:
- How to build Debian-based packages. Maybe you want to package new software, maybe you want to modify the software in existing packages (like adding CDB to Postfix).
- How to set up a repository to publish your packages.
Whether you have a software package that you want to make available to all Debian and Ubuntu users or you're sysadmin who just wants to keep the server room up to date, these pages describe everything you should need to know to get started.
Building Tools
- Building
- Signing
- CCache
- pbuilder or other chroot-alternatives
- Uploading
- dput (todo)
- dupload (todo)
The Ubuntu Packaging Guide already does a really good job of describing patching tools, so we won't cover that here.
Archive Managers
These utilities assemble a collection of .debs and source packages into an apt-gettable repository. The Archive Managers page gives a breif overview of each one. Each page tries to set up an identical repository -- see Apt/Examples for the description of this ideal.
- shell script -- simple, featureless
- mini-dinstall -- simple, limited
- reprepro -- complete, complex, opaque
- Falcon -- straightforward, complete
Examples
to assimilate:
http://doc.ubuntu.com/ubuntu/packagingguide/C/index.html
https://wiki.ubuntu.com/DeveloperResources
Patching:
https://wiki.ubuntu.com/MeetingLogs/OpenWeek_PatchPackaging
https://wiki.ubuntu.com/MOTU/School/PatchingSources
Try to merge stuff into https://wiki.ubuntu.com/DocumentationTeam/Repository (the packaging guide is in the generic/ directory). On ubuntu.com, mantha is LaserJock.