提交 3b382d1a 编写于 作者: B Bruce Momjian

Clean up some relative path install issues with Claudio's help.

上级 4307ca2a
......@@ -13,7 +13,7 @@
*
* Copyright (c) 2001-2003, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.69 2004/05/13 22:45:02 momjian Exp $
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.70 2004/05/18 03:36:30 momjian Exp $
* ----------
*/
#include "postgres.h"
......@@ -487,7 +487,7 @@ pgstat_forkexec(STATS_PROCESS_TYPE procType)
/* + the pstat file names, and postgres pathname */
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",pgStat_tmpfname);
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",pgStat_fname);
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",my_exec_path); /* used? */
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",postgres_exec_path);
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",DataDir);
/* Add to the arg list */
......@@ -500,9 +500,9 @@ pgstat_forkexec(STATS_PROCESS_TYPE procType)
/* Fire off execv in child */
#ifdef WIN32
pid = win32_forkexec(my_exec_path, av);
pid = win32_forkexec(postgres_exec_path, av);
#else
if ((pid = fork()) == 0 && (execv(my_exec_path, av) == -1))
if ((pid = fork()) == 0 && (execv(postgres_exec_path, av) == -1))
/* FIXME: [fork/exec] suggestions for what to do here? Can't call elog... */
abort();
#endif
......@@ -532,7 +532,7 @@ pgstat_parseArgs(PGSTAT_FORK_ARGS)
MaxBackends = atoi(argv[argc++]);
StrNCpy(pgStat_tmpfname,argv[argc++],MAXPGPATH);
StrNCpy(pgStat_fname, argv[argc++],MAXPGPATH);
StrNCpy(my_exec_path, argv[argc++],MAXPGPATH);
StrNCpy(postgres_exec_path, argv[argc++],MAXPGPATH);
DataDir = strdup(argv[argc++]);
read_nondefault_variables();
......
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/init/globals.c,v 1.86 2004/05/17 14:35:32 momjian Exp $
* $PostgreSQL: pgsql/src/backend/utils/init/globals.c,v 1.87 2004/05/18 03:36:36 momjian Exp $
*
* NOTES
* Globals used all over the place should be declared here and not
......@@ -46,6 +46,7 @@ char *DataDir = NULL;
char OutputFileName[MAXPGPATH];
char my_exec_path[MAXPGPATH]; /* full path to postgres executable */
char postgres_exec_path[MAXPGPATH]; /* full path to backend executable */
char pkglib_path[MAXPGPATH]; /* full path to lib directory */
BackendId MyBackendId;
......
......@@ -39,7 +39,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
* Portions taken from FreeBSD.
*
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.31 2004/05/17 14:35:33 momjian Exp $
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.32 2004/05/18 03:36:36 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -1957,6 +1957,8 @@ main(int argc, char *argv[])
get_share_path(backend_exec, share_path);
}
canonicalize_path(share_path);
if ((short_version = get_short_version()) == NULL)
{
fprintf(stderr, _("%s: could not determine valid short version string\n"), progname);
......
......@@ -13,7 +13,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.159 2004/05/17 14:35:33 momjian Exp $
* $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.160 2004/05/18 03:36:44 momjian Exp $
*
* NOTES
* some of the information in this file should be moved to
......@@ -143,6 +143,7 @@ extern long MyCancelKey;
extern char OutputFileName[];
extern char my_exec_path[];
extern char postgres_exec_path[];
extern char pkglib_path[];
/*
......
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/port/exec.c,v 1.6 2004/05/17 14:35:34 momjian Exp $
* $PostgreSQL: pgsql/src/port/exec.c,v 1.7 2004/05/18 03:36:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -345,7 +345,7 @@ win32_make_absolute(char *path)
if (_fullpath(abspath, path, MAXPGPATH) == NULL)
{
log_debug("Win32 path expansion failed: %s", strerror(errno));
return path;
StrNCpy(abspath, path, MAXPGPATH);
}
canonicalize_path(abspath);
......
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/port/path.c,v 1.8 2004/05/17 14:35:34 momjian Exp $
* $PostgreSQL: pgsql/src/port/path.c,v 1.9 2004/05/18 03:36:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -234,7 +234,7 @@ relative_path(const char *path1, const char *path2)
(!isalpha(*path2) || !path2[1] == ':'))
return false;
if ((!isalpha(*path1) || !path1[1] == ':') &&
(isalpha(*path2) && path2[1] == ':')
(isalpha(*path2) && path2[1] == ':'))
return false;
if (isalpha(*path1) && path1[1] == ':' &&
isalpha(*path2) && path2[1] == ':')
......
......@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.8 2004/05/17 14:35:34 momjian Exp $
* $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.9 2004/05/18 03:36:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -17,15 +17,14 @@
static char tzdir[MAXPGPATH];
static int done_tzdir = 0;
char *
pg_TZDIR(void)
{
char *p;
if (done_tzdir)
return tzdir;
get_share_dir(my_exec_path, tzdir);
get_share_path(my_exec_path, tzdir);
strcat(tzdir, "/timezone");
done_tzdir = 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册