[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ next ]

Debian New Maintainers' Guide
Chapter 1 - Getting started The Right Way

This document tries to describe building of a Debian package to the common Debian user, and prospectus developer. It uses pretty common language, and it's well covered with working examples. There is an old Roman saying, Longum iter est per preaecepta, breve et efficax per exempla! (It's a long way by the rules, but short and efficient with examples!).

One of the things that makes Debian such a top-notch Linux distribution is its package system. While there is a vast quantity of software already in the Debian format, sometimes you need to install software that isn't. You may be wondering how you can make your own packages and perhaps you think it is a very difficult task. Well, if you are a real novice on Linux, it is hard, but if you were rookie, you wouldn't be reading this doc now. :-) You do need to know a little about Unix programming but you certainly don't need to be a wizard.

One thing is certain, though: to properly create and maintain Debian packages you need man hours. Make no mistake, for our system to work the maintainers need to be both technically competent and diligent.

This document will explain every little (at first maybe irrelevant) step, and help you create that first package, and to gain some experience in building next releases of that and maybe other packages later on.

Newer versions of this document should always be available online at http://www.debian.org/doc/maint-guide/ and in the `maint-guide' package.

1.1 Programs you need for development

Before you start anything, you should make sure that you have properly installed some additional packages needed for development. Note that the list doesn't contain any packages marked `essential' or `required' - we expect that you have those installed already.

This revision of this document has been updated for the packages in Debian 2.2 (`potato') and 3.0 (`woody').

The following packages come with the standard Debian installation, so you probably have them already (along with any additional packages they depend on). Still, you should check with `dpkg -s <package>`.

You'll probably want to install the following packages, too:

The following is the very important documentation which you should read along with this document:

The short descriptions that are given above only serve to introduce you to what each package does. Before continuing please thoroughly read the documentation of each program, at least the standard usage. It may seem like heavy going now, but later on you'll be very glad you read it.

Note: debmake is a package that contains some programs that function similar to dh-make, but its specific use is not covered in this document, because it is deprecated.

1.2 Official Debian Developer

After you build your package (or while doing that), you may want to become an official Debian Developer to get your new package into the next distribution (if the program is useful, why not?).

You can not become an official Debian Developer over night because it takes more than technical skill. Please do not be discouraged by this. You can still upload your package, if useful to others, now as a maintainer through a sponsor while applying yourself to the Debian New Maintainer process. Here, the sponsor is an official Debian Developer who helps maintainer to upload packages to the Debian archive. More details of this procedure are explained in the debian-mentors FAQ.

Please note that you do not need to create any new package to become an official Debian Developer. Contributing to the existing packages can provide a path to become an official Debian Developer too.

1.3 Other information

There are two types of packages you can make, source and binary. A source package contains code which you can compile into a program. A binary package contains just the finished program. Don't mix terms like source of the program and the source package of the program! Please read the other manuals if you need more details on terminology.

In Debian, the term `maintainer' is used for the person who makes packages, `upstream author' for the person that made the program, and `upstream maintainer' for the person who currently maintains that program, outside of Debian. Usually author and the upstream maintainer are the same person - and sometimes even the maintainer is the same person. If you made a program, and want it to get in Debian, feel free to submit your application to become a maintainer.

[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ next ]

Debian New Maintainers' Guide

version 1.2.11, 12 January 2007.

Josip Rodin [email protected]