* Girar Builder robot [090508 19:47]: > http://git.altlinux.org/tasks/6058/task/log.3 Такой фэйл, что даже вин! (ц) > 2009-May-08 19:18:03 :: task #6058 for sisyphus resumed: В задании 6058 расположился корован ruby 1.9.1, на который можно набигать. Собрано всего пять пакетов, основной целью было получение точного списка анметов. > #14 build 0.1.0-alt0.1 from /people/raorn/packages/rpm-build-ruby.git > #15 build 1.9.1-alt0.20090504 from /people/raorn/packages/ruby.git > #16 build 1.3.1-alt2 from /people/raorn/packages/ruby-minitest.git > #17 build 1.4.6-alt1 from /people/raorn/packages/ruby-racc.git > #18 build 0.8.4-alt1 from /people/raorn/packages/ruby-rake.git > #19 build 2.0.1-alt1 from /people/raorn/packages/ruby-locale.git > #20 build 2.0.1-alt1 from /people/raorn/packages/ruby-gettext.git Из этих субтасков можно скачать пакеты и положить в локальную хашерницу для тестовых пересборок. Первым делом, информация для тех кто напрямую линкуется с libruby. Расположение includes поменялось как по сравнению с апстримной 1.8, так и по сравнению с нашей сборкой 1.8. Правильный CFLAGS добывается примерно следующим образом: ruby -rrbconfig -e 'print RbConfig::expand("-I$(rubyhdrdir)/$(arch) -I$(rubyhdrdir)/ruby/backward -I$(rubyhdrdir)")' Да, теперь оно живёт в трёх каталогах. Какого-то официального простого способа для получения этой или похожей строки я не нашёл (даже в третьем издании Programming Ruby). Все хедеры переехали в подкаталог ruby. Вместо #include следует писать #include Старый вариант работает, но выдаётся варнинг. Прямой доступ внутрь структур RString и RArray запрешён. Вместо RSTRING(foo)->ptr; RSTRING(foo)->len; RARRAY(foo)->ptr; RARRAY(foo)->len; надо использовать конструкции RSTRING_PTR(foo); RSTRING_LEN(foo); RARRAY_PTR(foo); RARRAY_LEN(foo); которые, кстати, уже лет триста определены в ruby.h. Вместо переменной ruby_errinfo следует использовать функцию rb_errinfo(), которая возвращает указатель на то же самое. Что касается runtime части. Все ruby-module-* запилены обратно в ruby-stdlibs и ruby-stdlibs-tk. Provides/Obsoletes выставлены, но лучше обновить BuildRequires. Исправлена ошибка в rdoc, когда из такого кода: module ::Foo class Bar ... end end генерилась документация для Bar. Теперь RI документация будет лежать в правильном Foo/Bar. Убито много deprecated модулей: md5, sha1 - древние stub'ы для digest/md5 и digest/sha1. ftools - предлагается портировать код на fileutils. parsedate - использовать date и Date::parse. getopts - предлагается использовать optparse. Вместо test/unit теперь используется ruby-minitest с некоторой заглушкой, совместимой с test/unit чуть менее чем полностью. В файле ruby.ok.list находится список пакетов, которые нормальное пересобрались в одну-две итерации (туда же koffice, но у меня просто закончилось место на tmpfs). Ну и коротко о непересобранных пакетах. Если в ACL вашего пакета есть raorn или @ruby можете в принципе ничего по этому поводу не делать - я сам пересоберу, но помощи буду рад ;-) При пересборке желательно обновить версию пакета, если возможно. > alexandria#0.6.3-alt2 /usr/share/ruby/vendor_ruby/1.8 Нужен новый ruby-amazon. > ccaffeine-common#0.8.8-alt1 ruby(ftools) > ruby-amazon#0.9.2-alt2 ruby(md5) > ruby-dbi#0.4.0-alt1 ruby(parsedate) > ruby-module-qt#3.5.10-alt1 ruby(getopts) См. выше. > sisu#0.64.0-alt1 ruby-module-env Вот так не надо делать никогда-никогда. Пользуйтесь rpm-build-ruby для поиска зависимостей. -- Regards, Sir Raorn.