[devel] I: текущий статус движка импорта RPM::Source::Convert.

Igor Vlasenko vlasenko на imath.kiev.ua
Пт Авг 16 19:53:31 MSK 2013


Господа,
для информации, кому интересно, текущее состояние поддержки различных 
типов исходных пакетов в движке импорта RPM::Source::Convert.

(на примере fcimport, возможности mgaimport на сегоднящний день еще не могут быть полностью задействованы, пока база distrodb для Mageia находится в разработке)

Системные библиотеки на C и С++.

Качество поддержки достаточно высокое. Библиотеки вообще являются хорошей целевой аудиторией для движка импорта, так как их тестирование в значительной мере может проводиться автоматизированно.

Для систем сборки в библиотеке RPM::Source::Tools::SourceAnalyzer присутствует хорошая поддержка autotools, средняя поддержка qmake и начальная поддержка cmake.

Если реализовать качественный автоугадыватель опций configure, это позволило бы реализовать генератор src.rpm пакетов прямо из архива с исходниками.

Библиотека RPM::Source::Tools::SourceAnalyzer также поддерживает распознавание зависимостей на файлы GObject Introspection (файлы .gir) в файлах Automake, что позволяет использовать движок импорта и для языка программирования vala.

Из имеющихся недостатков следует отметить, что в данный момент в движке импорта не производится переформатирование пакетов под нормы Shared Libs Policy Draft, что улучшило бы обновляемость системы.

Также желательно выделить время, чтобы доделать поддержку  системы сборки cmake, добавить поддержку scons и других, менее распространенных систем сборки.

Системные библиотеки на Fortran.

Имеются проблемы при импорте, так как не определена политика упаковки gfortran'овских mod файлов, необходима доработка gfortran. См. ALT Linux Bugzilla #25912, баг на gcc4.7-fortran (FortranModulesDir and %_fmoddir macro)
https://bugzilla.altlinux.org/show_bug.cgi?id=25912

Приложения на C и С++.

К ним относится то же, что сказано и по отношению к библиотекам, кроме того, что приложениям, как правило, недостаточно автоматизированного тестирования. Поэтому при использовании движка импорта нужно обращать внимание на качество поддержки пакета в оригинальном дистрибутиве и выстраивать обратную связь с пользователями (сборка по заказу, другие способы поощрения feedback).

Приложения на Паскале.

Инфраструктура отдельных библиотек для Паскаля не развита, поэтому для приложений производится стандартный импорт с использованием механизмов distromap.

Библиотеки Lua.

Поддерживаются, однако импорту мешает наличие в Сизифе устаревшей версии lua 5.1.

Библиотеки и приложения Perl.

Поддерживаются движком импорта хорошо, также библиотека RPM::Source::Tools::SourceAnalyzer поддерживает распознавание зависимостей на модули Perl.
Со временем будет возможен импорт прямо со CPAN.

Библиотеки и приложения PHP.

Прямой импорт не производится из-за различия политик упаковки, поддержки преобразования политик в данный момент нет из-за отсутствия спроса на данный тип пакетов.

Erlang, Ocaml.

Будет возможно при появлении спроса на данный тип пакетов.

Кросс-компилированные библиотеки и приложения mingw.

Имевшаяся ранее поддержка устарела, необходима ее серьезная доработка.

Библиотеки python.

Поддержка удоволетворительная.
Поддерживается стандартный импорт пакетов через distromap. 
Импорт напрямую из исходников в настоящий момент не поддерживается, так как библиотека RPM::Source::Tools::SourceAnalyzer не поддерживает распознавание зависимостей на библиотеки python.
Кроме этого, дальнейшему импорту пакетов модулей python мешает неразвитость нашего python3 репозитория.

Библиотеки node.js.

Поддержка импорта хорошая, в связи со спросом на данный тип пакетов и удобством работы с метаданными npmjs.
В состоянии разработки импорт пакетов напрямую из npmjs.org.


-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



Подробная информация о списке рассылки Devel