[devel] rpm: LZMA payload compression
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Май 24 18:21:14 MSD 2008
Я портировал SuSE патчи для LZMA сжатия payload (cpio архива)
в rpm пакетах. (Портировал -- громоке слово, код править не пришлось.)
Это имеет следующие особенности.
1) Собрана статическая библиотека liblzma.a из
git://ctrl.tukaani.org/lzma-utils.git. Код этой библиотеки производит
хорошее впечателение, но разработчики пишут о том, что API ещё не
заморожен (а при использовании этой библиотеки создаются non-opaque
структуры, что усложняет контроль бинарной совместимости). Чтобы
не облажаться, librpmio.so пока будет включать в себя копию liblzma.a.
2) Для Сизифа по умолчанию будет включен режим сжатия w2.lzdio,
как для _source_payload, так и для _binary_payload (вероятно,
сизифовская сборка после проверки будет отправлена в branch 4.1).
В branch 4.0 будет отправлена сборка с поддежкой lzdio, но
сжатие будет по умолчанию выключено (останется w9.gzdio).
В обоих случаях сам rpm будет собран с w9.gzdio, чтобы его
можно было обновить предыдущим rpm'ом без поддержки lzdio.
3) Выбранный уровень сжатия 2 обеспечивает высокую скорость сжатия
(быстрее, чем у w9.bzdio, но несколько медленнее, чем у w9.gzdio)
и степень сжатия, сравнимую с w9.bzdio (иногда -- несколько лучше).
Следующий уровень сжатия 3 по скорости уже заметно проигрывает bzdio
(хотя и жмёт несколько лучше). Скорость разжатия не зависит от уровня
сжатия (разжимает примерно в 3 раза медленнее, чем gzip, но при этом
в 3-4 раза быстрее, чем bzip2).
3) У пакетов, собранных со сжатием lzdio, появится зависимость
rpmlib(PayloadIsLzma) <= 4.4.2-1. apt разрешает эту зависимость
через librpm, доступный ему в хост-системе. Но практике это означает,
что a) до установки любого пакета с lzdio сжатем нужно (отдельной
транзакцией) обновить сам rpm; б) для сборки пакетов хешером
в хост-системе должен стоять rpm с поддержкой lzdio.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080524/2a751b47/attachment-0002.bin>
Подробная информация о списке рассылки Devel