Opened 19 years ago

Closed 19 years ago

#4991 closed defect (fixed)

port uninstall is failing

Reported by: infinite.element@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.0
Keywords: Cc: pguyot (Paul Guyot), yeled@…, jberry@…, yves@…
Port:

Description

With port version: "Version: 1.100", "port uninstall" fails with the following:

$ port uninstall vim port uninstall failed: invalid command name "portuninstall::uninstall"

I (k)traced the command and it looks like that .../registry1.0/portuninstall.tcl is indeed loaded, if that is of any help.

According to darwinports@…, this does not really seem like a local issue: <26A5979B-3F02-4672-BAB5-4EBDCC2FD31F@…>, <B26D050C-44BA-4648-8B25-760DE8C8F79B@…>, <68D2D7B8-86B4-442D-BA43-A9600A9EA2DD@…>, but I cannot rule that out.

Change History (10)

comment:1 Changed 19 years ago by infinite.element@…

Adding

"package require portuninstall"

in port(1), beyond

"package require darwinports"

remediates this behaviour.

comment:2 Changed 19 years ago by jberry@…

Cc: pguyot@… added

Hmm. Interesting.

I don't really see how a number of the packages used by port(1) get required. Maybe I'm missing a call path somewhere.

Why does this work at all, for anybody, and shouldn't port be doing a require on portuninstall, or portupgrade, etc, before using the package?

Any thoughts, Paul?

comment:3 Changed 19 years ago by jberry@…

Cc: jberry@… added

comment:4 Changed 19 years ago by yeled@…

Cc: yeled@… added

comment:5 Changed 19 years ago by jberry@…

This seems to be related, in part, to two somewhat related issues:

  • There are two packages called portuninstall (one in the registry, and one in port1.0). Since pkgIndex in

each directory does a package ifneeded with the package name, it has a right to be confused. This is bad in itself.

  • I believe Paul's change to darwinports_fastload may have brought this issue to light, perhaps by slightly

changing the package semantics.

Thoughts/fixes, Paul?

comment:6 Changed 19 years ago by jberry@…

I backed out the patch on package in darwinports_fastload.tcl.in until Paul gets a chance to look at this issue.

comment:7 Changed 19 years ago by jberry@…

Light going on...!

The portuninstall.tcl file in /opt/local/share/darwinports/Tcl/port1.0 is a left-over from a time when that file actually existed. Since that code doesn't exist anymore, it should be removed. Multiple instances of this file are confusing the package loading system, particularly since a recent patch to the package command was added.

Users experiencing this problem should remove the file /opt/local/share/darwinports/Tcl/port1.0/ portuninstall.tcl. It is no longer used or installed by darwinports. Also remove this from from base/src/ port1.0 in your (cvs?) directory. Following this change you'll need to re-configure and install, as the pkgIndex files need to be regenerated.

Please give feedback that this fixes your problem.

I'm going to re-enable Paul's fastload patch, but with the note that it may cause problems in a case like this.

comment:8 Changed 19 years ago by yves@…

Cc: yves@… added

The situation is unfortunately not as clear as it would be in a perfect buggy world ... I will give what I have observed because this behaviour are not easy to repoduce

I run HEAD on 10.4.2 with Xcode 2.1

I uninstalled many ports on friday and saturday and found out that many were still present in dports/ software yesterday (sunday) while some had been deleted completely

But this is not, as I said, a coherent behavior -- Later on, I uninstalled ddd and everything got cleaned up ok (probably due to its awesome maintainer), I uninstalled jikes minutes later and it was still there in dports/software. "port installed" will say in either case that the port is not installed.

I have cleaned up my whole ${prefix}/share/darwinports/Tcl/port1.0/ directory yesterday too, but I can't say if it was before or after these two uninstall.

Hope that helps

comment:9 Changed 19 years ago by jberry@…

(In reply to comment #6)

The situation is unfortunately not as clear as it would be in a perfect buggy world ... I will give what I have observed because this behaviour are not easy to repoduce

Hi Yves,

I believe your comments are in reference to a different behavior, and should be entered in a different bug. This bug report deals with the response 'invalid command name "portuninstall::uninstall"' when the uninstall command is given. -james

I run HEAD on 10.4.2 with Xcode 2.1

I uninstalled many ports on friday and saturday and found out that many were still present in dports/ software yesterday (sunday) while some had been deleted completely

But this is not, as I said, a coherent behavior -- Later on, I uninstalled ddd and everything got

cleaned

up ok (probably due to its awesome maintainer), I uninstalled jikes minutes later and it was still there

in

dports/software. "port installed" will say in either case that the port is not installed.

I have cleaned up my whole ${prefix}/share/darwinports/Tcl/port1.0/ directory yesterday too, but I can't say if it was before or after these two uninstall.

Hope that helps

comment:10 Changed 19 years ago by jberry@…

Resolution: fixed
Status: newclosed

Closing. The cause appears to be holding up, and this is now documented on the wiki: http:// wiki.opendarwin.org/index.php/DarwinPorts:FAQ#Runtime_Errors.

Note: See TracTickets for help on using tickets.