[devel] voiceman-1.5.0-alt3: Sisyphus/i586 test rebuild failed

Alexey Tourbin at на altlinux.ru
Пн Фев 7 04:56:51 UTC 2011


On Mon, Feb 07, 2011 at 10:49:21AM +0600, Slava Semushin wrote:
> 7 февраля 2011 г. 3:31 пользователь Dmitry V. Levin <ldv на altlinux.org> написал:
> > On Mon, Feb 07, 2011 at 01:17:34AM +0600, Michael Pozhidaev wrote:
> >>
> >> Вот пакет сломался, это я виноват или не я виноват?
> >
> > Запись вида %_libdir/* в секции %files теперь приводит к таким ошибкам
> > сборки из-за недавнего появления /usr/lib/debug/ в %buildroot.
> 
> Возможно ли сделать более человечное сообщение об ошибке? (Потому что
> этот вопрос не первый и не известно сколько ещё раз будет
> задаваться..)

Здесь rpm работает по принципу "вы что просили, то и получили".
Если вы просили запаковать %_libdir/*, то rpm пытается запаковать
%_libdir.  Далее, файлы в /usr/lib/debug действительно идентифицируются
как ELF.  Значит, вы как бы просили поискать в них зависимости, да?
Но ld.so не может загрузить эти файлы.  Значит, вы как бы просили
прекратить сборку.

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

Может быть, в lib.req и lib.prov вообще не надо обрабатывать
/usr/lib/debug/*.debug файлы - надеясь на то, что sisyphus_check
отловит пересечение с filesystem.  Но sisyphus_check сработает
только при сборке в хешере, а это может оказаться позже, чем нужно.

> >> > debuginfo.req: WARNING: /usr/lib/libao.so.4 is not yet debuginfo-enabled
> >> > lib.req.files: ELF executable /usr/src/tmp/voiceman-buildroot/usr/lib/debug/usr/bin/voiceman-emacspeak.debug is not executable
> >> > lib.req.files: ELF executable /usr/src/tmp/voiceman-buildroot/usr/lib/debug/usr/bin/voiceman-executor.debug is not executable
> >> > lib.req.files: ELF executable /usr/src/tmp/voiceman-buildroot/usr/lib/debug/usr/bin/voiceman-trim.debug is not executable
> >> > lib.req.files: ELF executable /usr/src/tmp/voiceman-buildroot/usr/lib/debug/usr/bin/voiceman.debug is not executable
> >> > lib.req.files: ELF executable /usr/src/tmp/voiceman-buildroot/usr/lib/debug/usr/bin/voicemand.debug is not executable
> >> > ldd: ERROR: /usr/src/tmp/voiceman-buildroot/usr/lib/debug/usr/bin/voicemand.debug: trace failed
> >> > find-requires: ERROR: /usr/lib/rpm/lib.req failed
> >> > error: /bin/sh failed
> >> > error: Failed to find Requires


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