#14927: HaikuDepot doesn't show any packages
---------------------------------------+----------------------------
Reporter: KapiX | Owner: apl-haiku
Type: bug | Status: reopened
Priority: normal | Milestone: Unscheduled
Component: Applications/HaikuDepot | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
---------------------------------------+----------------------------
Changes (by stippi):
* status: closed => reopened
* resolution: no change required =>
Comment:
Why was this bug closed? I've tracked this down to this commit:
https://github.com/haiku/haiku/commit/3b17d8dd7f1f25ad91f64ea12770200043d56af1
#diff-f48033892fb37ef28ba8e79bc997c1d1
In particular the changes in src/kits/package/RepositoryConfig.cpp to
BRepositoryConfig::SetTo(BEntry). From what I understand, the changes are
meant to deal with old repository driver settings that still have the old
keys. For an "old" repository driver settings file such as this:
{{{
url=https://eu.hpkg.haiku-os.org/haikuports/master/x86_gcc2/current
priority=1
}}}
the result is that fBaseURL = "<the url from above>" and fURL = "".
In !HaikuDepot, where packages are populated and associated with a Depot,
no installed package (except for local packages) is associated with any
Depot, since no Depot has a URL. This happens in
LocalPkgDataLoadProcess.cpp in RunInternal() where it uses
repoConfig.URL() to associate the Depot's URL.
It seems one of the two places is incorrect. Either it is intentional that
BRepositoryConfig::URL() can be empty for old driver settings, or
HaikuDepot needs to use BaseURL() instead of URL().
The code is not correct as is, if the intention is to support a seamless
upgrade, as should be the case.
--
Ticket URL: <https://dev.haiku-os.org/ticket/14927#comment:9>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.