[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ next ]


Debian Programmers' Manual
Chapter 1 - Introduction and what you need


1.1 Introduction

This manual documents the process of making a Debian package. It is assumed that you have at least familiarized yourself with Debian Policy Manual and Debian Packaging Manual. You also need them at your disposal, as they are often referenced here.


1.2 Packages you need installed to get started

The following packages need to be present on your system in order to build a debian package.

From the devel section:

binutils

The programs in this package are used to assemble and link object files--the stuff programs are made of.

gcc

This is the GNU C compiler. Most Linux programs are written in the C programming language.

cpp

This is the C preprocessor.

libc5-dev

These are the C libraries and header files gcc needs to link with to create object files.

make

Typically creating a program will take several steps. Rather than having to type out the same commands over and over again, you can use the make program to automate the process.

dpkg-dev

This package contains the tools needed to create Debian archives. It also contains the Debian Programmers and Policy manuals.

debmake (optional)

This is a higher level set of tools for creating Debian packages. It makes the whole process tremendously easier.

From the admin section:

sudo (optional)

Sudo allows a user to become root temporarily. (In a way controlled by the system administrator of course) You need root access during the package building process. If you do have root access you don't really need this package but you might want it any way because for security reasons you should do only the most essential actvities while logged in as root.

cpio

This is an archiver like tar or zip. Dpkg-dev needs it.

From the misc section:

file

This handy program can determine what type a file is. Dpkg-dev needs it.

patch

Patch will take a file containing a difference listing produced by the diff program and apply it to an original fan, producing a patched version.

hello

This is an example package for debian developers. I will often refer to it in this document.

Also you need the encryption package pgp to digitally "sign" your package. This is especially important if you want to distribute your package to other people. However due to a rather wacky U.S. law, you cannot simply download this from your nearest Debian ftp site. The ftp site will however have a file called README.non-us in its root directory which will tell you how to get a copy of pgp.


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ next ]


Debian Programmers' Manual

2 March 2008

Igor Grobman igor@debian.org