From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU autolearn=ham autolearn_force=no version=3.4.1 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=udalov.online; s=mail; t=1743538939; bh=D5LQsoWW4QlViKo5+7GgSS7UcQYMP5nGauwFbKlN9io=; h=Subject:From:To:Date:Message-ID; b=RYF/JHY4U+NhwpFPHN5IsuQ6xxwexo7V4Zj2nll9XdOsiUJk6DuoZjd7NqVEoKlDm Rc1pIUf4YwfOYs00qFKrdYlkIg4eDYAxutqCgA6xavd+c+hwtU+bbhndGLWy5Vxyfi lLJVCTyLz/Q4WTWrQYPcwa6p9qwoJFRILaa8pJR0= Authentication-Results: mail-nwsmtp-smtp-production-main-73.sas.yp-c.yandex.net; dkim=pass header.i=@udalov.online Message-ID: <0592c96b-4f6c-4a4c-bd02-f9593c8228ef@udalov.online> Date: Wed, 2 Apr 2025 02:22:17 +0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US, ru-RU To: Distributions development From: =?UTF-8?B?0JTQvNC40YLRgNC40Lk=?= Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: [devel-distro] =?utf-8?b?0J7RgtGH0ZHRgiDQvtCxINCw0YLQvtC80LDRgNC9?= =?utf-8?b?0L7QvCDQvtCx0YDQsNC30LUg0Lgg0L/RgNC10LTQu9C+0LbQtdC90LjQtSA=?= =?utf-8?b?0LTQu9GPINGD0LvRg9GH0YjQtdC90LjRjyDQv9Cw0LrQtdGC0L3QvtC5INCx?= =?utf-8?b?0LDQt9GL?= X-BeenThere: devel-distro@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Distributions development List-Id: Distributions development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Apr 2025 20:22:26 -0000 Archived-At: List-Archive: Здравствуйте, хотел бы вернуться к теме обсуждения атомарного образа и базы пакетов ALT. Для начала хотел бы рассказать о проделанной работе для атомарного образа: 1. Мы сделали простой сборщик который полностью собирает live ISO с помощью mkimage-profiles на github, итоговый файл отправляется в облако yandex и остаётся как артефакт внутри github, полная автоматизация, сборщик запускается каждую неделю или по требованию https://github.com/alt-atomic/atomic-distro-builder https://storage.yandexcloud.net/atomic-iso/regular-gnome-atomic-20250401-x86_64.iso 2.  GUI Установщик который запускается внутри live-образа, умеет устанавливать любые атомарные образы на базе ALT, в качестве источника он вытягивает образ из облака по ссылке. https://github.com/alt-atomic/atomic-installer 3. Cам образ на базе GNOME, есть так же для KDE но пока не довели его до ума. https://github.com/alt-gnome/alt-atomic 4. APM (Atomic Package Manager) пакетный менеджер который умеет работать с атомарным дистрибутивом на базе bootc (в обычной системе тоже работает) Основная идея заключается в том, что APM берет на себя всю специфичную работу с образами и пакетами, предоставляя удобные внешние команды для взаимодействия. Он поддерживает работу с пакетами из различных источников: репозитории ALT (взаимодействие через apt-get/rpm/apt-cache), distrobox, alr, а также умеет извлекать иконки из директории swcat. APM использует собственную базу данных, которую синхронизирует из разных источников, благодаря чему поиск и фильтрация пакетов осуществляются очень быстро. Все методы доступны как через консоль, так и через D-Bus. Вся служебная информация и ошибки скрыты за внутренними абстракциями; в выводе отсутствует лишняя информация, предоставляется только json или форматированный текст (формат вывода опционален). Изначально APM спроектирован как сервис для взаимодействия через D-Bus, а консольный интерфейс является дополнительным бонусов. В настоящий момент один из разработчиков занимается созданием интерфейса к приложению на языке Vala. https://github.com/alt-atomic/apm Предложение относительно улучшения пакетной базы ALT Sisyphus. В настоящее время в спеках редко используются декларативные подходы, такие как systemd-tmpfiles и systemd-sysusers (я знаю что с ним особые проблемы), хотя именно они необходимы для полноценной поддержки атомарных образов. Отсутствие этих декларативов вынуждает нас применять очень страшные хаки для поддержания синхронизации, что усложняет процесс и снижает надёжность. Я думал над тем как я могу в этом помочь и меня посетила следующая идея: Что если сделать приложение/сайт которое будут анализировать все спек файлы в репозитории, находить там старые/давно не обновляемые пакеты или пакеты которые например не применяют подход systemd-tmpfiles помечать их и в удобной форме отображать списком? Я думаю что можно придумать множество разных фильтров которые потенциально помогут привести базу пакетов к единому виду/формату. Как Вы смотрите на эту идею? Может быть уже есть аналогичное решение? Это было бы полезно или в этом нет смысла ?