#10435: Problems updating type information for app binaries if a corresponding package exists ---------------------------------+---------------------------- Reporter: anevilyak | Owner: bonefish Type: bug | Status: new Priority: normal | Milestone: R1 Component: Servers/registrar | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All ---------------------------------+---------------------------- Comment (by anevilyak): Replying to [comment:1 bonefish]: > Mmh, there seem to be a few questions/problems. First of all, if not invoked with "-a" or "-A", should `mimeset` touch the MIME DB at all? It doesn't seem right. Not sure what BeOS, though. > Regarding BeOS, I'm uncertain there as well, but I would say that I wouldn't have expected mimeset to do so without passing one of the options that explicitly mentions the database. > That being said, the behavior of `DatabaseLocation::DeleteAttribute()` is incorrect. It just uses `_OpenType()`, but it actually needs a writable type. `OpenOrCreateType()` would be more appropriate, but not quite, since actually we don't want to create a type when it doesn't exist yet. Renaming the method to (or adding a new) `OpenWritableType()` with an additional "bool create" parameter would be the best solution. Understood, I can look into that. > Finally there's the general question what is supposed to happen when an application is installed/available multiple times, as there can only be one MIME DB entry for the signature. Having `mimeset` only manipulate the MIME DB when "-a" or "-A" is specified makes a lot of sense in that light. +1. On a related note regarding MimeInfoUpdater::Do(), a question about the conditional block [http://cgit.haiku- os.org/haiku/tree/src/kits/storage/mime/MimeInfoUpdater.cpp#n132 here:] Do you know if it's intentional that all those potential failures are suppressed? Currently, if anyone of those fails, none of the encapsulated update operations will wind up actually taking place, but the caller will have no way of detecting it. -- Ticket URL: <http://dev.haiku-os.org/ticket/10435#comment:2> Haiku <http://dev.haiku-os.org> Haiku - the operating system.