]> granicus.if.org Git - postgresql/commitdiff
Append major version number and for libraries soname major version number
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 11 Dec 2008 07:34:09 +0000 (07:34 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 11 Dec 2008 07:34:09 +0000 (07:34 +0000)
to the gettext domain name, to simplify parallel installations.

Also, rename set_text_domain() to pg_bindtextdomain(), because that is what
it does.

39 files changed:
configure
configure.in
doc/src/sgml/Makefile
src/Makefile.global.in
src/Makefile.shlib
src/backend/main/main.c
src/backend/utils/init/miscinit.c
src/bin/initdb/initdb.c
src/bin/pg_config/pg_config.c
src/bin/pg_controldata/pg_controldata.c
src/bin/pg_ctl/pg_ctl.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dumpall.c
src/bin/pg_dump/pg_restore.c
src/bin/pg_resetxlog/pg_resetxlog.c
src/bin/psql/startup.c
src/bin/scripts/clusterdb.c
src/bin/scripts/createdb.c
src/bin/scripts/createlang.c
src/bin/scripts/createuser.c
src/bin/scripts/dropdb.c
src/bin/scripts/droplang.c
src/bin/scripts/dropuser.c
src/bin/scripts/reindexdb.c
src/bin/scripts/vacuumdb.c
src/include/c.h
src/include/miscadmin.h
src/include/pg_config.h.in
src/interfaces/ecpg/ecpglib/misc.c
src/interfaces/ecpg/preproc/ecpg.c
src/interfaces/libpq/fe-misc.c
src/nls-global.mk
src/pl/plperl/plperl.c
src/pl/plpgsql/src/pl_handler.c
src/pl/plpgsql/src/plpgsql.h
src/pl/plpython/plpython.c
src/pl/tcl/pltcl.c
src/port/exec.c
src/test/regress/pg_regress.c

index d4fde181c14464dbf5ca9357b8c5c4a9880e4104..063a6de40e695a4262502ab976665cfa6916e318 100755 (executable)
--- a/configure
+++ b/configure
@@ -656,6 +656,7 @@ build_alias
 host_alias
 target_alias
 configure_args
+PG_MAJORVERSION
 build
 build_cpu
 build_vendor
@@ -1910,6 +1911,13 @@ cat >>confdefs.h <<_ACEOF
 #define PG_VERSION "$PACKAGE_VERSION"
 _ACEOF
 
+PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define PG_MAJORVERSION "$PG_MAJORVERSION"
+_ACEOF
+
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -27183,6 +27191,7 @@ build_alias!$build_alias$ac_delim
 host_alias!$host_alias$ac_delim
 target_alias!$target_alias$ac_delim
 configure_args!$configure_args$ac_delim
+PG_MAJORVERSION!$PG_MAJORVERSION$ac_delim
 build!$build$ac_delim
 build_cpu!$build_cpu$ac_delim
 build_vendor!$build_vendor$ac_delim
@@ -27241,7 +27250,6 @@ EGREP!$EGREP$ac_delim
 ELF_SYS!$ELF_SYS$ac_delim
 LDFLAGS_SL!$LDFLAGS_SL$ac_delim
 LD!$LD$ac_delim
-with_gnu_ld!$with_gnu_ld$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -27283,6 +27291,7 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+with_gnu_ld!$with_gnu_ld$ac_delim
 ld_R_works!$ld_R_works$ac_delim
 RANLIB!$RANLIB$ac_delim
 STRIP!$STRIP$ac_delim
@@ -27343,7 +27352,7 @@ vpath_build!$vpath_build$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 58; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 59; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
index eaccedfb7241b1d628a441c1c5a56ef781907ecc..3f589441b4e61d925b85bf901f0b4979c3a14e92 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-dnl $PostgreSQL: pgsql/configure.in,v 1.576 2008/12/07 08:36:21 petere Exp $
+dnl $PostgreSQL: pgsql/configure.in,v 1.577 2008/12/11 07:34:07 petere Exp $
 dnl
 dnl Developers, please strive to achieve this order:
 dnl
@@ -30,6 +30,9 @@ AC_PREFIX_DEFAULT(/usr/local/pgsql)
 AC_SUBST(configure_args, [$ac_configure_args])
 
 AC_DEFINE_UNQUOTED(PG_VERSION, "$PACKAGE_VERSION", [PostgreSQL version as a string])
+[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`]
+AC_SUBST(PG_MAJORVERSION)
+AC_DEFINE_UNQUOTED(PG_MAJORVERSION, "$PG_MAJORVERSION", [PostgreSQL major version as a string])
 
 AC_CANONICAL_HOST
 
index abf681144219dabea3fc0eb7363e465add814985..a61d541a4c92dad3f5852b733d411e61af8b93e2 100644 (file)
@@ -2,7 +2,7 @@
 #
 # PostgreSQL documentation makefile
 #
-# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.113 2008/11/26 11:26:54 petere Exp $
+# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.114 2008/12/11 07:34:07 petere Exp $
 #
 #----------------------------------------------------------------------------
 
@@ -126,7 +126,7 @@ HTML.index:
 version.sgml: $(top_builddir)/src/Makefile.global
        { \
          echo "<!entity version \"$(VERSION)\">"; \
-         echo "<!entity majorversion \"`expr $(VERSION) : '\([0-9][0-9]*\.[0-9][0-9]*\)'`\">"; \
+         echo "<!entity majorversion \"$(MAJORVERSION)\">"; \
        } >$@
 
 features-supported.sgml: $(top_srcdir)/src/backend/catalog/sql_feature_packages.txt $(top_srcdir)/src/backend/catalog/sql_features.txt
index 58f2d83074f3b12725b84e5d5db34f0328ec8220..a1fc846ac86a802b9aaf065b71ec8d93c3abb840 100644 (file)
@@ -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@
index f6136a7a87d444cffaa2bb2331c909353340be27..37a99dbf9518228f199680fad13fb9006e78e0ef 100644 (file)
@@ -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
index 53604da03ca1fa588fdd65473668480d41f0b509..3f5aa3447958b9cd76cb5a8532250298e9e76490 100644 (file)
@@ -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
 
index c3b26698e2a70558b657d69cf141edbab47b6004..6490122b552124f26db4da66d3010f6b8f8afa56 100644 (file)
@@ -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')
index 04c29bec59e2638b13e7cb4608c52979dda0e0aa..1e75a3436c0c6a6c918ba1e1a02360865ce05a50 100644 (file)
@@ -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)
        {
index db3f9f1e086449a861029d35bca526643883254f..2a297b2af5ea7912db87f4811f441973177b035b 100644 (file)
@@ -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]);
 
index 96827c3aac42361e814e705579aeeeabce220a5c..e375057bfa9b11897c597bcd065ff582aab6f16b 100644 (file)
@@ -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]);
 
index 7dc57aae6ef05f3f820483c6d6233c228fdaed01..52545ce8dc3a44e9f54956b774dc0d2f74731a56 100644 (file)
@@ -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
index de01df421d429acfd497ed9197e656b99b8b73fd..0f7419a6533af7e89b967895b7cec424868df029 100644 (file)
@@ -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;
 
index 889ed4eae6bb9eff6c5abfad5c04cd6b1263c2ee..73e133ff521cc419d1bd1d2301eb3722aade7804 100644 (file)
@@ -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]);
 
index 89eb3b4371ab07c87fc025be087464253adf8f9f..95bb61b72fea97a26bcf468b17794a2e2e4d1fce 100644 (file)
@@ -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();
 
index da18910b47cb329a6df050d3c8186469aaf63eec..30baab704dba4e6265666193170d26b53c31085b 100644 (file)
@@ -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]);
 
index b18eb4451848af05b2299b16023da32d5d46bc44..c8602161c073ce1972339d762d98b64ea0cbaeb9 100644 (file)
@@ -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)
        {
index c815cf2a4f92ff9ff6574b8c8da034cc657a52fa..d7fedc4cdb06ee55fdc727fd25e8f05415ed4a4e 100644 (file)
@@ -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);
 
index ee172ad187a4cb00d22870d1db6d7f9e28550e6d..8c42f36f1519be225cd9163fdd86501466a9a470 100644 (file)
@@ -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);
 
index f27e0d25425b1aa1dc22d67716c64e05e595288a..e25a42618f50ba040cde5b20f6d6737847793de8 100644 (file)
@@ -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);
 
index 7bdf3244c48b7bfe1b50ca7c8918da862da79259..c6e7b6ea9e01eab6cec2a63cfe6b0cceaf595a8d 100644 (file)
@@ -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);
 
index d7fde3d6e5260af87018eff5b57fd422ef5c2397..aca4ada44817f2049e686697a745904ba93cea3e 100644 (file)
@@ -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);
 
index 308bef71357b7f0222438c2095129683b92646a8..ebdb4849ee1c91e3b6a2e6ee9d8c1a5fb24dc907 100644 (file)
@@ -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);
 
index 9facf923344a7c3407e3e5a05df2880c7e4c2185..45b08f85aba4beac39c7ebc1a0d0202fe36f7a22 100644 (file)
@@ -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);
 
index f94a964179a079f49ebbbd377b190b52c43b768b..5fdfd6b91cc1eada2bb11eb859dc38bdaa82eaa8 100644 (file)
@@ -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);
 
index 7f960a4559543c085b50f632e234d2aa6ad3ce11..ca96129744369515b32dbe1cda93764e26f696c1 100644 (file)
@@ -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);
 
index ca86067b9f9663804be7fcb002ea04ce142fa1da..4493fb9103737d82f544ca65469497d85f6fc77d 100644 (file)
@@ -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
  *
index 3a3f3830991386709594368d6181802b632377ec..821f864736362ba581f301b08482a6ef0181c8c7 100644 (file)
@@ -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);
index 9f6f21bf817efedfcc7dec0db3c6437600ecf311..5ba3ca82604c3eef951dde801ef90a7e572cddf3 100644 (file)
    (--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
 
index dbeb448f213c6a333c1cef4fa1f6db60f8927926..29c391612e265d4ddc62f6972be8165ab16bc126 100644 (file)
@@ -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 */
index 5c3245bd8850e7d6dc931d8e8f807e876ce1fd0a..70317fcf0c390de374a216e69e854ae74bb32724 100644 (file)
@@ -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]);
 
index 691262cf8abc62d2a83f49773f0477f69185b5e8..c7fd13a09c9bb19557fcfef4607fb65e3dd2d504 100644 (file)
@@ -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 */
index c6fed12936b601fd01dc42d4dec54d729227cb6e..8487b58c9dab73a355c65f395ebb310258c53478 100644 (file)
@@ -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:
index a221b92a2f1a9697864ab90c3eeeba7afec727d3..e2df129f52b59a8e2e30352508dfe887823cf39a 100644 (file)
@@ -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"),
index 223d06f7b6f615e727a4df7eaefb8994f988fffa..f2f52561fe1cd23dee6ed1cf2ce10be403ba74da 100644 (file)
@@ -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);
index df03f23eccc9fb7cacdd7b2360af6d4375e8f278..c114ff9a9fde5c2c0716a93e2430546ef2ed106d 100644 (file)
@@ -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
index 1e136b22c64a7ddb2a2609cbd61788a06bfa2da4..b8658837f4c8dbc3b0a5ceee1281196c02ae8d57 100644 (file)
@@ -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();
index 722c7ed43b42d28ae5c445c6e69e1ef53bf350af..f71af5c7257b8a3be3518ba217621c68abdeeadd 100644 (file)
@@ -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 */
index ce0a701794747aaf51837897931b702de57e734c..6b917857ac6cfd24b637f7cde507b1164ad4aba7 100644 (file)
@@ -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)
index ed8dbf4c353cae9f60e308c3825f34706948dc4d..6075b5a7d3590e4ef53d2f51ab34f1f46aa78a1a 100644 (file)
@@ -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 */