Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#22046 closed defect (fixed)

ncursesw installs files with paths that differ only in case

Reported by: dhaines@… Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: Cc: ruud@…
Port: ncursesw

Description

When you deactivate / uninstall ncursesw, it seems to leave behind all the files in {$prefix}/share/terminfo/*. Obviously, this isn't a good thing.

Here's the output from an example showing the problem:

sputnik: ~ % port installed
No ports are installed.
sputnik: ~ % sudo port install ncursesw
--->  Computing dependencies for ncursesw
--->  Fetching ncursesw
--->  Attempting to fetch ncurses-5.7.tar.gz from http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/ncurses
--->  Verifying checksum(s) for ncursesw
--->  Extracting ncursesw
--->  Configuring ncursesw
--->  Building ncursesw
--->  Staging ncursesw into destroot
--->  Installing ncursesw @5.7_0
--->  Activating ncursesw @5.7_0
--->  Cleaning ncursesw
sputnik: ~ % sudo port uninstall ncursesw
--->  Deactivating ncursesw @5.7_0
--->  Uninstalling ncursesw @5.7_0
sputnik: ~ % sudo port install ncursesw  
--->  Computing dependencies for ncursesw
--->  Fetching ncursesw
--->  Verifying checksum(s) for ncursesw
--->  Extracting ncursesw
--->  Configuring ncursesw
--->  Building ncursesw
--->  Staging ncursesw into destroot
--->  Installing ncursesw @5.7_0
--->  Activating ncursesw @5.7_0
Error: Target org.macports.activate returned: Image error: /opt/local/share/terminfo/2/2621a already exists and does not belong to a registered port.  Unable to activate port ncursesw.
Error: Status 1 encountered during processing.
sputnik: ~ % 

Change History (15)

comment:1 Changed 15 years ago by dhaines@…

Cc: dhaines@… added

Cc Me!

comment:2 Changed 15 years ago by dhaines@…

Cc: dhaines@… removed

Cc Me!

comment:3 Changed 15 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to imajes@…

comment:4 in reply to:  description ; Changed 15 years ago by blb@…

Replying to dhaines@…:

Error: Target org.macports.activate returned: Image error: /opt/local/share/terminfo/2/2621a already exists and does not belong to a registered port. Unable to activate port ncursesw.

I don't have this file at all, so I'm not sure why ncursesw installed it once without being the owner; that new attempt, however, appears to be more correct since it does know about it. Checking a few random files in ${prefix}/share/terminfo, they all show ownership to ncursesw for me.

comment:5 in reply to:  4 ; Changed 15 years ago by dhaines@…

Replying to blb@…:

I don't have this file at all, so I'm not sure why ncursesw installed it once without being the owner; that new attempt, however, appears to be more correct since it does know about it. Checking a few random files in ${prefix}/share/terminfo, they all show ownership to ncursesw for me.

I looked at all the files in the terminfo directory, and they're all owned by ncursesw.

I used this: find /opt/local/share/terminfo -type f -print0 | xargs -0 -n1 port provides | grep -Ev 'is provided by: ncursesw$'

comment:6 in reply to:  5 Changed 15 years ago by dhaines@…

I think that I've figured it out. It has to do with case-sensitive filesystems. Does macports not handle case-sensitivity correctly with respect to activation and deactivation?

comment:7 Changed 15 years ago by dhaines@…

I believe that this is the same bug reported in ticket 22119.

comment:8 Changed 15 years ago by jmroot (Joshua Root)

Summary: ncursesw not uninstalling / deactivating cleanlyncursesw installs files with paths that differ only in case

comment:9 Changed 15 years ago by ruud@…

Cc: ruud@… added

Cc Me!

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

Owner: changed from imajes@… to macports-tickets@…

James Cox (imajes) retires as MacPorts maintainer (see macports-mgr archives)

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

Cc: ruud@… added; ruud@… removed

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

Owner: changed from macports-tickets@… to jmr@…
Status: newassigned

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

Resolution: fixed
Status: assignedclosed

comment:14 in reply to:  13 Changed 14 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jmr@…:

r72330

Hello!

This bug is still active for me. My Portfile is from:

-rw-r--r-- 1 root admin 2263 11. Okt 06:30 /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncurses/Portfile -rw-r--r-- 1 root admin 2096 11. Okt 06:30 /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncursesw/Portfile

How can it be *fixed*? Manual activation by force?

Pete

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

The bug is fixed. I can't go back in time and fix it in the previous revision, so of course when that revision is uninstalled it will still leave behind its files (but only if you are still using the flat registry on a case-sensitive filesystem).

Note: See TracTickets for help on using tickets.