- Shell 79%
- Python 21%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| ci | ||
| docs | ||
| .gitignore | ||
zypper-pkg-build — сборка RPM-пакетов из зазеркаленных исходников
Роль репозитория: собирать пакеты, которых нет в апстриме SLE-генерации
(Leap 16 / 16.1, Leap Micro), из внутренних зазеркаленных исходников и
публиковать .rpm в личный rpm-md-репо Хражевника zypper-sle-alexrus1234,
откуда их тянут хосты zypper'ом.
Первая цепочка — incus: в Leap 16 отсутствует вся линейка (raft / cowsql / lxc / incus — проверено по листингу oss), собирается целиком.
Вторая группа — два независимых Go-пакета: victoriametrics-loc и
victorialogs-loc. В апстриме openSUSE их нет ни в одной ветке (разбор
листингов leap16-oss, slowroll-oss, tw-oss: 0 вхождений), зависимости Go
вендорены в зеркалах, поэтому собираются они без Go-прокси и без C-зависимостей
— по одному статическому бинарнику на пакет.
TW-генерация (MicroOS, Slowroll) здесь не собирается: в Tumbleweed/Slowroll
incus-7.4 уже packaged, ставится из ремоутов Хражевника tw-oss/slowroll-oss.
Своя сборка под TW появится отдельными workflow в этом же репо и будет
публиковаться во второе личное репо zypper-tw-alexrus1234 (секреты
KHRZ_TOKEN_TW/KHRZ_REPO_ID_TW уже заведены), когда понадобится версия
новее дистрибутивной.
Порядок запуска (ручной dispatch)
Цепочка C-зависимостей incus — строго по порядку, каждый следующий линкуется с предыдущим из личного репо:
raft-loc → cowsql-loc → lxc-loc → incus-loc (+ incus-tools-loc)
Каждый workflow: Actions → выбрать → Run workflow → входы
target_tag=latest, pkgrel=1, force_build=false. Первый пайплайн цепочки
должен быть опубликован до запуска следующего.
victoriametrics-loc и victorialogs-loc в цепочку не входят: они ни от кого не
зависят и друг от друга тоже — можно запускать в любом порядке и в любой момент.
Краткая установка (клиент)
cat > /etc/zypp/repos.d/zypper-sle-alexrus1234.repo <<EOF
[zypper-sle-alexrus1234]
name=zypper-sle-alexrus1234
baseurl=https://khrazhevnik.panelka.yadr01.internal/repo/zypper-sle-alexrus1234
enabled=1
gpgcheck=0
EOF
zypper ref && zypper in incus-loc
gpgcheck=1 здесь поставить нельзя: ключ rpm-md-репо склада — ed25519, а
rpm 4.20.1 (Leap 16 и Tumbleweed) его не импортирует («key 1 not an armored
public key»), поэтому zypper с gpgcheck=1 отказывается обновлять репо
(«signed with an unknown key»). Сама подпись repomd.xml при этом валидна —
проверяется gpg'ом. Ограничение склада, не пакетов: разбор — пункт 25 в
packaging-notes.md, отчёт владельцу — баг-репорт в
docs/bug-khrazhevnik-rpm-md-key-ed25519.md (локальный).
Подробная установка incus — install-incus-loc.md.
Индекс документов
| Документ | Что внутри |
|---|---|
| pipelines.md | таблица пайплайнов, порядок цепочки, «как добавить пакет» |
| pipelines-common.md | общая схема всех workflow (входы, доверие CA, приёмка, публикация) |
| naming.md | соглашение о суффиксе -loc + правило применения |
| packaging-notes.md | грабли упаковки RPM и правила приёмки |
| install.md | правила установки из репо + чеклист для install-<pkg>.md |
| install-incus-loc.md | установка incus-loc на целевой хост |
| install-victoriametrics-loc.md | установка victoriametrics-loc на целевой хост |
| install-victorialogs-loc.md | установка victorialogs-loc на целевой хост |
| build-incus-loc.md | разбор пайплайна incus: шаги, входы, проверки |
| build-victoriametrics-loc.md | разбор пайплайна VictoriaMetrics: шаги, проверки, отличия от апстрима |
| build-victorialogs-loc.md | разбор пайплайна VictoriaLogs: шаги, проверки, отличия от апстрима |