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-пакета.

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

[править | править код]