Использование basepkg для сборки пакетов с базовой системой NetBSD
Установить утилиту можно из pkgsrc wip/basepkg. Я просто добавил сборку этой утилиты в pkg_comp и установил её из самосборного репозитория с помощью pkgin.
При запуске утилите нужно указать пути к файлам, из которых она будет собирать пакеты, а также указать платформу, архитектуру и список исходных архивов, из которых нужно сформировать пакеты.
Для сборки пакетов из архивов базовой системы выполним следующие команды:
# cd /usr/pkg/basepkg
# ./basepkg.sh --arch i386 \
--category "base comp etc games man misc modules rescue text" \
--destdir /home/sysbuild/i386/destdir/ \
--machine i386 \
--obj /home/sysbuild/i386/obj/home/sysbuild/src/ \
--releasedir /home/sysbuild/release/ \
--src /home/sysbuild/src/ \
pkg
Для сборки архивов с ядром системы запустим такую команду:
# cd /usr/pkg/basepkg
# ./basepkg.sh --arch i386 \
--destdir /home/sysbuild/i386/destdir/ \
--machine i386 \
--obj /home/sysbuild/i386/obj/home/sysbuild/src/ \
--releasedir /home/sysbuild/release/ \
--src /home/sysbuild/src/ \
kern
Сборка архивов с системой X не предусмотрена.
В результате в каталоге /home/sysbuild/release/packages/9.2_STABLE/i386
сформируются пакеты, пригодные для установки с помощью pkg_add
.
Стоит отметить, что многие из собранных пакетов могут не содержать устанавливаемых файлов, если в файле конфигруации /etc/mk.conf
сборка соответствующих компонентов отключена, как я это описывал в статье Пересборка базовой системы NetBSD.