Opened 14 years ago

Closed 14 years ago

#38103 closed defect (fixed)

py27-pyusb-devel lists incorrect portdir in index

Reported by: istlota@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: raimue (Rainer Müller), ryandesign (Ryan Carsten Schmidt)
Port: py-pyusb-devel

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Once a week, I port clean -all all. This week, it is failing when it gets to py27-pyusb with this message:

--->  Cleaning py27-pyusb
Error: Unable to open port: couldn't change working directory to "/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/python/py27-pyusb-devel": no such file or directory

Yet, I can successfully complete a port clean py27-pyusb, port uninstall py27-usb, and port install py27-pyusb.

Five days ago, py27-pyusb-devel was removed, right? This is acting like there is some sort of unnecessary py27-pyusb-devel dependency which is unique to port clean --all all, but not port clean py27-pyusb. Grok?

Change History (6)

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added; istlota@… removed
Description: modified (diff)

Please verify that the problem still occurs after running "sudo port selfupdate". If so, I believe I understand what is happening, and will try to explain and fix it.

comment:2 Changed 14 years ago by jmroot (Joshua Root)

Port: py-pyusb-devel added; py27-pyusb removed
Priority: Low → Normal
Summary: port clean --all all fails to clean py27-pyusb → py27-pyusb-devel lists incorrect portdir in index

comment:3 Changed 14 years ago by jmroot (Joshua Root)

Cc: raimue@… added

comment:4 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

I believe the following is correct:

In r103036 the unified ports py-pyusb and py-pyusb-devel were created by copying and modifying py26-pyusb and py26-pyusb-devel. The new unified ports contain subports for python25, python26 and python27. When converting non-unified ports to a unified port, it is necessary to create the new unified port and also to delete all the old non-unified ports in the same commit. In r103036 py26-pyusb and py26-pyusb-devel were deleted, but it was not realized that a standalone py27-pyusb-devel existed, so it was not deleted. When the server-side portindex process ran following r103036, the py27-pyusb-devel subport of py-pyusb-devel was not added to the index because that conflicted with the existing standalone py27-pyusb-devel port. A duplicate key error message was produced by the server-side portindex process, which caused an automated email about this problem to be sent to our administrator, in response to which he ​alert the dev mailing list to the problem, which led to Rainer removing the old py27-pyusb-devel port in r103042. But MacPorts doesn't know that it should now re-index the py-pyusb-devel port, so the index still contains the old path for the now-deleted py27-pyusb-devel port.

The solution should therefore be to make any change to the py-pyusb-devel port so that the server-side process re-indexes it. I've made such a change in r103179. Please wait 30 minutes, then run "sudo port selfupdate" and verify whether it's fixed.

Version 0, edited 14 years ago by ryandesign (Ryan Carsten Schmidt) (next)

comment:5 Changed 14 years ago by istlota@…

Just tried port clean --all all . It completes now. Problem solved. Thanks!

comment:6 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: → fixed
Status: new → closed
Note: See TracTickets for help on using tickets.