Перспективы epm play как средства установки приложений (Виталий Липатов, OSSDEVCONF-2024)
Материал из 0x1.tv
- Докладчик
- Виталий Липатов
Реализация epm play как средства скачивания пакетов с сайтов разработчиков имеет свои ограничения, которые планируется преодолеть техническими и организационными мерами.
Содержание
Видео
Презентация
Thesis
По мере увеличения числа поддерживаемых в epm play приложений (на данный момент около 250) стали острее проявляться недостатки нынешнего осторожного подхода (по сути, автоматизация скачивания с сайта, не более).
Анализ созданных для скачивания сценариев показывает, что их возможно преобразовать из скриптов в данные с информацией об источнике приложения, что сделает подход к доставке похожим на применяемый в AUR, winget или snap. Информация о приложениях будет отделена от epm play и доступна через API сервера.
Это решит частые проблемы со сторонним ПО, которые требуют нетривиальной логики и отдельных запросов к сайтам:
- распространение без пакетов (в архивах) с непростой инструкцией по разворачиванию;
- отсутствие информации о версии приложения в названии архива и даже в самом архиве (иногда помогает наличие версии в URL к архиву).
В ближайших версиях epm play будет выделен в подпакет eepmplay, что позволит убрать претензию к тому, что наличие
пакета eepm позволяет легко установить пакеты из непроверенных источников. При этом epm repack (без которого epm play
не имеет смысла) будет выделен в подпакет eepm-repack.
Переход к использованию GUI планируется в нескольких направлениях: приложение для установки и удаления приложений, сайт (с API) со списком и описанием доступных приложений, интеграция с существующими менеджерами приложений, такими как gnome-software и discover, также один из вариантов доставки — создание репозитория перепакованных приложений, для которых это разрешено лицензией.
В разработке находится управление оконными средами с помощью epm: командами epm desktop install / remove можно устанавливать и удалять DE.
Полезным оказалась полная автоматизация действий по переключению используемых драйверов (epm play switch-to-nvidia, switch-to-nouveau, switch-to-pipeware), где учтены многие нюансы.
Добавлены сценарии для установки Waydroid и flatpak: epm play waydroid и flatpak.
В рамках добавления ведения истории всех (успешных) релизов приложения (многие вендоры на своём сайте предоставляют только последнюю версию) будет добавлены градации разрешений на распространение (по результатам анализа лицензий).
Возможны различные варианты разрешений от производителя, которые влияют на механизм доставки приложения пользователю:
- разрешение на получение дистрибутива только после регистрации на официальном сайте с выдаваемой уникальной ссылкой (получение дистрибутива не автоматизируемо);
- разрешение на скачивание по прямой ссылке только с официального сайта;
- разрешение на зеркалирование (распространение копий в Интернете);
- разрешение на распространение в составе дистрибутива;
- отсутствие запрета на перепаковку.
В ряде случаев, если присутствует такое требование от производителя, при установке приложения должен выдаваться запрос на согласие с лицензией.
Помимо проверки контрольных сумм будет добавлен статус приложения (стабильная версия, бета версия, была ли выполнена проверка работоспособности для данной системы).
Отдельного внимания требует поддержка драйверов устройств (в основном принтеров и сканеров): в настоящий момент нет чёткой связи между USB ID имеющегося устройства, названием модели и требующимся драйвером.
При этом концепция не меняется: результатом работы epm play должен быть rpm-пакет(ы), устанавливаемый в систему (и удаляемый) штатными средствами.
EPM и epm play это свободные проекты, новые сценарии можно присылать в виде pull request на [1].