[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