diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2008-12-11 07:34:09 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2008-12-11 07:34:09 +0000 |
commit | 218b4e8dd86016f82c3a71dec9d339240e866505 (patch) | |
tree | 1406076a9d31827ee9de1b04e16f4637d3fc186e /src | |
parent | 55368223cde4f19b4cd97eff7ea82b4a85a7a04c (diff) | |
download | postgresql-218b4e8dd86016f82c3a71dec9d339240e866505.tar.gz postgresql-218b4e8dd86016f82c3a71dec9d339240e866505.zip |
Append major version number and for libraries soname major version number
to the gettext domain name, to simplify parallel installations.
Also, rename set_text_domain() to pg_bindtextdomain(), because that is what
it does.
Diffstat (limited to 'src')
36 files changed, 108 insertions, 73 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 58f2d83074f..a1fc846ac86 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -1,5 +1,5 @@ # -*-makefile-*- -# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.248 2008/12/07 08:36:22 petere Exp $ +# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.249 2008/12/11 07:34:07 petere Exp $ #------------------------------------------------------------------------------ # All PostgreSQL makefiles include this file and use the variables it sets, @@ -30,6 +30,7 @@ all: # PostgreSQL version number VERSION = @PACKAGE_VERSION@ +MAJORVERSION = @PG_MAJORVERSION@ # Support for VPATH builds vpath_build = @vpath_build@ diff --git a/src/Makefile.shlib b/src/Makefile.shlib index f6136a7a87d..37a99dbf951 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -6,7 +6,7 @@ # Copyright (c) 1998, Regents of the University of California # # IDENTIFICATION -# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.118 2008/11/24 11:59:37 petere Exp $ +# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.119 2008/12/11 07:34:07 petere Exp $ # #------------------------------------------------------------------------- @@ -115,6 +115,10 @@ endif # Try to keep the sections in some kind of order, folks... override CFLAGS += $(CFLAGS_SL) +ifdef SO_MAJOR_VERSION +# libraries ought to use this to refer to versioned gettext domain names +override CPPFLAGS += -DSO_MAJOR_VERSION=$(SO_MAJOR_VERSION) +endif ifeq ($(PORTNAME), aix) ifdef SO_MAJOR_VERSION diff --git a/src/backend/main/main.c b/src/backend/main/main.c index 53604da03ca..3f5aa344795 100644 --- a/src/backend/main/main.c +++ b/src/backend/main/main.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/main/main.c,v 1.110 2008/01/01 19:45:49 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/main/main.c,v 1.111 2008/12/11 07:34:07 petere Exp $ * *------------------------------------------------------------------------- */ @@ -87,7 +87,7 @@ main(int argc, char *argv[]) * error messages to be localized. */ - set_pglocale_pgservice(argv[0], "postgres"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("postgres")); #ifdef WIN32 diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index c3b26698e2a..6490122b552 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.168 2008/10/09 17:24:05 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.169 2008/12/11 07:34:07 petere Exp $ * *------------------------------------------------------------------------- */ @@ -1214,7 +1214,7 @@ process_local_preload_libraries(void) } void -set_text_domain(const char *domain) +pg_bindtextdomain(const char *domain) { #ifdef ENABLE_NLS if (my_exec_path[0] != '\0') diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 04c29bec59e..1e75a3436c0 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -42,7 +42,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * Portions taken from FreeBSD. * - * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.164 2008/11/14 02:09:51 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.165 2008/12/11 07:34:07 petere Exp $ * *------------------------------------------------------------------------- */ @@ -2511,7 +2511,7 @@ main(int argc, char *argv[]) }; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "initdb"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("initdb")); if (argc > 1) { diff --git a/src/bin/pg_config/pg_config.c b/src/bin/pg_config/pg_config.c index db3f9f1e086..2a297b2af5e 100644 --- a/src/bin/pg_config/pg_config.c +++ b/src/bin/pg_config/pg_config.c @@ -17,7 +17,7 @@ * * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/pg_config/pg_config.c,v 1.28 2008/03/27 03:57:33 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_config/pg_config.c,v 1.29 2008/12/11 07:34:07 petere Exp $ * *------------------------------------------------------------------------- */ @@ -465,7 +465,7 @@ main(int argc, char **argv) int j; int ret; - set_pglocale_pgservice(argv[0], "pg_config"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_config")); progname = get_progname(argv[0]); diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c index 96827c3aac4..e375057bfa9 100644 --- a/src/bin/pg_controldata/pg_controldata.c +++ b/src/bin/pg_controldata/pg_controldata.c @@ -6,7 +6,7 @@ * copyright (c) Oliver Elphick <olly@lfix.co.uk>, 2001; * licence: BSD * - * $PostgreSQL: pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.41 2008/09/24 08:59:42 mha Exp $ + * $PostgreSQL: pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.42 2008/12/11 07:34:08 petere Exp $ */ #include "postgres_fe.h" @@ -76,7 +76,7 @@ main(int argc, char *argv[]) const char *strftime_fmt = "%c"; const char *progname; - set_pglocale_pgservice(argv[0], "pg_controldata"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_controldata")); progname = get_progname(argv[0]); diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 7dc57aae6ef..52545ce8dc3 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -4,7 +4,7 @@ * * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.104 2008/09/30 12:51:07 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.105 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -1648,7 +1648,7 @@ main(int argc, char **argv) #endif progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pg_ctl"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_ctl")); /* * save argv[0] so do_start() can look for the postmaster if necessary. we diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index de01df421d4..0f7419a6533 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.506 2008/12/04 17:51:27 petere Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.507 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -274,7 +274,7 @@ main(int argc, char **argv) {NULL, 0, NULL, 0} }; - set_pglocale_pgservice(argv[0], "pg_dump"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_dump")); g_verbose = false; diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 889ed4eae6b..73e133ff521 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.108 2008/11/21 20:14:27 mha Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.109 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -127,7 +127,7 @@ main(int argc, char *argv[]) int optindex; - set_pglocale_pgservice(argv[0], "pg_dump"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_dump")); progname = get_progname(argv[0]); diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index 89eb3b4371a..95bb61b72fe 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -34,7 +34,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.88 2008/04/13 03:49:22 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.89 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -119,7 +119,7 @@ main(int argc, char **argv) {NULL, 0, NULL, 0} }; - set_pglocale_pgservice(argv[0], "pg_dump"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_dump")); opts = NewRestoreOptions(); diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c index da18910b47c..30baab704db 100644 --- a/src/bin/pg_resetxlog/pg_resetxlog.c +++ b/src/bin/pg_resetxlog/pg_resetxlog.c @@ -23,7 +23,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.69 2008/11/14 21:45:07 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.70 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -96,7 +96,7 @@ main(int argc, char *argv[]) int fd; char path[MAXPGPATH]; - set_pglocale_pgservice(argv[0], "pg_resetxlog"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_resetxlog")); progname = get_progname(argv[0]); diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index b18eb445184..c8602161c07 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2008, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.151 2008/07/20 06:08:38 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.152 2008/12/11 07:34:08 petere Exp $ */ #include "postgres_fe.h" @@ -96,7 +96,7 @@ main(int argc, char *argv[]) char *password_prompt = NULL; bool new_pass; - set_pglocale_pgservice(argv[0], "psql"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("psql")); if (argc > 1) { diff --git a/src/bin/scripts/clusterdb.c b/src/bin/scripts/clusterdb.c index c815cf2a4f9..d7fedc4cdb0 100644 --- a/src/bin/scripts/clusterdb.c +++ b/src/bin/scripts/clusterdb.c @@ -4,7 +4,7 @@ * * Portions Copyright (c) 2002-2008, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/scripts/clusterdb.c,v 1.21 2008/11/24 08:46:04 petere Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/clusterdb.c,v 1.22 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -58,7 +58,7 @@ main(int argc, char *argv[]) bool verbose = false; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "clusterdb", help); diff --git a/src/bin/scripts/createdb.c b/src/bin/scripts/createdb.c index ee172ad187a..8c42f36f151 100644 --- a/src/bin/scripts/createdb.c +++ b/src/bin/scripts/createdb.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/createdb.c,v 1.28 2008/11/10 16:25:41 alvherre Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/createdb.c,v 1.29 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -63,7 +63,7 @@ main(int argc, char *argv[]) PGresult *result; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "createdb", help); diff --git a/src/bin/scripts/createlang.c b/src/bin/scripts/createlang.c index f27e0d25425..e25a42618f5 100644 --- a/src/bin/scripts/createlang.c +++ b/src/bin/scripts/createlang.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/createlang.c,v 1.30 2008/07/14 22:00:04 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/createlang.c,v 1.31 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -52,7 +52,7 @@ main(int argc, char *argv[]) PGresult *result; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "createlang", help); diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c index 7bdf3244c48..c6e7b6ea9e0 100644 --- a/src/bin/scripts/createuser.c +++ b/src/bin/scripts/createuser.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/createuser.c,v 1.38 2008/01/01 19:45:56 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/createuser.c,v 1.39 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -81,7 +81,7 @@ main(int argc, char *argv[]) PGresult *result; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "createuser", help); diff --git a/src/bin/scripts/dropdb.c b/src/bin/scripts/dropdb.c index d7fde3d6e52..aca4ada4481 100644 --- a/src/bin/scripts/dropdb.c +++ b/src/bin/scripts/dropdb.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/dropdb.c,v 1.22 2008/01/01 19:45:56 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/dropdb.c,v 1.23 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -50,7 +50,7 @@ main(int argc, char *argv[]) PGresult *result; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "dropdb", help); diff --git a/src/bin/scripts/droplang.c b/src/bin/scripts/droplang.c index 308bef71357..ebdb4849ee1 100644 --- a/src/bin/scripts/droplang.c +++ b/src/bin/scripts/droplang.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/droplang.c,v 1.27 2008/07/14 22:00:04 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/droplang.c,v 1.28 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -63,7 +63,7 @@ main(int argc, char *argv[]) PGresult *result; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "droplang", help); diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c index 9facf923344..45b08f85aba 100644 --- a/src/bin/scripts/dropuser.c +++ b/src/bin/scripts/dropuser.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/dropuser.c,v 1.23 2008/01/01 19:45:56 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/dropuser.c,v 1.24 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -50,7 +50,7 @@ main(int argc, char *argv[]) PGresult *result; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "dropuser", help); diff --git a/src/bin/scripts/reindexdb.c b/src/bin/scripts/reindexdb.c index f94a964179a..5fdfd6b91cc 100644 --- a/src/bin/scripts/reindexdb.c +++ b/src/bin/scripts/reindexdb.c @@ -4,7 +4,7 @@ * * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/scripts/reindexdb.c,v 1.13 2008/01/01 19:45:56 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/reindexdb.c,v 1.14 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -64,7 +64,7 @@ main(int argc, char *argv[]) const char *index = NULL; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "reindexdb", help); diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 7f960a45595..ca961297443 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/vacuumdb.c,v 1.20 2008/01/01 19:45:56 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/vacuumdb.c,v 1.21 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -64,7 +64,7 @@ main(int argc, char *argv[]) bool verbose = false; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pgscripts"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pgscripts")); handle_help_version_opts(argc, argv, "vacuumdb", help); diff --git a/src/include/c.h b/src/include/c.h index ca86067b9f9..4493fb91037 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/c.h,v 1.230 2008/10/09 22:23:46 tgl Exp $ + * $PostgreSQL: pgsql/src/include/c.h,v 1.231 2008/12/11 07:34:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -715,6 +715,32 @@ typedef NameData *Name; #define STATUS_WAITING (2) +/* gettext domain name mangling */ + +/* + * To better support parallel installations of major PostgeSQL + * versions as well as parallel installations of major library soname + * versions, we mangle the gettext domain name by appending those + * version numbers. The coding rule ought to be that whereever the + * domain name is mentioned as a literal, it must be wrapped into + * PG_TEXTDOMAIN(). The macros below do not work on non-literals; but + * that is somewhat intentional because it avoids having to worry + * about multiple states of premangling and postmangling as the values + * are being passed around. + * + * Make sure this matches the installation rules in nls-global.mk. + */ + +/* need a second indirection because we want to stringize the macro value, not the name */ +#define CppAsString2(x) CppAsString(x) + +#ifdef SO_MAJOR_VERSION +# define PG_TEXTDOMAIN(domain) (domain CppAsString2(SO_MAJOR_VERSION) "-" PG_MAJORVERSION) +#else +# define PG_TEXTDOMAIN(domain) (domain "-" PG_MAJORVERSION) +#endif + + /* ---------------------------------------------------------------- * Section 8: system-specific hacks * diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 3a3f3830991..821f8647363 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -13,7 +13,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.205 2008/11/11 02:42:32 tgl Exp $ + * $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.206 2008/12/11 07:34:08 petere Exp $ * * NOTES * some of the information in this file should be moved to other files. @@ -343,7 +343,7 @@ extern void RecordSharedMemoryInLockFile(unsigned long id1, extern void ValidatePgVersion(const char *path); extern void process_shared_preload_libraries(void); extern void process_local_preload_libraries(void); -extern void set_text_domain(const char *domain); +extern void pg_bindtextdomain(const char *domain); /* in access/transam/xlog.c */ extern bool BackupInProgress(void); diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 9f6f21bf817..5ba3ca82604 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -642,6 +642,9 @@ (--with-krb-srvnam=NAME) */ #undef PG_KRB_SRVNAM +/* PostgreSQL major version as a string */ +#undef PG_MAJORVERSION + /* PostgreSQL version as a string */ #undef PG_VERSION diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index dbeb448f213..29c391612e2 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.43 2008/11/01 19:53:35 meskes Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.44 2008/12/11 07:34:09 petere Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -474,7 +474,7 @@ ecpg_gettext(const char *msgid) ldir = getenv("PGLOCALEDIR"); if (!ldir) ldir = LOCALEDIR; - bindtextdomain("ecpg", ldir); + bindtextdomain(PG_TEXTDOMAIN("ecpg"), ldir); #ifdef WIN32 SetLastError(save_errno); #else @@ -482,7 +482,7 @@ ecpg_gettext(const char *msgid) #endif } - return dgettext("ecpg", msgid); + return dgettext(PG_TEXTDOMAIN("ecpg"), msgid); } #endif /* ENABLE_NLS */ diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c index 5c3245bd885..70317fcf0c3 100644 --- a/src/interfaces/ecpg/preproc/ecpg.c +++ b/src/interfaces/ecpg/preproc/ecpg.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.c,v 1.105 2008/05/16 15:20:04 petere Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.c,v 1.106 2008/12/11 07:34:09 petere Exp $ */ /* New main for ecpg, the PostgreSQL embedded SQL precompiler. */ /* (C) Michael Meskes <meskes@postgresql.org> Feb 5th, 1998 */ @@ -138,7 +138,7 @@ main(int argc, char *const argv[]) char my_exec_path[MAXPGPATH]; char include_path[MAXPGPATH]; - set_pglocale_pgservice(argv[0], "ecpg"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("ecpg")); progname = get_progname(argv[0]); diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c index 691262cf8ab..c7fd13a09c9 100644 --- a/src/interfaces/libpq/fe-misc.c +++ b/src/interfaces/libpq/fe-misc.c @@ -23,7 +23,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.136 2008/10/27 09:42:31 mha Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.137 2008/12/11 07:34:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -1166,7 +1166,7 @@ libpq_gettext(const char *msgid) ldir = getenv("PGLOCALEDIR"); if (!ldir) ldir = LOCALEDIR; - bindtextdomain("libpq", ldir); + bindtextdomain(PG_TEXTDOMAIN("libpq"), ldir); #ifdef WIN32 SetLastError(save_errno); #else @@ -1174,7 +1174,7 @@ libpq_gettext(const char *msgid) #endif } - return dgettext("libpq", msgid); + return dgettext(PG_TEXTDOMAIN("libpq"), msgid); } #endif /* ENABLE_NLS */ diff --git a/src/nls-global.mk b/src/nls-global.mk index c6fed12936b..8487b58c9da 100644 --- a/src/nls-global.mk +++ b/src/nls-global.mk @@ -1,4 +1,4 @@ -# $PostgreSQL: pgsql/src/nls-global.mk,v 1.14 2008/05/17 21:27:12 momjian Exp $ +# $PostgreSQL: pgsql/src/nls-global.mk,v 1.15 2008/12/11 07:34:07 petere Exp $ # Common rules for Native Language Support (NLS) # @@ -62,10 +62,11 @@ else # not XGETTEXT endif # not XGETTEXT +# catalog name extentions must match behavior of PG_TEXTDOMAIN() in c.h install-po: all-po installdirs-po ifneq (,$(LANGUAGES)) for lang in $(LANGUAGES); do \ - $(INSTALL_DATA) po/$$lang.mo '$(DESTDIR)$(localedir)'/$$lang/LC_MESSAGES/$(CATALOG_NAME).mo || exit 1; \ + $(INSTALL_DATA) po/$$lang.mo '$(DESTDIR)$(localedir)'/$$lang/LC_MESSAGES/$(CATALOG_NAME)$(SO_MAJOR_VERSION)-$(MAJORVERSION).mo || exit 1; \ done endif @@ -73,7 +74,7 @@ installdirs-po: $(mkinstalldirs) $(foreach lang, $(LANGUAGES), '$(DESTDIR)$(localedir)'/$(lang)/LC_MESSAGES) uninstall-po: - rm -f $(foreach lang, $(LANGUAGES), '$(DESTDIR)$(localedir)'/$(lang)/LC_MESSAGES/$(CATALOG_NAME).mo) + rm -f $(foreach lang, $(LANGUAGES), '$(DESTDIR)$(localedir)'/$(lang)/LC_MESSAGES/$(CATALOG_NAME)$(SO_MAJOR_VERSION)-$(MAJORVERSION).mo) clean-po: diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index a221b92a2f1..e2df129f52b 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -1,7 +1,7 @@ /********************************************************************** * plperl.c - perl as a procedural language for PostgreSQL * - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.142 2008/11/19 01:10:24 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.143 2008/12/11 07:34:09 petere Exp $ * **********************************************************************/ @@ -32,7 +32,7 @@ /* define our text domain for translations */ #undef TEXTDOMAIN -#define TEXTDOMAIN "plperl" +#define TEXTDOMAIN PG_TEXTDOMAIN("plperl") /* perl stuff */ #include "plperl.h" @@ -190,7 +190,7 @@ _PG_init(void) if (inited) return; - set_text_domain(TEXTDOMAIN); + pg_bindtextdomain(TEXTDOMAIN); DefineCustomBoolVariable("plperl.use_strict", gettext_noop("If true, will compile trusted and untrusted perl code in strict mode"), diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c index 223d06f7b6f..f2f52561fe1 100644 --- a/src/pl/plpgsql/src/pl_handler.c +++ b/src/pl/plpgsql/src/pl_handler.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_handler.c,v 1.41 2008/10/09 17:24:05 alvherre Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_handler.c,v 1.42 2008/12/11 07:34:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -42,7 +42,7 @@ _PG_init(void) if (inited) return; - set_text_domain(TEXTDOMAIN); + pg_bindtextdomain(TEXTDOMAIN); plpgsql_HashTableInit(); RegisterXactCallback(plpgsql_xact_cb, NULL); diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h index df03f23eccc..c114ff9a9fd 100644 --- a/src/pl/plpgsql/src/plpgsql.h +++ b/src/pl/plpgsql/src/plpgsql.h @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/plpgsql.h,v 1.105 2008/11/05 00:07:54 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/plpgsql.h,v 1.106 2008/12/11 07:34:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -30,7 +30,7 @@ /* define our text domain for translations */ #undef TEXTDOMAIN -#define TEXTDOMAIN "plpgsql" +#define TEXTDOMAIN PG_TEXTDOMAIN("plpgsql") /* ---------- * Compiler's namestack item types diff --git a/src/pl/plpython/plpython.c b/src/pl/plpython/plpython.c index 1e136b22c64..b8658837f4c 100644 --- a/src/pl/plpython/plpython.c +++ b/src/pl/plpython/plpython.c @@ -1,7 +1,7 @@ /********************************************************************** * plpython.c - python as a procedural language for PostgreSQL * - * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.116 2008/11/04 15:16:48 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.117 2008/12/11 07:34:09 petere Exp $ * ********************************************************************* */ @@ -66,7 +66,7 @@ typedef int Py_ssize_t; /* define our text domain for translations */ #undef TEXTDOMAIN -#define TEXTDOMAIN "plpython" +#define TEXTDOMAIN PG_TEXTDOMAIN("plpython") #include <compile.h> #include <eval.h> @@ -2750,7 +2750,7 @@ _PG_init(void) if (inited) return; - set_text_domain(TEXTDOMAIN); + pg_bindtextdomain(TEXTDOMAIN); Py_Initialize(); PLy_init_interp(); diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c index 722c7ed43b4..f71af5c7257 100644 --- a/src/pl/tcl/pltcl.c +++ b/src/pl/tcl/pltcl.c @@ -2,7 +2,7 @@ * pltcl.c - PostgreSQL support for Tcl as * procedural language (PL) * - * $PostgreSQL: pgsql/src/pl/tcl/pltcl.c,v 1.123 2008/10/11 00:09:33 alvherre Exp $ + * $PostgreSQL: pgsql/src/pl/tcl/pltcl.c,v 1.124 2008/12/11 07:34:09 petere Exp $ * **********************************************************************/ @@ -44,7 +44,7 @@ /* define our text domain for translations */ #undef TEXTDOMAIN -#define TEXTDOMAIN "pltcl" +#define TEXTDOMAIN PG_TEXTDOMAIN("pltcl") #if defined(UNICODE_CONVERSION) && HAVE_TCL_VERSION(8,1) @@ -268,7 +268,7 @@ _PG_init(void) if (pltcl_pm_init_done) return; - set_text_domain(TEXTDOMAIN); + pg_bindtextdomain(TEXTDOMAIN); #ifdef WIN32 /* Required on win32 to prevent error loading init.tcl */ diff --git a/src/port/exec.c b/src/port/exec.c index ce0a7017947..6b917857ac6 100644 --- a/src/port/exec.c +++ b/src/port/exec.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/port/exec.c,v 1.60 2008/04/16 22:16:00 adunstan Exp $ + * $PostgreSQL: pgsql/src/port/exec.c,v 1.61 2008/12/11 07:34:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -630,7 +630,7 @@ set_pglocale_pgservice(const char *argv0, const char *app) * PGLOCALEDIR */ /* don't set LC_ALL in the backend */ - if (strcmp(app, "postgres") != 0) + if (strcmp(app, PG_TEXTDOMAIN("postgres")) != 0) setlocale(LC_ALL, ""); if (find_my_exec(argv0, my_exec_path) < 0) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index ed8dbf4c353..6075b5a7d35 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -11,7 +11,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.54 2008/11/28 12:45:34 petere Exp $ + * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.55 2008/12/11 07:34:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -1894,7 +1894,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc }; progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], "pg_regress"); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_regress")); #ifndef HAVE_UNIX_SOCKETS /* no unix domain sockets available, so change default */ |