Opened 17 years ago

Closed 17 years ago

Last modified 5 years ago

#651 closed defect (fixed)

cvs up in dports makes port uninstall fail if version has changed

Reported by: jcorley1@… Owned by: landonf (Landon Fuller)
Priority: Normal Milestone:
Component: base Version: 1.0
Keywords: Cc:
Port:

Description (last modified by ryandesign (Ryan Schmidt))

I installed subversion when it was at version 0.23.0. I ran cvs up in my dports tree (/opt/darwinports/dports) and noticed it was upgraded to version 0.24.2. When I tried to uninstall it, all I get is this:

%
% port uninstall -d -v subversion +mod_dav_svn
DEBUG: com.apple.package registered provides 'package', a pre-existing
procedure. Target override will not be provided
DEBUG: Executing mod_dav_svn provides mod_dav_svn
DEBUG: Skipping completed com.apple.main (subversion)
DEBUG: Executing com.apple.uninstall (subversion)
Error: Target com.apple.uninstall returned: Uninstall failed: Port not
registered as installed
Warning: the following items did not execute (for subversion): com.apple.uninstall
%

Problem being, as I understand it, that port is looking to remove version 0.24.2 instead of the 0.23.0 that I have installed. I have been told that I should have removed the port first, then run cvs update, then port install. However, how would I know to update the port if I don't run cvs up first?

Jason

Change History (7)

comment:1 Changed 17 years ago by jcorley1@…

Here's a semi-kludgy fix for this problem for portcontents.tcl:

--- src/port1.0/portcontents.tcl        Wed Jul  9 21:25:29 2003
+++ src/port1.0/portcontents.tcl        Wed Jul  9 21:24:58 2003
@@ -42,7 +42,7 @@
 proc contents_main {args} {
     global portname portversion UI_PREFIX
 
-    set rfile [registry_exists $portname $portversion]
+    set rfile [registry_exists $portname]
     if [string length $rfile] {
        if [regexp .bz2$ $rfile] {
            set fd [open "|bunzip2 -c $rfile" r]
Last edited 5 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:2 Changed 17 years ago by fenner@…

A related problem is that a port that was installed from somewhere other than /usr/dports cannot be uninstalled from anywhere except the port directory, making it a little hard on maintainers. They both have the root problem cause, which is that (IMHO) "port uninstall" should be searching only the receipts, not the port index.

comment:3 Changed 17 years ago by charlie@…

11:10 <yeled> actually 11:10 <yeled> you shouldnt be allowed to install in the first place 11:10 <fenestro> it should look in receipts only 11:11 <yeled> fenestro, yes.

comment:4 Changed 17 years ago by charlie@…

I meant, there should never be a duplicate port to begin with.

comment:5 Changed 17 years ago by jcorley1@…

Owner: changed from darwinports-bugs@… to landonf@…

comment:6 Changed 17 years ago by fkr@…

Resolution: fixed
Status: newclosed

this should be dealt with. -fkr

comment:7 Changed 5 years ago by ryandesign (Ryan Schmidt)

Component: portsbase
Description: modified (diff)
Note: See TracTickets for help on using tickets.