[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