Problems updating type information for app binaries if a corresponding package exists
|Reported by:||anevilyak||Owned by:||anevilyak|
If a package is installed for an application that has a signature and is registered, and one then tries to e.g. build it in haikuports, a mimeset -f to set its icon can fail. After tracking it down for a bit, what appears to occur is that in
SetSupportedTypes() returns 'Operation not permitted', which can actually be traced back to
Database::DeleteSupportedTypes() in storage/mime/Database.cpp. fLocation->DeleteAttribute() returns the above value, and this error consequently causes the rest of the mime setting operations to be skipped, including setting the icons.
Moving the corresponding package out of the packages dir and then repeating the mimeset in question succeeds. Not sure as to the best resolution to that problem though, should that error simply be suppressed as is frequently done for e.g. B_ENTRY_NOT_FOUND surrounding mime operations?