[MacPorts] #70917: port migrate/restore enhancement request

MacPorts noreply at macports.org
Wed Sep 25 12:06:38 UTC 2024


#70917: port migrate/restore enhancement request
-------------------------+--------------------
 Reporter:  pietvo       |      Owner:  (none)
     Type:  enhancement  |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:
 Keywords:               |       Port:
-------------------------+--------------------
 I did a `sudo port migrate` after installing a new OS version (Sonoma).
 However `migrate` failed because there was a dependency cycle in my ports:
 `graphviz` (`+pangocairo+rsvg`) => `librsvg` => `vala` => `graphviz`. And
 then all ports depending on these three also fail, which is quite a
 number.

 The solution to break this cycle is to first install `graphviz -rsvg`, and
 then `vala` and `librsvg`, and finally `graphviz +rsvg`. However `port
 migrate` cannot do this. A solution would have been to install `graphviz
 -rsvg` befor the migration, but as I detected this problem after the
 migration attempt it was too late to do this. Also I couldn't find where
 the snapshot information was stored, otherwise I might have been able to
 edit that information.

 So I "fixed" it by doing the install as described above, and then running
 `sudo port restore --last`. Unfortunately this deactivates everything, and
 does the check for the cyclic dependency again, so this doesn't solve the
 problem. I ended up by manually going through the migration/restore log
 and the installing the failed ports with `sudo port install`. However,
 this is tedious and error prone. The idea of `port migrate` is that
 everything should go automatically.

 Another problem that I can see is when a port requires that another one
 (or itself) must be deactivated before installing. For example I have
 `sigil` and it requires that `libzip` be deactivated before its
 installation. With the current migrate you can't do this. And you have no
 guarantee that `migrate` or `restore` wouldn't install `libzip` before
 `sigil`.

 So my request is to give `port restore` an option (e.g. `--continue`),
 that does not deactivate the already installed ports and doesn't check
 dependencies for these. (Actually this is what I had expected it to do.)
 In this way it is possible to manually correct problems during migration,
 and then continue with what is left over.

-- 
Ticket URL: <https://trac.macports.org/ticket/70917>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list