[oe] broken shared-mime-info and MIME typing

Koen Kooi k.kooi at student.utwente.nl
Thu Dec 4 11:54:49 UTC 2008


On 04-12-08 10:51, Stanislav Brabec wrote:
> Looking at MIME binding, I found that it is now completely broken.
>
> We have mime.class, that provides install-time generating of the
> database.
>
> shared-mime-info attempts to provide compile-time generating of the
> database. As it does not contain freedesktop.org.xml, any package using
> mime.class calling update-mime-database will remove 99% of entries in
> the MIME database.
>
> Creating database during the build time is not possible yet and would
> require significant changes in update-mime-database (or writing a
> different tool):
> There is no way to create /usr/share/mime/magic, subclasses, mime.cache
> during the build time =>  it must be done during installation. Note that
> mime.cache is a binary file.
>
>
> Proposal:
>
> - Install freedesktop.org.xml again.
> - Change mime.class:
>    - Change scripts: First test, whether update-mime-database is
>      installed, if yes, then call it.
>    - mime class should not RDEPEND on shared-mime-info (now it depends,
>      but it is missing there and may cause installation errors)
>    - mime_prerm should be probably postrm =>  update database after
>      package removal
> - default to --disable-update-mimedb

The current implementation is:

* shared-mime-info does *NOT* include freedesktop.org.xml to save space
* mime.bbclass *DOES* check for /usr/bin/update-mime-info
* mime.bbclass *DOES* add rdepends to freedesktop.org.xml when needed

This means that people not needing freedesktop.org.xml don't get it 
installed and people that do need it get it installed automagically when 
using mime.bbclass

regards,

Koen


>
> Alternatives:
>
> - Write update-mime-database alternative capable to build magic without
>    freedesktop.org.xml.
> - Patch update-mime-database to allow compressed packages/*.xml.
> - Return to compile time and write a tool capable to create MIME
>    database for all packages available in the feed as the part of
>    package-index creation. It would need a special XDG_* variables
>    settings, so applications will be able to collect magic from all
>    repositories.
>






More information about the Openembedded-devel mailing list