Приложение 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 предназначены для облегчения работы разработчиком и освобождения их времени для решения критических задач. Как говорит Ларри Уолл, существует более одного способа сделать это.

Some people prefer to use high-level package maintenance tools and some do not. Debian is officially agnostic on this issue; any tool that gets the job done is fine. Therefore, this section is not meant to stipulate to anyone which tools they should use or how they should go about their duties of maintainership. Nor is it meant to endorse any particular tool to the exclusion of a competing tool.

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

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

According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is: "A Unix C language processor which carries out more thorough checks on the code than is usual with C compilers." Package lint tools help package maintainers by automatically finding common problems and policy violations in their packages.

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, «Сценарии-помощники».

The following packages help with the package building process, general driving of dpkg-buildpackage, as well as handling supporting tasks.

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

Сценарий 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).

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

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