#37 Генеральная уборка в ReadySet, плюс обновления gitoskop 1.7.0 и zoryn 0.53.0
12 сентября 2026 г. • 3 Записи • Курировал Олег ЩавелевОбновление о том, что произошло вокруг Альта на неделе с 6 по 12 сентября 2026 года.
ALT Linux Team
Международная, в основном русскоговорящая, команда разработчиков свободного программного обеспечения. Основное направление деятельности ALT Linux Team — проект Sisyphus.
Gitoskop
Быстрый просмотрщик деревьев bare-git-репозиториев на Rust (замена gitweb.cgi)
rider сообщает:
gitoskop 1.7.0
gitoskop — быстрый просмотрщик деревьев bare-git-репозиториев на Rust (замена gitweb.cgi). Что нового.
🛡 Устойчивость под нагрузкой
Четыре места, где недоверенный клиент мог отъесть больше, чем ему положено: медленные читатели
/archiveдержали весь пул потоков, всплеск MCP-вызовов выедал десятки гигабайт,?reread_data=1заставлял пересобирать индекс на каждый запрос, оборванныйblameкрутился до конца. Теперь архивы и blame ограничены по числу одновременных сборок (лишним — 503 + Retry-After), капельные читатели отрезаются, MCP получил свой лимит (mcp_max_concurrency), reread_data — не чаще раза в 3 с.📦 Recipe: дерево знает свои исходники
Если дерево — сборочный рецепт (gear rules или спек рядом с сорцами), gitoskop разбирает его как gear: макросы спека для
@version@, базовое дерево по коммиту, ref или тегу, аннотированный тег через объект. Ничего не настраивается, определяется по дереву. Verbrecipe/<ref>, спек-«пилюля» в шапке репозитория.🤖 MCP для агентов
- Новые инструменты:
tree,refs(с признаком «ветка влита в upstream»),findпо имени файла,recipe.- Дерево-рецепт само говорит, где его исходники — в листинге, в
repo_info, при промахеfind/grep/read_file.git_showиgit_diffрежутся поpath,blameберётlines; ответы стали короче, каждый вызов пишется в лог.🔎 Поиск
find— пути по подстроке имени, с бюджетом и пагинацией как у grep.grep ?path=ищет только в поддереве; обрезанный бюджетом обход об этом говорит (X-Gitoskop-Partial).diffиpatchпонимаютa...b— от merge base.📝 Спек и коммиты
- В changelog спека номера багов ведут в bugzilla, CVE/BDU/GHSA — в реестры; при наведении карточка: severity, score, дата, заголовок.
- Если в тексте коммита упомянут sha другого коммита («fixes 3f2a1b7c…»), он стал ссылкой на тот коммит.
- Fenced-код в markdown подсвечивается.
🔧 Исправления
- Ref, который и ветка, и тег (
sisyphusв vim.git), теперь ветка, а не древний тег.- Страница grep и карточка последнего коммита следуют за выбором ревизии.
- Номера строк — настоящие ссылки, «копировать ссылку» работает.
- Страница ошибки фронтового прокси отвечает своим статусом, а не
400 unknown root label.- Список файлов: имени — место, длинное переносится; на телефоне без колонки размера.
Спасибо Денису Растёгину за анализ безопасности и всем участникам ALT Linux Team за багрепорты и фичреквесты.
Пакет уже в Сизифе.
Zoryn
Ассистент ментейнера ALT Linux
rider сообщает:
🚀 zoryn 0.53.0
zoryn — помощник мейнтейнера ALT Linux: обновляет версию пакета из upstream, собирает его в hasher локально или на удалённых сборщиках, отправляет сборочные задания в Sisyphus и ветки, поднимает изолированные окружения разработки (devenv) и умеет работать в связке с ИИ-агентом.
Небольшой релиз: доработки devenv и связки с ИИ-агентом, плюс восемь исправлений — в
zoryn up,gen version-up,task manageиtask test-rebuild.Сборка в devenv. Из контейнера видны сборщики хоста — конфиг ведь смонтирован, — но добраться до них нельзя. Раньше
zoryn buildи сборочный шагzoryn upвсё равно пытались и падали не сразу. Теперь в devenv без фичиhasherсборка останавливается на старте и подсказывает команду:gear-rpm -ba --commit. Это же правило вынесено в начало Agent Skill: BuildRequires в контейнере уже установлены, агент собирает черезgear-rpm, а не через hasher.devenv. У фич
claudeиGLM-claude-codeпоявилась опцияinstaller:native(по умолчанию, официальныйinstall.sh) илиnpm— на случай, если родной установщик качается медленно. Флаг--outbound-interface/-Iпереопределяет[devenv].outbound_interfaceна один запуск. Смена интерфейса больше не пересобирает образ — он тут ни при чём, контейнер просто пересоздаётся из кэша. Каталог Agent Skill теперь смонтирован в контейнер (только чтение), так что скилл-указатель изzoryn agent skill installработает и внутри.ИИ-агент.
zoryn agent mcp install --token TOKENзаписывает для сервера заголовокAuthorization: Bearer TOKEN. В отличие от--api-keyему не нуженapi-key-headerв каталоге — подходит любому серверу, в том числе заданному через--url;--token ''убирает токен. В Agent Skill добавленreferences/repair.md— как чинить упавшую сборку: что читать, что можно трогать, чем проверять, когда остановиться. Шагagentвzoryn flowтеперь ссылается на него.
zoryn flowи подпись тегов. Если во flow естьsubmitилиbatch, пароль ключа спрашивается до первого шага, а не после сборки, когда терминал уже никто не смотрит. Приgpg.format = sshничего не меняется.Исправления.
zoryn up --continueпосле ручногоgit merge --continueне запускал хуки.gear/merge-up.d/— считал, что слияние уже былоzoryn gen version-upдля тега видаv1.5.0-stableписал паттерн, который ничего не находил (#145)- отмена параллельной сборки по Ctrl+C могла зависнуть
task manage: зависимость с удалённым заданием теперь видна на экране deps и снимается клавишейd, а не блокирует задание сообщением «fetch failed»task test-rebuildбез зависимых пакетов завершается сразу после запроса к RDB: репозиторий не генерируется,RPMS.hasherне чистится, пустойrebuild-stats.jsonсохраняется;--local-rpmsпроверяется вместе с остальными флагами📋 Полный список изменений | 📖 Руководство | 💬 Обсуждение
📦
apt-get install zoryn
ALT Gnome
ReadySet
Владимир Романов пишет:
ReadySet 0.14
- Добавлен механизм блокировки переменных в
Context. Переменные сsetting=trueзадаются только из конфига или аргументов CLI, после чего блокируются.init_onceзаменена наinit_contextиinit:init_contextвызывается после установки контекста. Метод для назначения коллбэков на изменение переменных.initвызывается после установки начальных значений (конфиг/CLI). Переменныеsettingздесь уже установлены.- Новые интерфейсы плагинов:
ApplyAfter— задает зависимости этапаapply. Например,softwareотображается поsteps, но применяется послеuser;ExistingUser— гибкие статусы для отображения страницы в режимеexisting-userи повторной проверки требований;HasStringRepr/HasWidgetRepr— для сводки;Welcome— позволяет использовать плагин вместо стандартной страницы приветствия.- Удален отдельный плагин
welcome(перенесен в ядро приложения). Добавлена встроеннаяSummaryPageдля режима установщика.- Реализован
CommandHandler: добавлена подкомандаnothing-to-do, выводящая в stderr 0, если действий не требуется, и 1 в противном случае.- Удалена CLI-опция
detailed; рефакторинг логики боковой панели и индикаторов шагов. Сайдбар теперь отображается только вinstaller.- Рефакторинг кода.
Плагины
- Network:
- Интегрирован
connection-editor(порт GTK4/Adwaita из GNOME Control Center). Добавлен диалог управления адаптерами и подключениями Ethernet.- Улучшен виджет подключений Ethernet.
- User:
- Удален плагин привилегированного D-Bus сервиса
user-root. Хеширование паролей теперь выполняется напрямую в плагине.- License Agreement:
- Добавлена проверка хеша лицензии (хранится в
gsettings). При изменении текста в режимеexisting-userпользователю предлагается принять новые условия.- Добавлена контекстная переменная
installer. Если истинна, хеш сохраняется на этапеinitial-setup, но соглашение не показывается (считается принятым при настройке). Дляexisting-userвыполняется повторная проверка.- Language:
- Реализует интерфейс
Welcome.- Software: Добавлена зависимость применения от плагина
userчерезApplyAfter.
На этом всё!
Спасибо всем участникам сообщества за новости!
Заходите в наш чат: https://t.me/ThisWeekInALT, присылайте новости в @ThisWeekInALT_bot и не забывайте ознакомиться с инструкцией по отправке новостей на странице О Нас.
До следующей недели!