На этой странице

Репозиторий Lycoris содержит профили archiso, сборочные скрипты и собственные пакеты. Ниже коротко о том, как готовить изменения и что можно взять в работу.

Как проходит изменение

  1. Сначала разобраться, почему текущее состояние такое, какое есть. Часть странностей в профиле объясняется поведением archiso или Calamares, поэтому git log и комментарии в файлах важнее первого впечатления.
  2. Сделать минимальную правку, которая решает задачу. Если изменение меняет рантайм, собрать затронутые редакции и загрузить образ: QEMU достаточно.
  3. Прогнать проверки перед коммитом:
    ./scripts/lint.sh
  4. Закоммитить одну логическую правку. Формат Conventional Commits, короткий заголовок. Тело добавляется только тогда, когда в заголовок оно не помещается, а история не переписывается.

Непроверенное не считается готовым

Если сборка, загрузка в QEMU или другой тест не запускались, так и пишется: не проверено. Выдавать ожидаемое за проверенное нельзя.

Что можно взять

Проверка live-образов

Прогнать Plasma и LXQt на своём оборудовании: сеть и Wi-Fi, звук, печать, внешние экраны, установка на диск. Найденное полезно даже без готового исправления.

Собственные пакеты

Перенести файлы профиля в пакеты lycoris-release, lycoris-branding, lycoris-desktop-common, lycoris-plasma и lycoris-lxqt. В packages/ уже есть примеры: calamares и paru.

Установщик и откат

Ручная разметка диска, установка без Btrfs, обработка ошибок и согласованность снимков с ядром и initramfs.

Документация

Тексты сайта лежат в отдельном репозитории lycoris-site. Правки в документации идут по тем же правилам.

Что стоит знать

Репозиторий держится на нескольких договорённостях, подробности есть в архитектуре:

  • списки пакетов редакций только дополняют base, удалять пакеты из общего профиля нельзя, для файлов есть remove.list
  • оверлей airootfs заменяет файл целиком, построчных слияний конфигураций нет
  • метаданные редакции задаются в profiledef.overrides.sh, править profiledef.sh через sed нельзя
  • одноразовые скрипты для проверок лежат в /tmp или work/, в Git они не попадают

Задачи, которые сейчас в работе, перечислены в дорожной карте.