[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ next ]
This chapter provides an overview of the tools available for Debian developers. If this is your first time reading this manual,and you want to see how to make the debian package first, you may skip this chapter and come back to it later.
There are 2 classes of debian packaging tools. Those that come with dpkg and dpkg-dev are mandatory for building packages. Debmake provides a set of tools which are not mandatory and are there to help you in your development. They have a number of drawbacks, especially debstd, but they make creating a debian package that much easier at first.
All dpkg-dev tools are described in section 3.1 of Debian Packaging Manual. Please look it over before proceeding.
Below you will find a list of debmake tools with simple descriptions. Every tool has its own manpage. Please refer to them for more information.
deb-makeShould be run from the directory where the upstream source is unpacked. Renames that directory to package-version.orig and sets up debian directory structure and files.
debchange, debchManages debian/changelog file
todo, doneManage todo list for a debian package
buildInvokes dpkg-buildpackage if given no arguments, runs debian/rules argument when an argument is given.
debstd
usually executed from debian/rules. Has numerous functions, including putting
the documentation in proper place and compressing it if necessary, running on
dpkg-shlibdeps on all binaries found, checking for and fixing dangling symlinks
and multi-binary packages support. Some of these features will be discussed
further in this manual, others won't be. Please refer to
debstd(1) for the complete description of debstd.
debclists the contents of debian package
debiInstalls the package produced from the source tree it was invoked from.
deblintunpacks the package and performs various checks on the contents.
releaseuploads the package using dupload, if it is installed or using ssh, if dupload isn't installed. Posts the announcement to appropriate mailing lists.
uupdateupdates the source package using new upstream source of patch file.
In order to see how debian packaging process works, the following execution trees might be helpful. They show which tools should be executed by maintainer and which are only called internally by other tools.
Here is how the process looks like without debmake:
(maintainer creates the debian structure)
dpkg-buildpackage
dpkg-parsechangelog
dpkg-source
rules clean
rules binary
dpkg-shlibdeps
dpkg-gencontrol
dpkg-deb --build
dpkg-genchanges
(maintainer checks and tests the package)
And here is how it looks like with debmake tools:
deb-make or uupdate
debchange
dpkg-buildpackage or build
dpkg-parsechangelog
dpkg-source
rules clean
rules binary
debstd
dpkg-shlibdeps
dpkg-gencontrol
dpkg-deb --build
dpkg-genchanges
debc
deblint
debi
release
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ next ]
Debian Programmers' Manual
2 March 2008igor@debian.org