MAKEPKG(8)

НАЗВАНИЕ
makepkg - создаёт пакеты Slackware.

СИНТАКСИС
makepkg [ -l, --linkadd y|n ] [ -c, --chown y|n ] имя_пакета

ОПИСАНИЕ
makepkg создаёт совместимый со Slackware новый пакет. В пакет войдёт содержимое текущего каталога и всех подкаталогов. Имеющиеся символические ссылки будут преобразованы в код оболочки, восстанавливающий их при установке пакета. Этот код будет добавлен в основной установочный сценарий (install/doinst.sh) или станет его кодом, если сценария не было. Пакет будет сохранен в файл имя_пакета, имя должно быть полным, включая расширение (обычно .tgz, но также допустимы .tbz, .tlz и .txz). Утилиты сжатия (gzip, bzip2, lzma или xz соответственно) должны быть установлены на машине.

ПАРАМЕТРЫ

-l, --linkadd y|n
    Если y, добавить создание всех символические ссылок в установочный сценарий (doinst.sh) и удалить их. Это рекомендованное действие. Если параметр не задан, makepkg при обнаружении символических ссылок выдаст соответствующий запрос.

-p, --prepend
    Добавлять создание символических ссылок в начало установочного сценария doinst.sh. Полезно для пакетов, в которых из doinst.sh вызываются программы, требующие связи с содержащимися в этом же пакете разделяемыми библиотеками.

-c, --chown y|n
    Если y, makepkg установит каталогам разрешения в 755, владение в root:root. Вообще, установка правильных разрешений и владения является вашей обязанностью, так что полагаться на установку этого параметра в "y" несколько небрежно. Умолчание отсутствует. Если параметр не указан, makepkg выдаст соответствующий запрос.

УСТАНОВОЧНЫЕ СЦЕНАРИИ
Пакетная система Slackware поддерживает 3 типа установочных сценариев.

Первый - это
    основной установочный сценарий. Это сценарий в подкаталоге ./install с именем doinst.sh и никакой другой. В этом и других установочных сценариях должен использоваться только базовый синтаксис оболочки Борна (Bourne shell), распознаваемый ash, поскольку именно эта оболочка будет исполнять сценарии при установке с дистрибутивного носителя Slackware. Это распространённая ловушка - избегайте синтаксических расширений bash, иначе сценарий при установке с жесткого диска будет работать правильно, но развалится при установке дистрибутива. Не велика беда, если пакет только для себя. Однако, будьте аккуратны, если планируете поделиться своим пакетом с другими пользователями. Основной установочный сценарий исполняется сразу после установки пакета с помощью installpkg, pkgtool, или setup.

Второй тип сценария - это
    настроечный сценарий. Это сценарий в подкаталоге ./var/log/setup с именем, начинающимся с setup. Например, сценарий timezone: /var/log/setup/setup.timeconfig. Эти сценарии исполняются на шаге CONFIGURE установщика setup и исполняются каждый раз, когда пользователь выбирает в нём пункт CONFIGURE. Этот шаг обычно выполняется, когда установка всех пакетов уже завершена. Всё, что является интерактивным, должно включаться в настроечные сценарии, чтобы не прерывать установку пакетов при выполнении setup.

Третий тип сценариев - это
    однократный сценарий. Как подсказывает имя, он исполняется только один раз после установки пакета в отличие от обычного настроечного сценария. Эти сценарии также находятся в подкаталоге ./var/log/setup и должны иметь имя, начинающееся с setup. и содержащее строку onlyonce. Примером может быть сценарий с именем /var/log/setup/setup.onlyonce.testscript.

ФОРМАТ ПАКЕТА
makepkg использует GNU tar плюс GNU gzip для создания пакетов. Простой способ извлечь содержимое пакета (естественно, без выполнения установочных сценариев) - это использование команды:

explodepkg пакет.tgz

Или что-то вроде

gzip -dc пакет.tgz | tar xvvf -

АВТОР
Patrick J. Volkerding <volkerdi@slackware.com>

СМОТРИТЕ ТАКЖЕ
installpkg(8), explodepkg(8), removepkg(8), pkgtool(8), upgradepkg(8)