From owner-freebsd-ports@FreeBSD.ORG Wed May 4 17:38:12 2005 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCF2F16A4CE; Wed, 4 May 2005 17:38:12 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8294043D55; Wed, 4 May 2005 17:38:12 +0000 (GMT) (envelope-from sf@FreeBSD.org) Received: from freefall.freebsd.org (sf@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j44Hc1ZR036894; Wed, 4 May 2005 17:38:01 GMT (envelope-from sf@freefall.freebsd.org) Received: from localhost (localhost [[UNIX: localhost]]) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j44Hc0LP036893; Wed, 4 May 2005 17:38:00 GMT (envelope-from sf) Date: Wed, 4 May 2005 17:38:00 GMT Message-Id: <200505041738.j44Hc0LP036893@freefall.freebsd.org> From: FUJISHIMA Satsuki To: freebsd-ports@FreeBSD.org User-Agent: Wanderlust/2.11.32 (Wonderwall) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/21.3 (i386--freebsd) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Subject: compatibility locale data for legacy binaries X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 May 2005 17:38:12 -0000 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