[haiku-bugs] Re: [Haiku] #12917: get_package_dependencies needs to be refactored

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Thu, 18 Aug 2016 04:15:00 -0000

#12917: get_package_dependencies needs to be refactored
--------------------------------+----------------------------
   Reporter:  kallisti5         |      Owner:  kallisti5
       Type:  enhancement       |     Status:  new
   Priority:  normal            |  Milestone:  Unscheduled
  Component:  Kits/Package Kit  |    Version:  R1/Development
 Resolution:                    |   Keywords:
 Blocked By:                    |   Blocking:
Has a Patch:  0                 |   Platform:  All
--------------------------------+----------------------------
Description changed by kallisti5:

Old description:

It appears the entire reason the url exists in the repo file
(BRepositoryInfo blob) is to appease the get_package_dependencies binary.
The requirements of get_package_dependencies could be greatly cleaned up.

**Current Behaviour**

get_package_dependencies takes in the following arguments:
  * Several binary local repo files which contain the url, and repo
package inventory
    * These are pretty much http://packages.haiku-
os.org/haikuports/master/repo/x86_64/current/repo generated from
http://packages.haiku-
os.org/haikuports/master/repo/x86_64/current/repo.info.
  * --
  * Every local hpkg file to be placed into the image.

get_package_dependencies then 'solves' the dependencies and links to
where the package should be based on the url in repo.info.


get_package_dependencies seems to be the only thing that actually uses
the url field in the repo.info / repo manifest. (this url field makes
repo's unportable to other locations)


**How it should work**
  * A series of remote repo URL's are provided to the tool
    * Tool downloads repo manifest from each remote repo.
    * Tool now knows "where repos exist, and what packages they contain"
  * --
  * Every local hpkg file to be placed into the image.

New description:

 It appears the entire reason the url exists in the repo file
 (BRepositoryInfo blob) is to appease the get_package_dependencies binary.
 The requirements of get_package_dependencies could be greatly cleaned up.

 **Current Behaviour**

 get_package_dependencies takes in the following arguments:
   * Several binary local repo files which contain the url, and repo
 package inventory
     * These are pretty much http://packages.haiku-
 os.org/haikuports/master/repo/x86_64/current/repo generated from
 http://packages.haiku-
 os.org/haikuports/master/repo/x86_64/current/repo.info.
   * --
   * Every local hpkg file to be placed into the image.

 get_package_dependencies then 'solves' the dependencies and links to where
 the package should be based on the url in the provided binary repo
 (created from repo.info).


 get_package_dependencies seems to be the only thing that actually uses the
 url field in the repo.info / repo manifest. (this url field makes repo's
 unportable to other locations)


 **How it should work**
   * A series of remote repo URL's are provided to the tool
     * Tool downloads repo manifest from each remote repo.
     * Tool now knows "where repos exist, and what packages they contain"
   * --
   * Every local hpkg file to be placed into the image.

--

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

Other related posts: