compatibility locale data for legacy binaries

FUJISHIMA Satsuki sf at FreeBSD.org
Wed May 4 10:38:12 PDT 2005


In recent -CURRENT on-disk format of locale data files have been
changed. This means legacy binaries which are aware of non-ASCII
locales no longer work properly(setlocale() fails unconditionally.)

To fix this issue(Thanks to Ruslan), we should install legacy locale
data files to somewhere, and point environment variable PATH_LOCALE
there.

To achieve this just like misc/compat4x port, I made a port
compat4x-localedata which installs locale data files taken from
4.11-RELEASE into /usr/local/share/compat/locale. When you want a
locale-aware legacy binary  working properly, just set environment
like this:

env PATH_LOCALE=/usr/local/share/compat/locale COMMAND

and COMMAND runs fine. Setting this variable in COMMAND's startup
script is also fine. Don't set it in your login shell or it break
non-legacy, 6.0 binaries.

Any comments are appreciated.

port tarball:
http://people.freebsd.org/~sf/compat4x-localedata.tar.gz
distfiles:
http://people.freebsd.org/~sf/compat4x-localedata-alpha-4.11.tar.bz2
http://people.freebsd.org/~sf/compat4x-localedata-i386-4.11.tar.bz2


More information about the freebsd-ports mailing list