Вход для участников · О проекте · Регистрация · Контакты · В Закладки  
РАСПО Поиск:
ГлавнаяНовостиБлогКаталог разработчиковКаталог проектовДокументыСобытияЧаВоЛучший свободный проект России в госсекторе 2011

Блог

· к списку записей

Евгений Буданов. RPM5: только факты

08.02.12 | God

Домыслов и слухов по поводу RPM5  – бесчисленное множество. Постараемся немного прояснить ситуацию и рассмотрим самые серьезные изменения RPM5 по сравнению с «оригинальным» RPM компании Red Hat.

Причины появления RPM5

Изначально задачи создания отдельного проекта  RPM5 не было: просто за десять лет развития кода RPM4 в нем накопилось много лишнего, и назрела необходимость в глубоком рефакторинге. Тогдашний ведущий разработчик и мантейнер Джефф Джонсон давно вынашивал эту идею и даже начал вносить изменения в версию rpm 4.x. Однако проблемы введения патчей в основной продукт и политика Red Hat, направленная на обеспечение его совместимости и стабильной работы, привели к появлению в 2007 году RPM5.

Кроме того, в четвертой ветке rpm практически для каждого rpm-based дистрибутива (скажем, openSUSE или Mageia) дописывается масса патчей, и порой такой код достигает устрашающих размеров (ALT Linux). Соответственно, требовался технологический задел для создания значительно более цельного и универсального пакетного менеджера.

Наконец, серьезная переработка API и ABI позволит значительно упростить создание высокоуровневых приложений, работающих с rpm, и сильно облегчить мантейнерам работу по сопровождению пакетной базы дистрибутива.

Отличия RPM5 от RPM4

В RPM5 вычищен устаревший и ненужный код, удалена совместимость с RPM v3 и переработаны привязки (bindings) для языка Perl. Внесены функции проверки сборок пакетов и обратной совместимости с предыдущими версиями. Добавлены интерпретатор для языка Lua, поддержка синтаксиса YAML  для файлов спецификаций, биндинги для языка Ruby. В результате ускорился ход операций и решен ряд застарелых проблем.

В этой версии появилось множество возможностей, которые в RPM4 отсутствовали. Среди них – поддержка алгоритма сжатия LZMA, улучшенная обработка событий при установке, обновлении, удалении пакетов и др. Часть нововведений потом перенесли и в RPM4. Важные отличия RPM5 от изначального продукта – поддержка компиляторов Sun Studio и Intel C Compiler (а не только GCC) и, помимо Linux, других платформ – MacOS, *BSD, Cygwin и Solaris. В будущем ничто не мешает добавить поддержку «настоящей» Windows, а не через cygwin.

Что же касается нашумевшего функционала «мягкие зависимости», он есть и в RPM4 (теги SUGGESTS и ENHANCES). Но в RPM5 помимо этих тегов введен атрибут RPMSENSE_MISSINGOK, который можно указать для каждой зависимости из набора REQUIRES, а не только для пакета в целом.

Для мантейнеров и пользователей все должно быть прозрачно, поскольку форматы пакетов обеих версий rpm прямо и обратно совместимы, поддерживается подавляющее большинство макросов в spec-файлах. Но кое-что претерпело изменения, например синтаксис и поведение некоторых макросов, таких как %post и %exclude. Расширились возможности части старых макросов – скажем, для %install добавлена функция ускоренной сборки пакета. Для утилиты rpm создано множество новых опций и алиасов (полный список см. здесь).

В RPM5 нет поддержки стандарта LSB (т.к. совместимость с RPM v3 устранили), но для Mandriva/ROSA Linux эта функциональность специально оставлена. В комитете по разработке LSB понимают, что RPM v3 устарел, и, насколько известно, в версии LSB 5.0 или старше требования к RPM будут значительно переработаны.

Для кого предназначен и где используется RPM5

Для пользователей и мантейнеров дистрибутивов RPM5 не несет революционных изменений, он, скорее, предназначен для разработчиков.

Вопреки распространенному мнению, версия RPM5 используется далеко не только в Mandriva/ROSA Linux. Сначала она нашла применение у разработчиков Unity Linux, потом – в дистрибутивах Wind River Linux  и Ark Linux, проектах OpenPKG, CAOS Linux  и OpenEmbedded.

Развенчаем еще одно заблуждение – о том, что rpm 5.x используется дистрибутивами ALT Linux. Это не соответствует действительности, поскольку в них задействован очень сильно доработанный, но все же rpm 4.0. Правда, идея перевода ALT Linux на пятый RPM возникала, и в рассылке разработчиков даже фигурировали кое-какие патчи, но на том все и закончилось.

В целом, RPM5 развивается значительно активнее его «соседа» из Red Hat. А наличие, к тому же, достаточного числа действующих комиттеров и активное обсуждение RPM5 в почтовых рассылках внушают оптимизм по поводу будущего этого продукта.


Добавить комментарий

Новости в RSS

 

· Подписаться!

· Что такое RSS?

 


Архив записей

 

 


ГлавнаяНовостиБлогКаталог разработчиковКаталог проектовДокументыСобытияЧаВоЛучший свободный проект России в госсекторе 2011