Приложение A. Обзор инструментов Debian для сопровождающего

Содержание

A.1. Базовые инструменты
A.1.1. dpkg-dev
A.1.2. debconf
A.1.3. fakeroot
A.2. Инструменты для проверки пакетов на предмет ошибок и соответствия стандартам
A.2.1. lintian
A.2.2. debdiff
A.3. Помощники для debian/rules
A.3.1. debhelper
A.3.2. dh-make
A.3.3. equivs
A.4. Сборщики пакетов
A.4.1. git-buildpackage
A.4.2. debootstrap
A.4.3. pbuilder
A.4.4. sbuild
A.5. ПО для загрузки пакетов
A.5.1. dupload
A.5.2. dput
A.5.3. dcut
A.6. Автоматизация сопровождения пакетов
A.6.1. devscripts
A.6.2. autotools-dev
A.6.3. dpkg-repack
A.6.4. alien
A.6.5. dpkg-dev-el
A.6.6. dpkg-depcheck
A.7. Инструменты для переноса
A.7.1. dpkg-cross
A.8. Документация и информацию
A.8.1. docbook-xml
A.8.2. debiandoc-sgml
A.8.3. debian-keyring
A.8.4. debian-el

Данный раздел содержит краткий обзор доступных сопровождающим инструментов. Приведённая ниже информация ни в коем мере не является полной или окончательной, она представляет собой лишь руководство по некоторым более популярным утилитам.

Инструменты сопровождающего Debian предназначены для облегчения работы разработчиком и освобождения их времени для решения критических задач. Как говорит Ларри Уолл, существует более одного способа сделать это.

Некоторые предпочитают использовать высокоуровневые инструменты для сопровождения пакетов, некоторые же нет. Официально Debian это без разницы; подходит любой инструмент, которые делает свою работу. Следовательно, данный раздел не предполагается для того, чтобы навязать всякому то, какие инструменты следует использовать или как следует выполнять свои обязанности по сопровождению пакетов. Также не предполагается рекомендовать какой-либо конкретный инструмент вплоть до исключения конкурирующего инструмента.

Большинство описаний этих пакетов берётся из самих фактических описаний пакетов. Дополнительная информация может быть найдена в самой документации по пакету. Также вы можете получить дополнительную информацию при помощи команды apt-cache show имя-пакета.

Следующие инструменты весьма нужны любому сопровождающими.

Согласно свободному онлайн словарю вычислительной техники (FOLDOC), `lint' является обработчиком языка Unix C, который выполняет больше проверок кода, чем обычные компиляторы C. Инструменты для проверки пакетов помогают сопровождающим, автоматически находя распространённые ошибки и нарушения Политики в пакетах.

lintian анализирует пакеты Debian и выдаёт информацию об ошибках и нарушениях Политики. Он содержит автоматические проверки множества аспектов Политики Debian, а также некоторые проверки на наличие распространённых ошибок.

Периодически вам следует получить наиболее свежую версию lintian из нестабильного выпуска и проверять все ваши пакеты. Заметьте, что опция -i предоставляет подробное объяснение того, что означает каждая ошибка или предупреждение, на каком пункте Политики они основываются, а иногда и то, как вы можете исправить проблему.

Для получения дополнительной информации о том, как и когда использовать Lintian, обратитесь к разделу 5.3, «Тестирование пакета».

Также вы можете посмотреть обзор всех проблем, о которых было сообщено Lintian для ваших пакетов, по адресу https://lintian.debian.org/. Эти отчёты содержат наиболее свежий вывод lintian для всего разрабатываемого выпуска (нестабильного выпуска).

debdiff (из пакета devscripts, раздел A.6.1, «devscripts») сравнивает списки файлов и управляющие файлы двух пакетов. Это простая проверка на наличие регрессий, поскольку она позволяет вам заметить, что число двоичных пакетов изменилось с момента последней загрузки, либо если что-то было изменено в управляющем файле. Конечно, некоторые изменения, о которых сообщает эта утилита, не являются чем-то плохим, но она может помочь вам предотвратить различные случайные проблемы.

Вы можете запустить её, указав два двоичных пакета:

debdiff package_1-1_arch.deb package_2-1_arch.deb

Или даже два файла changes:

debdiff package_1-1_arch.changes package_2-1_arch.changes

Дополнительную информацию см. в debdiff(1).

Инструменты сборки пакетов делают написание файла debian/rules значительно проще. Дополнительную информацию о том, почему желательно или не желательно использовать их, см. в разделе 6.1.1, «Сценарии-помощники».

Следующие пакеты помогают в процессе сборки пакета, по сути управляя dpkg-buildpackage, а также решая поддерживающие задачи.

Следующие пакеты помогут автоматизировать или упростить процесс загрузки пакетов в официальный архив.

Сценарий dcut (часть пакета dput, раздел A.5.2, «dput») помогает удалять файлы из каталога загрузки на ftp.

Следующие инструменты помогают автоматизировать различные задачи по сопровождению пакетов от добавления записей в журнал изменений или строк подписи и поиска ошибок в Emacs до использования наиболее свежего и исключительно официального файла config.sub.

dpkg-depcheck (из пакета devscripts, раздел A.6.1, «devscripts») запускает команду в окружении strace для определения всех пакетов, которые используются вызванной командой.

Для пакетов Debian это весьма полезно, если вам необходимо сформировать строку Build-Depends для вашего нового пакета: запуск процесса сборки через dpkg-depcheck предоставит вам приблизительный список сборочных зависимостей. Например:

dpkg-depcheck -b debian/rules build

dpkg-depcheck также может использоваться для проверки зависимостей времени исполнения, особенно в том случае, если ваш пакет использует exec(2) для запуска других программ.

Дополнительную информацию см. в dpkg-depcheck(1).

Следующие инструменты полезны для занимающихся переносом и кросс-компиляцией.

Следующие пакеты предоставляют информацию для сопровождающих, либо помогают им в сборке документации.