[haiku-bugs] Re: [Haiku] #12374: Opening apps (by mimetype?) need to prioritise system installation

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Sun, 20 Sep 2015 09:34:53 -0000

#12374: Opening apps (by mimetype?) need to prioritise system installation
------------------------------------+----------------------------
Reporter: jessicah | Owner: axeld
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Kits/Application Kit | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
------------------------------------+----------------------------

Comment (by bonefish):

Replying to [comment:4 jessicah]:

Actually, I just realised tonight that what we fail to consider is that
there are no apps installed on the boot partition. When I was debugging, I
noticed that in the query code, there were no entries returned in
/boot/system/... in `query_for_app`, it stops as soon as the first
queriable volume finds one or more apps. This is likely the actual cause
for all the problems I'm having.

Good catch. Sounds very plausible that this could have been overlooked.

And there are no (system) apps there! This is one of those cases where
my idea in an old ticket (#10040) of transparently passing the query on
down to the packagefs volumes, and marking the packagefs volumes as
ephemeral (so that they wouldn't show up) would avoid all of these
headaches... rather than hacking around the issue, as was done for
DiskUsage as yet another example.

As discussed in #10040 it is not that simple, as there are use cases in
which one wants to include the packagefs volumes and some in which one
doesn't. So, if there was some API performing complex queries, whether to
include "embedded" volumes should be specified by a parameter (a volume
filter callback interface (with a good default implementation) to be
passed to the class would be even better).

Alas, there is no such API. Tracker's [http://cgit.haiku-

os.org/haiku/tree/src/kits/tracker/QueryPoseView.h?id=287dab9d8e79fca7e2efb349ceb26078ac797093#n98
QueryEntryListCollection] is the closest we have, but ATM it is very
specific to the needs of Tracker and, living in libtracker, it isn't
available to the BRoster implementation anyway.

--
Ticket URL: <https://dev.haiku-os.org/ticket/12374#comment:5>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: