Лучше всего это делать в контейнере или под chroot.
Пакет при создании должен похож структурой:
test-pkg |\_ INSTALL* |\_ REMOVE* \_ usr \_ share \_ doc \_ test-pkg-doc \_ README
Подкаталоги внутри иерархии пакета соответствуют корневому каталогу /
системы.
При установке пакета, если путь является символической ссылкой, он будет перезаписан. Данный момент обязательно стоит учитывать, особенно при создании пакета c ядром Linux, ведь make modules_install создает каталог по пути /lib/modules/*
, а в дистрибутиве VoidLinux /lib
— символическая ссылка.
Файлы INSTALL
и REMOVE
являются исполняемыми. Они необязательны, вспомогательные (например, с помощью них запускаются хуки установки ядра, с генерацией initramfs и обновление таблицы загрузки у GRUB).
Если каталог будущего пакета соответствует структуре, то следующей командой он будет упакован с параметрами и файлами для XBPS:
xbps-create -A noarch -n test-pkg-0.0.1a_1 -s 'Description'