# Сборка eopkg пакета [Официальная документация](https://getsol.us/articles/packaging/) по сборке пакетов `eopkg` для последующего размещения в официальном репозитории. ## Процесс сборки * [Предварительная подготовка](#предварительная-подготовка) * [Подготовка сборки пакета](#подготовка-сборки-пакета) ## Предварительная подготовка Для начала необходимо сконфигурировать файл `packager`, который используется для упаковщика в результирующем двоичном пакете. Для этого в домашней директории необходимо создать каталог `.solus` с содержащим внутри себя файлом `packager`: ```shell mkdir ~/.solus nano ~/.solus/packager ``` Внутри файла необходимо указать два ключа, идентифицирующие собирающего пакеты: ``` [Packager] Name=Your Name Here Email=your.email@address ``` Следующим действием необхоимо произвести установку [базового инструмента разработки](https://getsol.us/articles/package-management/basics/en/#base-development-tools) `system.devel`: ```shell sudo eopkg install -c system.devel ``` Для сборки `eopkg` пакетов необходимо использовать инструмент `solbuild`: ```shell sudo eopkg it solbuild ``` Так же можно (желательно) установить `solbuild-config-unstable` для сборки нестабильной версии пакета: ```shell sudo eopkg it solbuild-config-unstable ``` После установки необходимо инициализировать `solbuild`: ```shell sudo solbuild init ``` Это займет некоторое время, так как будет производиться загрузка и подготовка образа. Рекомендуется обновлять `solbuild`, в противном случае обновления будут применяться при каждой сборке: ```shell sudo solbuild update ``` Следующим шагом необходимо создать каталог для разработки, в котором будет находиться все конфигурационные файлы для сборки пакетов. К примеру, в домашней директории создать каталог `building`: ```shell mkdir ~/building ``` Далее внутри каталога `building` произвести настройку инструментов для сборки. Нужно настроить `common` (набор сценариев создания), который позволяет более легко управлять, создавать, проверять и публиковать пакеты. Для этого нужно клонировать общий репозиторий с помощью `git`: ```shell cd ~/building git clone https://dev.getsol.us/source/common.git ``` Далее нужно настроить символические ссылки: ```shell ln -sv common/Makefile.common . ln -sv common/Makefile.toplevel Makefile ln -sv common/Makefile.iso . ``` В результате выполненных действий каталог `building` примет следующий вид: ``` ├── common ├── Makefile ├── Makefile.common └── Makefile.iso ``` ## Подготовка сборки пакета