You might have better luck talking to the file maintainers.

Ross

On Sat, 30 Jan 2021 at 11:27, Robert P. J. Day <[email protected]> wrote:
>
>
>   (i asked about this on the OE list a couple days ago, but i have
> more info and wanted to get a bit wider coverage as i really, really
> want to de-mystify this issue.)
>
>   on current project, upgrading from wind river WRL9 to LTS19
> (effectively morty to zeus) involves going from file_5.28 to file_5.37
> recipe, which is used by various install and upgrade scripts to
> validate something is an actual ISO image by checking its mime type
> (not the way i would have done it, but it's done).
>
>   in WRL9, the mime type of an ISO image as printed by "file -i"
> included the string "application/x-iso9660-image", and that's what
> these scripts use to "verify" ISOness. so far, so good.
>
>   suddenly, in LTS19, the very same "file -i" invocation instead
> prints "application/octet-stream" -- this very same weirdness was
> noticed elsewhere, like here in ubuntu launchpad:
>
>   https://bugs.launchpad.net/ubuntu/+source/file/+bug/1763570
>
> that bug report describes *precisely* the behaviour we're seeing.
>
>   it's hard to believe the "file" command could have been that broken
> so i looked around for another explanation, and noticed that any
> single file could match multiple mime types, and that the file command
> had a "--keep-going" option, so my colleague tried that and, sure
> enough:
>
> #   file -i --keep-going /var/tmp/ptx.iso
>   /var/tmp/ptx.iso:
>   application/x-iso9660-imageapplication/x-dosexec\012-
>   application/octet-stream; charset=binary
>
> so now we see both mime types being displayed, but it's not feasible
> to change all the scripts to add the "--keep-going" option so i'm
> baffled as to why the newer file command suddenly decides to print
> "octet-stream" as the mime type rather than the more precise
> "x-iso9669-image".
>
>   more puzzlingly, the man page for the command states:
>
>      -k, --keep-going
>              Don't stop at the first match, keep going.  Subsequent
>              matches will be have the string ‘\012- ’ prepended.  (If
>              you want a newline, see the -r option.)  The magic pat‐
>              tern with the highest strength (see the -l option) comes
>              first.
>
> hang on ... if the pattern with the highest strength is allegedly
> printed first, in the above, that is "x-iso9660-iamge", so why would
> that not be the single mime type displayed by a normal invocation?
>
>   has anyone else seen this? can it be reproduced? i'll try the latest
> version of file later this weekend, but i'm open to assistance since
> this weirdness is currently breaking all sorts of install and upgrade
> procedures.
>
> rday
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#52174): https://lists.yoctoproject.org/g/yocto/message/52174
Mute This Topic: https://lists.yoctoproject.org/mt/80232547/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to