88 lines
3.8 KiB
Markdown
88 lines
3.8 KiB
Markdown
|
# Сборка 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
|
|||
|
```
|
|||
|
|
|||
|
## Подготовка сборки пакета
|