[haiku-bugs] Re: [Haiku] #16153: [HaikuDepot] Featured packages tab is empty and disabled

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 31 May 2020 04:28:00 -0000

#16153: [HaikuDepot] Featured packages tab is empty and disabled
--------------------------------------+----------------------------
  Reporter:  diver                    |      Owner:  apl-haiku
      Type:  bug                      |     Status:  new
  Priority:  blocker                  |  Milestone:  R1/beta2
 Component:  Applications/HaikuDepot  |    Version:  R1/Development
Resolution:                           |   Keywords:
Blocked By:                           |   Blocking:
  Platform:  All                      |
--------------------------------------+----------------------------
Comment (by apl-haiku):

 If you switch the identifier over to the "r1beta2" in the remote
 {{{repo.info}}} file, HDS won't pick up on this until you execute the
 following API call to pull the {{{repo.info}}} data into HDS...

 {{{
 curl "https://depot.haiku-os.org/__repository/haikuportsr1b2/import
 }}}

 You can check this is configured into HDS properly by visiting
 [https://depot.haiku-
 os.org/#!/repository/haikuportsr1b2/source/haikuportsr1b2_x86_64 here].
 It will take a few minutes for it to synchronize as it runs in a
 background thread after it is triggered.  Keep checking until it has
 synchronized.

 After this change is picked-up by HDS then the HaikuDepot client will
 check to look for an update when it starts and will pull down new
 repository data from HDS.  Once this is done then it should marry-up the
 {{{url}}} (identifier) in HDS with the {{{url}}} identifier locally and it
 should work.

 ---

Won't that just confuse HDS more?

 I just tried to draw all this into a diagram, but it is a bit hard to
 express.  Let me try in words...

 HDS has a set of "Repository Sources".  Each time HDS syncs with the
 remote repo (1x daily and when prompted) it will pull down the
 {{{repo.info}}} and will update the {{{url}}} (identifier) in its local
 database record for the "Repository Source" -- if it has changed.

 At start time, HaikuDepot will query HDS to see if it has newer data about
 the repositories.  If it does have newer data, it will download it.  This
 data includes the {{{url}}} identifier that was originally obtained from
 the sync with the remote repository's {{{repo.info}}} file above.

 When HaikuDepot starts it loads the HPKR data from local disk and knows
 the repository that each package was associated with and hence knows the
 {{{url}}} (identifier) for each package.

 HaikuDepot has a copy of HDS's data for packages which is updates as
 necessary.  This data identifies the HDS repository involved.  This means
 that HaikuDepot knows for the HDS data each package and knows the
 {{{url}}} (identifier) for each package.

 It can now marry-up the repository cache package data and the HDS package
 data via the {{{url}}} (identifier) being equal.

 ---

 So you need to ensure the local {{{url}} (identifier) on the repository
 config is right and the remote repository {{{repo.info}}}'s {{{url}}}
 (identifier) is right, make sure HDS is synchronized with the remote
 repository and then restart HaikuDepot and it should marry-up the local
 package data with the HDS package data.

 If this doesn't work then it be necessary to find where these two
 {{{url}}} (identifier) values do not match.
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/16153#comment:19>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: