После почти года разработки состоялся (http://lists.rpm.org/pipermail/rpm-announce/2017-October/000...) релиз пакетного менеджера RPM 4.14.0 (http://rpm.org/). Проект RPM4 развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL (включая производные проекты CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, Mageia, PCLinuxOS, Tizen и многих других. Параллельно независимой командой разработчиков развивается (https://www.opennet.me/opennews/art.shtml?num=10931) проект RPM5 (http://rpm5.org/), который непосредственно не связан с RPM4.Наиболее заметные улучшения (http://rpm.org/wiki/Releases/4.14.0) в RPM 4.14:
- Значительно переработан код для работы с пакетами debuginfo: обеспечена возможность параллельной установки пакетов debuginfo, добавлена поддержка разбиения на субпакеты и сборки из раздельных src-пакетов, в debugedit появилась поддержка таблицы замены строк;
- Внесены существенные изменения в движок обработки макросов и расширен язык макросов. Аргументы в параметрическом макросе теперь могут заключаться в кавычки (например, для передачи пустых аргументов). Для макросов автоматического выполнения действий теперь принудительно ограничивается область использования. Убрано не работающее ограничение области видимости на уровне блока - локальными теперь рассматриваются только параметрические макросы, определённые внутри блока.
- Переписан код чтения пакета/заголовка и проверки цифровой подписи, данные операции теперь выполняются единым обработчиком;- Добавлена возможность использования блоков with/without для определения максимальных (rich) зависимостей;
- В макром %setup добавлена поддержка Ruby Gems;
- Добавлены генераторы зависимостей на основе Python distutils и AppStream metainfo;
- Используемый в заголовке алгоритм хэширования обновлён до SHA256. Добавлены хэши для проверки целостности сжатых данных;
- Добавлен настраиваемый режим минимизации операций записи, нацеленный на продление времени жизни SSD-накопителей;
- Добавлен настраиваемый режим сброса буферов ввода/вывода в процессе выполнения транзакций, полезный для некоторых серверных систем;- Добавлен экспериментальный бэкенд для БД LMDB;
- Добавлена поддержка архитектуры RISCV-64;
- Добавлена опция "--changes" для отображения списка изменений с полной хронологией записей;
- Устранены две уязвимости (CVE-2017-7500 (https://security-tracker.debian.org/tracker/CVE-2017-7500), CVE-2017-7501 (https://security-tracker.debian.org/tracker/CVE-2017-7501)), позволяющие повысить свои привилегии при установке специально оформленного пакета. Уязвимости дают возможность перезаписать содержимое ФС через манипуляции с символическими ссылками в пакете.
URL: http://lists.rpm.org/pipermail/rpm-announce/2017-October/000...
Новость: http://www.opennet.me/opennews/art.shtml?num=47376
> Параллельно независимой командой разработчиков развивается проект RPM5Один человек — это команда?
Формально там несколько десятков разработчиков http://rpm5.org/team.php
А фактически http://rpm5.org/cvs/timeline?d=365&e=2017-Oct-13&c=2&px=rpm&...
Только один с правом на коммит?
Только один, кому это всё ещё зачем-то надо.
>> Параллельно независимой командой разработчиков развивается проект RPM5
> Один человек — это команда?Даже если бы один, то весьма некислый. По словам ещё одного человека -- "он пишет сишный код, как мы с тобой говорим".
PS: если так засуетился кто-то из сотрудников редхата -- стоит присмотреться к той баге, из-за которой формально Джеффа выперли: вот так какой-нить манагер может и вас подставить в своё время вместо своей задницы.
> Даже если бы один, то весьма некислый.Всё ещё вот так "некисло":
Retrieving Sources:
$ cvs -d :pserver:anonymous@rpm5.org:/cvs co rpm
?
> По словам ещё одного человека -- "он пишет сишный код, как мы с тобой говорим".
А что говорят те, кто код смотрел?
> Добавлен экспериментальный бэкенд для БД LMDB;Текущий используемый BDB - основа тормознутости rpm. Давно пора бы бросить эту бяку.
Аргументируйте, если не трудно, зачем нужна база для высокой нагрузки в проекте, где ей и не пахнет ?
> Текущий используемый BDB - основа тормознутости rpm.rpm очень даже шустро работает сам по себе. Вот обёртки над действительно в большинстве своём тормознутые, но это проблема не rpm, а именно обёрток.
Да, вроде в rpm5 есть какой-то баг, что он едва ли не при каждом обращении к базе перестраивает индексы. Но то rpm5, и в этом BDB не виновата.
> rpm при каждом обращении к базе перестраивает индексыВ любом случае при любой записи в базу индексы нужно перестраивать, иначе к этим записям добраться можно только гетом по первичному ключу и поиск по контенту работать с ними не будет. bdb же перестраивает индексы (secondary databases) автоматически.
Ты хоть цитируй правильно. А то половину букв выкинул, и полная хрень получилась.
То есть про incremental indexing вы не слышали?
А в чём, собственно, профит от использования rpm5?
Зачем он ещё тогда создавался, и что он сейчас умеет, что не умеет rpm?
Долго рассказывать... Да тебе это и не нужно...Аргументы в пользу rpm5 уже лет 5 как неактуальны.
Поддерживает не-Linux системы
rpm тоже поддерживает.
> rpm тоже поддерживает.Пруф: https://github.com/rpm-software-management/rpm/blob/b4b8f33e...
> В макрос %setup добавлена поддержка Ruby Gems;
> Добавлены генераторы зависимостей на основе Python distutils и AppStream metainfo;Красота! Мейнтейнеры будут благодарны. Глядишь, покрытие rubygems и pypi пакетами дистрибутива повысится. Для несложнвх случаев можно будет создавать спеки автоматически.