Пакетный менеджер DNF будет переработан на языке Си
25 февраля 2016 года
Ян Шилган (Jan Šilhan), лидер разработчиков пакетного менеджера DNF, который недавно пришёл на смену Yum в дистрибутиве Fedora, рассказал (Архивная копия от 2 июля 2017 на Wayback Machine) об инициативе по переработке DNF на языке Си. Изначально, Yum был написан целиком на языке Python, в то время как наиболее требовательные к производительности низкоуровневые функции DNF были вынесены в отдельные Си-библиотеки hawkey, librepo, libsolv и libcomps. В рамках новой инициативы планируется переписать на Си остающиеся на Python высокоуровневые компонеты DNF.
Версия на языке Си развивается в рамках проекта libhif, в котором постепенно создаётся библиотека, предоставляющая функции с базовой функциональностью типового пакетного менеджера. В libhif задействованы уже применяемые в DNF библиотеки librepo (работа с репозиториями) и hawkey (обвязка над libsolv для разрешения зависимостей). Начиная с выпуска 0.7.0 библиотека hawkey вольётся в состав libhif и станет неделимым целым. Слияние libhif и hawkey позволит скрыть некоторые нестабильные вызовы API системы разрешения зависимостей, предложив вместо них более универсальные высокоуровневые вызовы. Обвязки для языка Python будут сохранены в неизменном виде, что позволит сохранить возможность обращения к старым вызовам через биндинги python2-hawkey и python3-hawkey.
Предоставляемый в libhif высокоуровневый API для работы с пакетами будет учитывать такие особенности, как загрузка метаданных с зеркал, расчёт зависимостей, выполнение транзакций RPM, разбор конфигурации репозиториев, проверка цифровых подписей и другие типовые возможности, которые ранее реализовывались в каждом пакетном менеджере самостоятельно.
В будущем libhif сможет использоваться как фреймворк для построения пакетных менеджеров, например, кроме DNF новую библиотеку планируется задействовать в PackageKit, что позволит унифицировать разные реализации. Перевод DNF и PackageKit на единую основу даст возможность совместного использования данных систем, избавит от наблюдаемых несовместимостей и позволит использовать одни и те же метаданные. Ожидается, что libhif со встроенным hawkey будет поставляться в дистрибутиве начиная с выпуска Fedora 25.
Источники
править- Главная ссылка к новости (http://dnf.baseurl.org/2016/02...) (Архивная копия от 2 июля 2017 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.