Subject: pkgsrc and case-sensitive HFS+ problem
To: None <tech-pkg@NetBSD.org>
From: John D. Baker <jdbaker@mylinuxisp.com>
List: tech-pkg
Date: 06/11/2005 14:32:10
I was trying to build cad/qcad with /usr/pkg and at least $WRKOBJDIR on
a case-sensitive HFS+ filesystem.

unpacking qcad-1.5.4.tar.gz failed as follows:

tar: Cannot create qcad-1.5.4/libraries/hydraulics/symbols/absperrr=FCck.dx=
f.68ikCy (Invalid argument)

In case it doesn't translate, the character after "absperrr" shows up as
a lowercase 'u' with umlaut in my rxvt terminal window.  The output of
"tar tzvf /usr/pkgsrc/distfiles/qcad-1.5.4.tar.gz" translates it as '\374'.

The archive unpacks OK on a UFS filesystem and a directory listing just
shows a '?' in that place.

Using tar to copy the hierarchy from the UFS to the c-s HFS+ filesystem
produces the error:

tar: qcad-1.5.4/libraries/hydraulics/symbols/absperrr\374ck.dxf: Cannot ope=
n: (null)

Trying to copy the single file with 'cp' gives:

cp: /usr/pkgsrc/cad/qcad/work/qcad-1.5.4/libraries/hydraulics/symbols/abspe=
rrr=FCck.dxf: Invalid argument

the error message shows umlaut-small-'u', as noted above.  bash filename
autocompletion inserts it as \374.


So, there may be issues with using case-sensitive HFS+ and filenames
which may have the high bit set on some characters.  There appears to
be a lot of information on this issue--basically UTF-8 vs. UniCode.
It's a lot to sift through to see if there's a workaround, or if I'll
have to just punt and revert to $LOCALBASE and (at least) $WRKOBJDIR on
UFS.

If anyone's dealt with this before, I'd appreciate being pointed toward
a summary with workarounds.  If not, here's evidence of a potential
problem.

--=20
John D. Baker, KN5UKS                    NetBSD     Darwin/MacOS X
jdbaker(at)mylinuxisp(dot)com                 OpenBSD            FreeBSD
BSD -- It just sits there and _works_!