CDBS

CDBS (аббр. от англ. Common Debian Build System) — абстрактная система сборки программ, основанная на использовании make-файлов с заранее предписанными правилами. Все правила могут быть изменены, дополнены или переписаны. Другими словами, CDBS предоставляет некий рационально обоснованный набор правил по умолчанию, используя которые, можно построить deb-пакет. Любые правила могут быть изменены, если это необходимо.

Необходимость

Для создания deb-пакета необходимо иметь несколько дополнительных файлов. Один из них, debian/rules, является make-файлом и содержит правила автоконфигурирования, накладывания патчей, компиляции исходного кода, генерации документации, установки файлов в определённые каталоги, построения deb-пакета из временных файлов, удаления временных файлов и т. д. Естественно, описание этих правил занимает достаточно много строк кода, но при этом большая часть кода может быть переиспользована. Изначально это наблюдение стало причиной создания debhelper-скриптов, CDBS является инструментом ещё более высокого уровня.

Как это работает

CDBS представляет собой набор make-файлов, которые могут быть включены в произвольный make-файл (как правило, это файл debian/rules), созданный сопровождающим (мейнтейнером) или интегратором deb-пакета. Эти подключаемые make-файлы реализуют действия, которые обычно необходимо непосредственно совершить в файле debian/rules. Например, типичный файл debian/rules должен содержать правила debhelper'а для автоматизации часто выполняемых задач, использование CDBS позволяет значительно уменьшить количество строк кода и упростить структуру файла, так как он предоставляет уже готовые make-правила, объединяющие последовательность выполнения скриптов debhelper’a. Очень часто (например, для пакетов, поддерживаемых сопровождающими GNOME) достаточно лишь сделать необходимые включения make-файлов CDBS и определить некоторые используемые инструментом переменные, чтобы получить полностью функциональный файл сборки deb-пакета.

См. также

Внешние ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.