[devel] [#6058] FAILED (try 3) rpm-build-ruby.git=0.1.0-alt0.1 ruby.git=1.9.1-alt0.20090504 ...

Alexey I. Froloff raorn на altlinux.org
Пт Май 8 21:07:13 MSD 2009


* Girar Builder robot <girar-builder@> [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 <ruby.h>

следует писать

#include <ruby/ruby.h>

Старый вариант работает, но выдаётся варнинг.

Прямой доступ внутрь структур 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20090508/957e0eeb/attachment.bin>


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