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@…
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: | new → closed |
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.
Adding
"package require portuninstall"
in port(1), beyond
"package require darwinports"
remediates this behaviour.