On Tue, Sep 02, 2008 at 01:37:38PM +0400, Alexey Tourbin wrote: > On Tue, Sep 02, 2008 at 12:30:12PM +0300, Kirill A. Shutemov wrote: > > On Tue, Sep 02, 2008 at 01:25:17PM +0400, Alexey I. Froloff wrote: > > > * QA Team Upravdom Robot [080902 13:05]: > > > > Dear Alexey I. Froloff (Sir Raorn)! > > > > The ruby-xmpp4r-0.4-alt1 package has been rejected from Sisyphus incoming > > > > for i586 architecture. > > > > > > > ./test/bytestreams/../../lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb:35:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE) > > > > > > * QA Team Upravdom Robot [080902 13:05]: > > > > Dear Alexey I. Froloff (Sir Raorn)! > > > > The ruby-xmpp4r-0.4-alt1 package passed through Sisyphus incoming rebuild > > > > for x86_64 architecture. > > > > > > Мне надо с этим что-то делать? > > > > > > Тесты создают сервер на порту 65005, видимо собиралось это > > > одновременно и на одном хосту. Надо такие тесты вырезать? > > > > перехвати Errno::EADDRINUSE и сделай +=1 к порту. > > А при одновременной сборке на трёх архитектурах? Можно попробовать > задействовать фактор случайности. С другой стороны, фактор случайности > привносить и нежелательно, потому что сборка пакета должна быть > воспроизводимой. (Лучше пусть явно не соберётся, чем будет собираться > через раз.) Я имел ввиду такой код: require 'socket' include Socket::Constants server = Socket.new(AF_INET, SOCK_STREAM, 0) port = 1234 begin sockaddr = Socket.pack_sockaddr_in(port, 'localhost') server.bind(sockaddr) rescue Errno::EADDRINUSE port += 1 retry end Возможно, стоит также обрабатывать EACCES. -- Regards, Kirill A. Shutemov + Belarus, Minsk + ALT Linux Team, http://www.altlinux.com/