18.3. Создание пакетов

Создание пакетов Slackware может быть как простым, так и сложным. Не существует чёткого метода для сборки пакетов. Единственное требование - пакет должен был tar-файлом, сжатым gzip'ом, и если в нём есть послеустановочный скрипт, это должен быть /install/doinst.sh.

Если вы заинтересованы в создании пакетов для своей системы или для обслуживаемой вами сети компьютеров, вам следует ознакомиться с различными сборочными скриптами, доступными в дереве исходных текстов Slackware. При создании пакетов мы используем несколько различных методов.

18.3.1. explodepkg

Утилита explodepkg(8) делает то же самое, что и installpkg делает при установке пакета, однако на самом деле она не устанавливает его и не делает запись в базе данных пакетов. Она просто извлекает содержимое пакета в текущий каталог.

Если вы посмотрите на дерево исходных текстов Slackware, вы увидите, как мы используем эту команду для пакетов “framework”. Эти пакеты содержат каркас будущего пакета. В них находятся все необходимые имена файлов (нулевой длины), права доступа и владельцы. Скрипт сборки извлекает содержимое пакета из каталога с исходными текстами и помещает его в каталог сборки.

18.3.2. makepkg

Утилита makepkg(8) упаковывает содержимое текущего каталога в пакет Slackware. Он найдёт в дереве символические ссылки и добавит в скрипт, выполняемый после установки, блок команд, создающих эти ссылки во время установки пакета. Он также предупреждает вас о наличии в дереве пакета файлов нулевого размера.

Эта команда обычно запускается после того, как вы создали дерево своего пакета.

18.3.3. Скрипты SlackBuild

При необходимости пакеты Slackware могут быть собраны и другими способами. Не всё программное обеспечение в виде пакетов написано программистами для компиляции одним и тем же способом. Во многих есть опции компиляции, которые не используются в пакетах Slackware. Возможно, когда-то вам понадобятся эти функциональные возможности. Тогда вам придётся собрать свой собственный пакет. К счастью у многих пакетов Slackware в дереве исходных текстов пакета вы можете найти скрипты SlackBuild.

Что же такое скрипт SlackBuild? Скрипты SlackBuild представляют собой исполняемые скрипты командного процессора, запускаемые вами под root'ом для настройки, компиляции и создания пакетов Slackware. Вы можете свободно изменять эти скрипты в дереве исходных текстов и запускать их для создания своих собственных версий стандартных пакетов Slackware.