No description
  • Shell 79%
  • Python 21%
Find a file
2026-10-11 18:10:04 +03:00
.forgejo/workflows Revert "victoria*: systemd-preset в пакет — юнит включается установкой, не руками" 2026-10-11 18:10:04 +03:00
ci Revert "victoria*: systemd-preset в пакет — юнит включается установкой, не руками" 2026-10-11 18:10:04 +03:00
docs доки: клиентский путь через gpgcheck=0 — ключ rpm-md склада ed25519, rpm его не берёт 2026-10-05 11:02:24 +03:00
.gitignore доки: клиентский путь через gpgcheck=0 — ключ rpm-md склада ed25519, rpm его не берёт 2026-10-05 11:02:24 +03:00

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: шаги, проверки, отличия от апстрима