edited build
This commit is contained in:
parent
c13d11d451
commit
a6fc0155e7
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
```
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue