Выпуск PackageKit 1.0.0. Планы по развитию универсального установщика пакетов

13 сентября 2014 года

После семи лет разработки анонсирован (Архивная копия от 3 марта 2016 на Wayback Machine) выпуск PackageKit 1.0.0 (Архивная копия от 19 марта 2008 на Wayback Machine), фреймворка для унификации установки и обновления приложений. PackageKit выступает в роли прослойки между пользовательскими интерфейсами для работы с пакетами и пакетными менеджерами различных дистрибутивов. PackageKit использует PolicyKit для организации выполнения привилегированных операций и обрабатывает запросы через D-Bus.

Ключевые новшества:

  • Переработана реализация offline-режима обновления системы, совместно развиваемого разработчиками GNOME, PackageKit и systemd. Offline-режим подразумевает установку обновлений для некоторых ключевых компонентов системы (например, glibc и других основных библиотек) на начальном этапе загрузки системы, при котором обновляемые компоненты не могут привести к конфликту и проблемам в работе уже работающих приложений. В PackageKit 1.0.0 для управления offline-обновлениями задействован интерфейс D-Bus, вместо ранее предлагаемых вспомогательных модулей pkexec для systemd, поддержка которых прекращена. Новый интерфейс уже задействован в экспериментальном выпуске GNOME 3.13.92;
  • Отказ от использования плагинов (поддержка бэкендов оставлена) и удаление программного интерфейса для плагинов. Вместо плагинов проект вернулся к практике встраивания функциональности в основную кодовую базу, например, в демон уже интегрированы средства offline-обновлений systemd. Подобное решение обусловлено проблемами со стабильностью работы плагинов;
  • Удалены бэкенды для пакетных менеджеров conary, opkg, smart и yum, которые остались без сопровождающих и последние два года находились в неработоспособном состоянии;
  • Обновлены бэкенды для пакетных менеджеров alpm, aptcc, hif и zypp, в которых учтены новые возможности указанных систем;
  • Прекращена поддержка дистрибутивов, не поддерживающих /etc/os-release, продвигаемый разработчиками systemd единый файл с информацией о используемом выпуске дистрибутива.

Дополнительно можно отметить публикацию отчёта о развитии проекта Listaller (Архивная копия от 3 февраля 2012 на Wayback Machine), в рамках которого развивается не зависящий от отдельных дистрибутивов установщик пакетов, тесно интегрируемый с PackageKit. Listaller позволяет формировать устанавливаемые в различных дистрибутивах ipk-пакеты, которые можно использовать для распространения сторонних приложений. В настоящее время начался процесс капитальной переработки Listaller (Listaller.NEXT) с учётом задействования AppStream и других современных инструментов работы с пакетами.

Причиной переработки Listaller практически с нуля является прекращение поддержки интерфейса плагинов в PackageKit. Новая реинкарнация Listaller пока рассчитана на работу только со статически собранными приложениями, что позволит подготовить компактное и надёжное ядро для дальнейшего расширения функциональности. В дальнейшем, по мере необходимости, Listaller будет обрастать дополнительной функциональностью, в том числе может быть реализована доустановка зависимостей из штатных репозиториев дистрибутивов. Также планируется уйти от привязки только к установке GUI-приложений и предоставить средства для поставки серверных приложений.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск PackageKit 1.0.0. Планы по развитию универсального установщика пакетов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.