[sisyphus] broken pipe при сборке пакета

Vladislav Zavjalov slazav на altlinux.org
Ср Июн 3 14:18:24 MSD 2009


On 05/15/09 00:58, Vitaly Ostanin wrote:
> Здравствуйте.
>
> Собираю пакет в hasher, в логе вижу:
> find-requires: running scripts
> (files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks)
> /usr/lib/rpm/files.req: line 33: echo: write error: Broken pipe
> /usr/lib/rpm/files.req: line 33: echo: write error: Broken pipe
> /usr/lib/rpm/files.req: line 33: echo: write error: Broken pipe
> /usr/lib/rpm/lib.req: line 58: printf: write error: Broken pipe
> ...
> + /usr/lib/rpm/find-provides
> find-provides: empty file list, nothing to do
>
> Воспроизводится регулярно. Это как-нибудь лечится?

Недавно лечил похожее. Может и тут пригодится...

a | b

а много пишет, b удовлетворяется и закрывает pipe раньше времени.  Если 
a - отдельный процесс, то он получает SIGPIPE и тихо умирает, и все 
довольны.

Если a - команда shell, то SIGPIPE получает shell и молчать не хочет. 
Убивает эту команду и страшно ругается.

Я ради чистоты логов делал так:
(a) | b
Возникает лишний subshell, который по SIGPIPE убивается тихо, и все 
довольны...



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