Началась разработка пакетного менеджера DNF 5 и замены PackageKit
6 марта 2020 года
Дэниел Мах (Daniel Mach) из компании Red Hat сообщил о начале разработки пакетного менеджера DNF 5, в котором будет выполнен перенос реализованной на языке Python логики DNF в библиотеку libdnf, написанную на C++. Тестирование DNF 5 планируется начать в июне в процессе разработки Fedora 33, после чего в октябре 2020 года добавить в репозиторий Rawhide, а в феврале 2021 года заменить им DNF 4. Сопровождение ветки DNF 4 будет продолжено, так как она применяется в Red Hat Enterprise Linux 8.
Отмечается, что проект достиг состояния, в котором почти невозможно продолжать развитие кода без нарушения совместимости на уровне API/ABI. Главным образом это связано с потерей актуальности PackageKit и невозможностью развития libdnf без изменения API "libhif". При этом, несмотря на намерение поменять API, в качестве основных приоритетов называется сохранение обратной совместимости на уровне интерфейса командной строки и API.
Поддержка Python API в DNF будет оставлена, но написанная на Python бизнес-логика будет перенесена в библиотеку libdnf (C++), что позволит гарантировать идентичность работы пакетного менеджера в дистрибутиве. Разработка будет сосредоточена вокруг C++ API, а Python API будет автоматически генерироваться в форме обвязки на его основе. Аналогичным образом будут сформированы биндинги для Go, Perl и Ruby. После стабилизации C++ API на его основе будет подготовлен и C API, на который будет переведён rpm-ostree. Hawkey Python API будет удалён и заменён на libdnf Python API.
Основная функциональность DNF будет сохранена. Благодаря наличию большого тестового набора (около 1400 тестов) ожидается, что переработка API не скажется на интерфейсе командной строки для конечных пользователей. Возможно немного изменится разбор аргументов и вывод, но эти изменения будут хорошо документированы. В урезанной версии microdnf, применяемой в контейнерах, планируется реализовать подмножество возможностей DNF, достижение полного паритета в функциональности не рассматривается.
Вместо PackageKit будет создан новый сервис DBus, предоставляющий интерфейс для управления пакетами и обновлениями для графических приложений. Данный сервис планируется разработать с нуля, поэтому его создание может потребовать много времени. PackageKit последнее время не развивается и находится в режиме сопровождения с 2014 года из-за потери актуальности. С продвижением систем Snaps и Flatpak дистрибутивы теряют интерес к PackageKit, например, он уже не поставляется в сборках Fedora SilverBlue. Уровень абстракции для управления пакетами во многом обеспечивается штатными центрами управления приложениями GNOME и KDE, которые позволяют устанавливать flatpak-пакеты на уровне отдельных пользователей. Унифицированный системный API для получения списка установленных пакетов становится не настолько полезен как раньше.
Источники
[править]Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.