#575776 binfmt-support/run-detectors tries to run binfmt-detector-cli.

Package:
binfmt-support
Source:
binfmt-support
Description:
Support for extra binary formats
Submitter:
Erik de Castro Lopo
Date:
2011-10-13 06:09:03 UTC
Severity:
normal
#575776#5
Date:
2010-03-29 07:22:43 UTC
From:
To:
    Can't exec "/usr/lib/cli/binfmt-detector-cli": No such file or directory
    at /usr/share/binfmt-support/run-detectors line 92.

Basically the run-detectors script should check to see if
binfmt-detector-cli exists and only exec it if it does.

#575776#10
Date:
2010-03-29 08:05:04 UTC
From:
To:
The fix for this is really trivial. Patch below.

Cheers,
Erik
--- run-detectors.pl.orig 2008-08-19 19:24:20.000000000 +1000 +++ run-detectors.pl 2010-03-29 19:02:45.869495423 +1100 @@ -88,7 +88,7 @@ # as one succeeds, exec() it. for my $format (@ok_formats) { - if (length $format->{detector}) { + if (length $format->{detector} && -e $format->{detector}) { my $status = system $format->{detector}, $ARGV[0]; $status /= 256; # actual exit value if ($status == 0) {
#575776#15
Date:
2010-03-29 08:28:50 UTC
From:
To:
While it's true that your patch represents a trivial fix, it seems odd
that this situation should ever arise.  If the package providing
/usr/lib/cli/binfmt-detector-cli has been removed, shouldn't all the
binary formats using it as a detector also have been removed?  Could you
please elaborate on how you came across this problem?

Thanks,

#575776#20
Date:
2010-03-29 08:55:16 UTC
From:
To:
Colin Watson wrote:

I did look, but I couldn't figure out how binfmt-support figured out
that it should look for binfmt-detector-cli.

Well some time ago I removed the mono-runtime package which provides
binfmt-detector-cli.

There were no warnings of any kind. So either binfmt-support is a missing
dependency on mono-runtime (which would be silly) or binfmt-support needs
to be aware that mono-runtime may not be installed.

Erik

#575776#27
Date:
2011-10-13 06:07:30 UTC
From:
To:
Hello,

I seems to me that /var/lib/binfmts/cli file is still in place for
some reason even after mono runtime was removed. Removing it by hand
fixes the problem, so I guess we should reassing this bug to mono.