Пакетный менеджер 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://www.opennet.ru/opennews/art.shtml?num=43939
|
0 | Tweet | Нравится |
|