Глава 2. Обзор

# Глава 2. Обзор

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

    [base_dir] $ tar --xz -xvf package-1.0.tar.xz
    [base_dir] $ cd package-1.0
    [package-1.0] $ debmake
       ... Make manual adjustments of generated configuration files
    [package-1.0] $ debuild

Если будет пропущена ручная правка созданных настроечных файлов, то в созданном двоичном пакете будет отсутствовать осмысленное описание, но он будет вполне работоспособным при использовании команды dpkg для его локального развёртывания.

| Внимание
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, focus on understanding the overall process rather than worrying about the details.

If you are familiar with Debian packaging, you’ll notice that debmake is similar to the dh_make command. This is because debmake is designed to replace the functionality historically provided by dh_make. [3]

Команда debmake имеет следующие возможности:

- современный стиль создания пакетов

  - debian/copyright: «DEP-5» compliant
  - debian/control: substvar support, multiarch support, multi binary packages, …​
  - debian/rules: dh syntax, compiler hardening options, …​

- гибкость

  - many options (see «Раздел 16.2, «debmake -b»», «Глава 15, Страница руководства debmake(1)», and «Глава 16, debmake options»)

- разумные действия по умолчанию

  - выполнение без остановок с чистыми результатами
  - создание мультиархитектурного пакета, если явно не указана опция -m.
  - generate the non-native Debian package with the Debian source format «3.0 (quilt)», unless the -n option is explicitly specified.

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

| Подсказка
Ensure that you properly quote the arguments of the -b, -f, and -w options to protect them from shell interference.

| Подсказка
Неродной пакет Debian — обычный пакет Debian.

| Подсказка
Подробный журнал всех примеров сборки пакетов из данной документации можно получить, следуя инструкциям из «Раздел 14.14, «Детали»».

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

Глава 1. Предисловие |  | Глава 3. Необходимые предварительные требования