[MacPorts] #56730: port reclaim fails with circular dependencies

MacPorts noreply at macports.org
Sun Jun 24 17:50:48 UTC 2018


#56730: port reclaim fails with circular dependencies
----------------------------------+--------------------
  Reporter:  MarcusCalhoun-Lopez  |      Owner:  (none)
      Type:  defect               |     Status:  new
  Priority:  Normal               |  Milestone:
 Component:  base                 |    Version:
Resolution:                       |   Keywords:
      Port:                       |
----------------------------------+--------------------
Description changed by MarcusCalhoun-Lopez:

Old description:

> Recently, `port reclaim` added the ability [https://github.com/macports
> /macports-base/pull/20 to removed unrequested port].\\
> The procedure loops over every port and decides if it **or one of its
> dependents** is requested.\\
> To facilitate this procedure, the ports are put in
> [https://github.com/macports/macports-
> base/blob/a9579836b7b31158c1b3a67c4c5a7d9ffdbf572f/src/macports1.0/reclaim.tcl#L516
> sorted order].\\
> This works fine if [https://github.com/macports/macports-
> base/blob/a9579836b7b31158c1b3a67c4c5a7d9ffdbf572f/src/macports1.0/reclaim.tcl#L399
> the procedure] `sort_portlist_by_dependendents` works as advertised.\\
> If there is a circular dependency, then this is not possible.
>
> Some circular dependencies are requested by the user.\\
> For example:
> * install `librsvg`
> * install `adwaita-icon-theme` (depends on `librsvg`)
> * install `librsvg +viewer` (depends on `adwaita-icon-theme`)
> This results in `Error: reclaim failed: can't read
> "isrequested(librsvg)": no such element in array`.
>
> This issue was recently discussed on the
> [https://lists.macports.org/pipermail/macports-
> users/2018-June/045272.html mailing list].

New description:

 Recently, `port reclaim` added the ability [https://github.com/macports
 /macports-base/pull/20 to removed unrequested port].\\
 The procedure loops over every port and decides if it **or one of its
 dependents** is requested.\\
 To facilitate this procedure, the ports are put in
 [https://github.com/macports/macports-
 base/blob/a9579836b7b31158c1b3a67c4c5a7d9ffdbf572f/src/macports1.0/reclaim.tcl#L516
 sorted order].\\
 This works fine if [https://github.com/macports/macports-
 base/blob/a9579836b7b31158c1b3a67c4c5a7d9ffdbf572f/src/macports1.0/reclaim.tcl#L399
 the procedure] `sort_portlist_by_dependendents` works as advertised.\\
 If there is a circular dependency, then this is not possible.

 Some circular dependencies are requested by the user.\\
 For example:
 * install `librsvg`
 * install `adwaita-icon-theme` (depends on `librsvg`)
 * install `librsvg +viewer` (depends on `adwaita-icon-theme`)
 This results in `Error: reclaim failed: can't read "isrequested(librsvg)":
 no such element in array` if somehow these ports were `unsetrequested`.

 This issue was recently discussed on the
 [https://lists.macports.org/pipermail/macports-users/2018-June/045272.html
 mailing list].

--

-- 
Ticket URL: <https://trac.macports.org/ticket/56730#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list