В рамках проекта предпринята попытка структурирования интерфейсов, связанных с управлением пакетами, и предоставления утилит и обвязок, написанных на языке программирования Rust. Развиваемые проектом спецификации и утилиты основываются на функциональности Pacman. Переход на язык Rust после использования языка Cи в Pacman объясняется желанием снизить вероятность совершения ошибок при работе с памятью. В качестве цели инициативы заявлена интеграция в ALPM поддержки всех возможностей по управлению репозиториями и созданию/проверке/установке пакетов, а также предоставление функциональности, способной заменить некоторые возможности пакетного менеджера Pacman.
Выделенные средства планируется потратить на финансирование работы 4 разработчиков над проектом ALPM в режиме неполного рабочего дня на протяжении 15 месяцев. Работа стартовала в октябре и продлится до конца 2025 года. Среди задач, которые планируют решить в рамках проводимой работы, упоминаются:
- Создание формальных спецификаций для форматов данных, используемых в пакетах. В текущем виде в пакетах Arch Linux используются недокументированные или плохо документированные типы файлов и метаданных. Информацию о низкоуровневой структуре пакетов намерены обобщить в виде версионированных спецификаций, явно регламентирующих все типы допустимых файлов и метаданных.
- Внедрение упрощённого механизма верификации артефактов пакетов по цифровым подписям, основанного на использовании OpenPGP, но не завязанного на старое централизованное хранилище ключей GnuPG.
- Предоставление Rust-библиотеки для создания, верификации и установки отдельных пакетов, соответствующих требованиям формальных спецификаций, явно определяющих допустимое содержимое пакетов и методы для их создания и обработки.
- Предоставление Rust-библиотеки для управления пакетами в системе (обработки состояния набора пакетов, составляющих начинку системы).
- Подготовка независимого от дистрибутивов стека OpenPGP для верификации артефактов дистрибутива, поддерживающего PGPKI (Web of Trust). Вместо GnuPG планируют использовать альтернативы на языке Rust.
Источник: http://www.opennet.ru/opennews/art.shtml?num=62378