[oe] broken shared-mime-info and MIME typing
Stanislav Brabec
utx at penguin.cz
Thu Dec 4 09:51:35 UTC 2008
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
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.
--
Stanislav Brabec
http://www.penguin.cz/~utx/zaurus
More information about the Openembedded-devel
mailing list