On Thu, Feb 07, 2008 at 06:12:17AM -0500, Andrew Dunstan wrote: > > > Magnus Hagander wrote: > >On Wed, Feb 06, 2008 at 02:59:31PM +0100, Gevik Babakhani wrote: > > > >>I might be very wrong, but when I try to install 8.3 on Windows with NLS > >>options selected, no share/locale files are installed. could someone > >>please > >>test or confirm this? > >> > > > >Yes, it's broken. It seems the change in Install.pm rev 1.20 to use > >File::Find instead of external dir broke this, and was never tested at all > >:-( > > > >I know I build without NLS enabled, and it seems so does everybody else who > >regularly builds the msvc stuff. > > > >There is no testing at all of the NLS stuff in the regression tests. > >Perhaps it would be a good idea to do that? Could be somethign as simple as > >launching psql in a way tha tgenerates a syntax error and make sure i > >matches a proper translation? > > > > > >(and yes, I'm working on a patch for the actual issue) > > > > > > > > Oops, My bad! > > I think if we just change the forward slashes to backslashes at the top[ > of that loop it should work, but haven't had time to test.
No, it'sa bit more than that, but that's one of the changes :) I have a patch working for me, I've sent it over to Gevik for testing in his environment. Attached here if somebody else wants to play. //Magnus
Index: Install.pm =================================================================== RCS file: /cvsroot/pgsql/src/tools/msvc/Install.pm,v retrieving revision 1.26 diff -c -r1.26 Install.pm *** Install.pm 3 Dec 2007 15:42:58 -0000 1.26 --- Install.pm 7 Feb 2008 11:15:50 -0000 *************** *** 456,482 **** print "Installing NLS files..."; EnsureDirectories($target, "share/locale"); my @flist; ! File::Find::find({wanted => ! sub { /^nls\.mk\z/s && ! ! push(@flist, $File::Find::name); ! } }, "src"); foreach (@flist) { s/nls.mk/po/; my $dir = $_; ! next unless ($dir =~ /([^\\]+)\\po$/); my $prgm = $1; $prgm = 'postgres' if ($prgm eq 'backend'); foreach (glob("$dir/*.po")) { my $lang; ! next unless /^(.*)\.po/; $lang = $1; EnsureDirectories($target, "share/locale/$lang", "share/locale/$lang/LC_MESSAGES"); system( ! "$nlspath\\bin\\msgfmt -o $target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm.mo $dir\\$_" ) && croak("Could not run msgfmt on $dir\\$_"); print "."; --- 456,482 ---- print "Installing NLS files..."; EnsureDirectories($target, "share/locale"); my @flist; ! File::Find::find({wanted => ! sub { /^nls\.mk\z/s && ! !push(@flist, $File::Find::name); ! } }, "src"); foreach (@flist) { s/nls.mk/po/; my $dir = $_; ! next unless ($dir =~ /([^\/]+)\/po$/); my $prgm = $1; $prgm = 'postgres' if ($prgm eq 'backend'); foreach (glob("$dir/*.po")) { my $lang; ! next unless /([^\/]+)\.po/; $lang = $1; EnsureDirectories($target, "share/locale/$lang", "share/locale/$lang/LC_MESSAGES"); system( ! "$nlspath\\bin\\msgfmt -o $target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm.mo $_" ) && croak("Could not run msgfmt on $dir\\$_"); print ".";
---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match