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.

(update 2014: https://github.com/rcrowley/freight is excellent.  Ignore everything here)

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.

Best Practices

Create the Repository

Building Tools

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.

Examples

Version Numbering

Postfix Example

Kernel Example

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.