MacOSX is lumbered with a case-insensitive file system by default and  
the only way to fix this is to reformat it inbetween a dump and  
restore. Nice.

Anyways, a case-insensitive HFS messes up some of the openssl man  
pages for almost everyone using MacOSX. When the man pages are  
installed, a few "master" man pages are created with file names in  
upper case. Related man pages/file names on that topic are then  
symlinked to these "masters". Finally a symlink is created for that  
topic's file name in lower case. That removes the original file,  
replacing it with a symlink which points to itself:

1 lrwxr-xr-x  1 jim  wheel  6 20 May 15:16 hmac.3 -> hmac.3
1 lrwxr-xr-x  1 jim  wheel  5 20 May 15:16 md5.3 -> md5.3
1 lrwxr-xr-x  1 jim  wheel  6 20 May 15:16 mdc2.3 -> mdc2.3
1 lrwxr-xr-x  1 jim  wheel  5 20 May 15:16 pem.3 -> pem.3
1 lrwxr-xr-x  1 jim  wheel  5 20 May 15:16 rc4.3 -> rc4.3
1 lrwxr-xr-x  1 jim  wheel  5 20 May 15:16 ssl.3 -> ssl.3

This then creates an infinite loop of symlinks. :-(

The quick and dirty kludge below to the Makefile sort of works around  
the problem. But it's crude, crufty and ugly. And the start of a  
slippery slope... Could this case sensitivity issue get fixed more  
cleanly at some point? ie Fix the man pages and/or perl goop so they  
don't cause case-sensitive symlinks to get generated. That would  
eliminate the cruft of checking for case sensitivity in the  
Makefile(s) (and elsewhere?). Thanks.

% diff -C 2  Makefile.jr Makefile
*** Makefile.jr Sun May 20 17:20:06 2012
--- Makefile    Sun May 20 17:21:15 2012
***************
*** 645,649 ****
        here="`pwd`"; \
        filecase=; \
!       if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$ 
(PLATFORM)" = "mingw" ]; then \
                filecase=-i; \
        fi; \
--- 645,653 ----
        here="`pwd`"; \
        filecase=; \
!       if [ "$(PLATFORM)" = "DJGPP" \
!               -o "$(PLATFORM)" = "Cygwin" \
!               -o "$(PLATFORM)" = "mingw" \
!               -o "$(PLATFORM)" = "darwin-ppc-cc" \
!               -o "$(PLATFORM)" = "darwin-i386-cc" ]; then \
                filecase=-i; \
        fi; \

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to