Projects
New Ticket     Wiki     Browse Source     Timeline     Roadmap     Bug Reports     Search

Ticket #14123 (new defect)

Opened 10 months ago

Last modified 6 months ago

base-1.6.0 "port uninstall" left installed files at case-sensitive FS

Reported by: ononon@… Owned by: macports-tickets@…
Priority: Low Milestone: MacPorts base bugs
Component: base Version: 1.6.0
Keywords: Cc: jmr@…, pguyot@…, raimue@…
Port:

Description

At HFS+ (case sensitive),

port install ncursesw
port uninstall ncursesw

make errors and some installed files are not deleted.

This is because "filemap" in Pextlib.dylib is a case-insensitive function, so

filemap set testmap "/A/Apple_Terminal" "casetest"
filemap set testmap "/a/appleII"        "casetest"
puts [filemap list testmap "casetest"]

show "/A/Apple_Terminal /A/appleII". (Note that path 'a' of 'appleII' was touppered !)

To fix this, you have only to substitute 'strncasecmp' with 'strncmp' in src/pextlib1.0/filemap.c . I guess that this fix make little influence to case-insensitive users, then expect that it is applied for our case-sensitive users.

Thanks in advance.

Attachments

filemap_file_case.diff (1.2 KB) - added by jmr@… 6 months ago.
implementation of the requested change

Change History

Changed 6 months ago by jmr@…

implementation of the requested change

Changed 6 months ago by jmr@…

  • cc jmr@…, pguyot@… added

The attached patch should do what you're asking for. Paul, you wrote this code—will this break anything?

Changed 6 months ago by raimue@…

  • cc raimue@… added

Cc Me!

Changed 6 months ago by jmr@…

To answer my own question, yes, applying just this patch breaks deactivation.

Note: See TracTickets for help on using tickets.