Opened 3 months ago
Last modified 3 months ago
#70557 new defect
base 2.10.0 should do `portindex` for all local repos during `port migrate`
Reported by: | JDLH (Jim DeLaHunt) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | base | Version: | 2.10.0 |
Keywords: | Cc: | githubbjs (BJS) | |
Port: |
Description
port migrate
failed to rebuild some of my ports during a recent migration, which followed an OS upgrade (from Monterey to Sonoma). The reason is that I had a local portfile repository, which contained a patch to fix a particular build failure for a particular port on my system. During the migrate process, MacPorts apparently lost track of this repo. Thus it attempted to build the standard MacPorts version of the affected port. This attempt failed. I ran portindex
from my local Portfiles repo directory. Then I redid port install
for the ultimately requested port, which depended on the affected port. MacPorts rebuilt my local patched copy of the affected port. This attempt succeeded.
I request an enhancement: have port migrate
incorporate portindex
on all local Portfile repositories. After cataloguing and uninstalling all existing ports, migrate
should go through local Portfile repos listed in sources.conf
. For each repo, it should perform a portindex
operation. Then it should resume installing the ports in the new configuration.
The specifics of my situation: I upgraded my OS from macOS 12.7.6 Monterey to 14.6.1 Sonoma. That went smoothly. Silly me, I neglected to let MacPorts upgrade itself from 2.9 to 2.10 before the OS upgrade. Thus I had to install MacPorts base 2.10.0 via an installer. I do not know if that is relevant to the behaviour I saw. Also, I have a local copy of port www/webkit2-gtk
in order to work around ticket webkit2-gtk @2.28.2: config.rb: in `<top (required)>': undefined method `exists?' for File:Class (NoMethodError). migrate
's first sreinstall of webkit2-gtk
failed due to this bug. At that stage, port info webkit2-gtk
retrieved information on the standard port. Running portindex
on my local repo reasserted my local Portfile, and solved the problem.
Change History (4)
comment:1 Changed 3 months ago by jmroot (Joshua Root)
comment:2 Changed 3 months ago by JDLH (Jim DeLaHunt)
Awesome! However, during my recent port migrate
, that did not seem to take in my local port repo until I ran port sync
manually. So maybe this is a bug report instead of an enhancement request.
comment:3 Changed 3 months ago by githubbjs (BJS)
Cc: | githubbjs added |
---|
comment:4 Changed 3 months ago by jmroot (Joshua Root)
It will probably be difficult to figure out what happened without seeing debug output from an affected migrate run.
port migrate
does runmportsync
(the internal equivalent ofport sync
) which should update the indexes for all sources that are not tagged with[nosync]
.