Пакетный менеджер 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.

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


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

Комментарии[править]

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