edited build

This commit is contained in:
Alexander Zhirov 2021-10-23 23:37:44 +03:00
parent c13d11d451
commit a6fc0155e7
5 changed files with 159 additions and 3 deletions

View File

@ -4,4 +4,5 @@
![Image of Yaktocat](img/budgie_desktop.png) ![Image of Yaktocat](img/budgie_desktop.png)
- [Работа с репозиториями](doc/repositories.md)
- [Сборка eopkg пакета](doc/build_eopkg.md) - [Сборка eopkg пакета](doc/build_eopkg.md)

View File

@ -4,4 +4,5 @@
![Image of Yaktocat](../img/budgie_desktop.png) ![Image of Yaktocat](../img/budgie_desktop.png)
- [Работа с репозиториями](repositories.md)
- [Сборка eopkg пакета](build_eopkg.md) - [Сборка eopkg пакета](build_eopkg.md)

View File

@ -5,6 +5,7 @@
## Процесс сборки ## Процесс сборки
* [Предварительная подготовка](#предварительная-подготовка) * [Предварительная подготовка](#предварительная-подготовка)
* [Использование локального репозитория](#использование-локального-репозитория)
* [Подготовка сборки пакета](#подготовка-сборки-пакета) * [Подготовка сборки пакета](#подготовка-сборки-пакета)
## Предварительная подготовка ## Предварительная подготовка
@ -18,7 +19,7 @@ nano ~/.solus/packager
Внутри файла необходимо указать два ключа, идентифицирующие собирающего пакеты: Внутри файла необходимо указать два ключа, идентифицирующие собирающего пакеты:
``` ```shell
[Packager] [Packager]
Name=Your Name Here Name=Your Name Here
Email=your.email@address Email=your.email@address
@ -36,12 +37,24 @@ sudo eopkg install -c system.devel
sudo eopkg it solbuild sudo eopkg it solbuild
``` ```
Так же можно (желательно) установить `solbuild-config-unstable` для сборки нестабильной версии пакета: Если нужно использовать только [unstable](repositories.md#список-репозиториев) репозиторий по умолчанию, также [установить конфигурацию для нестабильного репозитория](https://getsol.us/articles/packaging/building-a-package/en/#initializing-solbuild) `solbuild-config-unstable`:
```shell ```shell
sudo eopkg it solbuild-config-unstable sudo eopkg it solbuild-config-unstable
``` ```
Если нужно использовать только [local](repositories.md#инициализация-локального-репозитория) репозиторий по умолчанию, также [установить конфигурацию для локального нестабильного репозитория](https://getsol.us/articles/packaging/local-repository/en/#install-the-local-profile):
```shell
sudo eopkg install solbuild-config-local-unstable
```
Также понадобятся `git` и `arcanist`:
```shell
sudo eopkg it git arcanist
```
После установки необходимо инициализировать `solbuild`: После установки необходимо инициализировать `solbuild`:
```shell ```shell
@ -77,11 +90,42 @@ ln -sv common/Makefile.iso .
В результате выполненных действий каталог `building` примет следующий вид: В результате выполненных действий каталог `building` примет следующий вид:
``` ```shell
├── common ├── common
├── Makefile ├── Makefile
├── Makefile.common ├── Makefile.common
└── Makefile.iso └── Makefile.iso
``` ```
## Использование локального репозитория
После выполнения установки `solbuild-config-local-unstable` создаётся путь `/var/lib/solbuild/local/` локального репозитория. При использовании локального репозитория необходимо выполнить [индексацию](repositories.md#инициализация-локального-репозитория) списка:
```shell
sudo eopkg index --skip-signing /var/lib/solbuild/local/ --output /var/lib/solbuild/local/eopkg-index.xml
```
Стоит заметить, что в своей работе `eopkg` всегда будет отдавать предпочтение пакетам из самого верхнего репозитория, указанного в списке `eopkg lr`. Другими словами - если пакет существует как в локальном репозитории `solbuild`, так и в официальном вышестоящем репозитории Solus, `eopkg` будет рассматривать только пакет из первого репозитория, указанного в `eopkg lr`, независимо от его номера выпуска.
Для того, чтобы изменить порядок следования репозиториев (их приоритетов) необходимо передобавить их в нужном порядке, например:
```shell
sudo eopkg ar Local /var/lib/solbuild/local/eopkg-index.xml.xz
sudo eopkg ar Solus https://mirrors.rit.edu/solus/packages/unstable/eopkg-index.xml.xz
```
Таким образом локальный репозиторий будет иметь высокий приоритет для `eopkg`:
```shell
eopkg lr
Local [active]
/var/lib/solbuild/local/eopkg-index.xml.xz
Solus [active]
https://mirrors.rit.edu/solus/packages/unstable/eopkg-index.xml.xz
```
Стоит обратить внимание, что пакеты, отсутствующие в локальном репозитории сборки `solbuild`, будут извлечены из вышестоящего официального репозитория Solus (`unstable`). Индексацию `eopkg` необходимо обновлять всякий раз, когда добавляется или удаляется локально созданные пакеты в локальном репозитории `solbuild` в противном случае `eopkg` не будет знать, что новые пакеты доступны/были удалены из репозитория.
## Подготовка сборки пакета ## Подготовка сборки пакета
Все пакеты создаются из [одного файла сборки](https://getsol.us/articles/packaging/package.yml/en/#format), который предоставляет все необходимые метаданные для менеджера пакетов, а также этапы упаковки, необходимые для создания пакета. Это соответствует спецификации YAML.

View File

@ -0,0 +1,109 @@
# Работа с репозиториями
* [Список репозиториев](#список-репозиториев)
* [Инициализация локального репозитория](#инициализация-локального-репозитория)
* [Добавление репозитория](#добавление-репозитория)
* [Удаление репозитория](#удаление-репозитория)
* [Включение репозитория](#включение-репозитория)
* [Выключение репозитория](#выключение-репозитория)
* [Обновление репозитория](#обновление-репозитория)
## Список репозиториев
Solus предоставляет только два репозитория - стабильный `shannon` и нестабильный `unstable`. После установки Solus по умолчанию подключён стабильный репозиторий . Для того, чтобы получить список установленных репозиториев на текущий момент необходимо выполнить:
```shell
eopkg lr
```
Терминальный вывод:
```shell
Solus [активен]
https://mirrors.rit.edu/solus/packages/shannon/eopkg-index.xml.xz
```
## Инициализация локального репозитория
Для инициализации локального репозитория `~/Repository` из домашнего каталога используется команда:
```shell
sudo eopkg index --skip-signing $HOME/Repository/ --output $HOME/Repository/eopkg-index.xml
```
Эта команда ищет все файлы eopkg в директории, собирает тэги из них и суммирует всю информацию в одном выходном файле XML, который по умолчанию называется `eopkg-index.xml`. В частности он индексирует и файлы исходников и бинарные пакеты.
В данном случае `Repository` может быть любым именем вашего каталога.
## Добавление репозитория
Для добавления нового репозитория используется команда:
```shell
sudo eopkg ar Name Url
```
Например, добавление нестабильного репозитория `unstable`:
```shell
sudo eopkg ar Solus https://mirrors.rit.edu/solus/packages/unstable/eopkg-index.xml.xz
```
Или локального репозитория `~/Repository` из домашнего каталога:
```shell
sudo eopkg ar MyRepository $HOME/Repository/eopkg-index.xml.xz
```
## Удаление репозитория
Для удаления имеющегося репозитория используется команда:
```shell
sudo eopkg rr Name
```
Например, добавление нестабильного репозитория `unstable`:
```shell
sudo eopkg rr MyRepository
```
## Включение репозитория
Для включения репозитория используется команда:
```shell
sudo eopkg er Name
```
Например:
```shell
sudo eopkg er MyRepository
```
## Выключение репозитория
Для выключения репозитория используется команда:
```shell
sudo eopkg dr Name
```
Например:
```shell
sudo eopkg dr MyRepository
```
## Обновление репозитория
```shell
sudo eopkg ur Name
```
Например:
```shell
sudo eopkg ur MyRepository
```

View File

@ -4,4 +4,5 @@
![Image of Yaktocat](budgie_desktop.png) ![Image of Yaktocat](budgie_desktop.png)
- [Работа с репозиториями](../doc/repositories.md)
- [Сборка eopkg пакета](../doc/build_eopkg.md) - [Сборка eopkg пакета](../doc/build_eopkg.md)