[Rpm-maint] [patch] don't exit with status 255

Panu Matilainen pmatilai at redhat.com
Wed Feb 13 06:44:19 UTC 2008


On Mon, 11 Feb 2008, Michal Marek wrote:

> Hi,
>
> rpm sometimes doesn't work well with xargs:
>
> $ touch /tmp/a
> $ perl -e 'print "/tmp/a "x100000 . "/bin/sh";' | xargs rpm -qf  | tail
> xargs: rpm: exited with status 255; aborting
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
> file /tmp/a is not owned by any package
>
>> From xargs(1):
>  If any invocation of the command exits with a status of 255, xargs will
>  stop  immediately  without reading any further input.  An error message
>  is issued on stderr when this happens.
> .
>
> Given that the actual value of the exit status can't be relied upon by
> scripts anyway, limiting it to 254 shouldn't break anything. Patch attached.

It'll break if somebody is abusing 255 return code as "everything got 
installed" with number of args >= 255, but like you said it's totally 
unreliable anyway...

Applied, thanks.

 	- Panu -



More information about the Rpm-maint mailing list