第2章 Overview

The Debian packaging of the package-1.0.tar.gz, containing a simple C source following the GNU Coding Standards」 and FHS, can be done with the debmake command as follows.

 $ tar -xvzf package-1.0.tar.gz
 $ cd package-1.0
 $ debmake
   ... Make manual adjustments of generated configuration files
 $ debuild

If manual adjustments of generated configuration files are skipped, the generated binary package lacks meaningful package description but still functions well under the dpkg command to be used for your local deployment.

[注意]注意

The debmake command only provides decent template files. These template files must be manually adjusted to their perfection to comply with the strict quality requirements of the Debian archive, if the generated package is intended for general consumption.

If you are new to Debian packaging, do not worry about the details and just get the big picture instead.

If you have been exposed to Debian packaging, this looks vgry much like the dh_make command. This is because the debmake command is intended to replace functions offered historically by the dh_make command. [3]

The debmake command is designed with the following features:

The debmake command delegates most of the heavy lifting to its back-end packages: debhelper, dpkg-dev, devscripts, sbuild, schroot, etc.

[ヒント]ヒント

Make sure to protect the arguments of the -b, -f, -l, and -w options from shell interference by quoting them properly.

[ヒント]ヒント

The non-native Debian package is the normal Debian package.

[ヒント]ヒント

The detailed log of all the package build examples in this document can be obtained by following the instructions in 「Details」.

[注記]注記

The generation of the debian/copyright file, and the outputs from the -c (see debmake -cc) and -k (see debmake -k) options involve heuristic operations on the copyright and license information. They may produce some erroneous results.



[3] The deb-make command was popular before the dh_make command. The current debmake package starts its version from 4.0 to avoid version overlaps with the obsolete debmake package, which provided the deb-make command.