mirror of
https://github.com/postgres/postgres.git
synced 2025-06-01 14:21:49 +03:00
Clean up some relative path install issues with Claudio's help.
This commit is contained in:
parent
4307ca2a40
commit
3b382d1ae3
@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001-2003, PostgreSQL Global Development Group
|
* 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"
|
#include "postgres.h"
|
||||||
@ -487,7 +487,7 @@ pgstat_forkexec(STATS_PROCESS_TYPE procType)
|
|||||||
/* + the pstat file names, and postgres pathname */
|
/* + the pstat file names, and postgres pathname */
|
||||||
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",pgStat_tmpfname);
|
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",pgStat_tmpfname);
|
||||||
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",pgStat_fname);
|
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);
|
snprintf(pgstatBuf[bufc++],MAXPGPATH,"\"%s\"",DataDir);
|
||||||
|
|
||||||
/* Add to the arg list */
|
/* Add to the arg list */
|
||||||
@ -500,9 +500,9 @@ pgstat_forkexec(STATS_PROCESS_TYPE procType)
|
|||||||
|
|
||||||
/* Fire off execv in child */
|
/* Fire off execv in child */
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
pid = win32_forkexec(my_exec_path, av);
|
pid = win32_forkexec(postgres_exec_path, av);
|
||||||
#else
|
#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... */
|
/* FIXME: [fork/exec] suggestions for what to do here? Can't call elog... */
|
||||||
abort();
|
abort();
|
||||||
#endif
|
#endif
|
||||||
@ -532,7 +532,7 @@ pgstat_parseArgs(PGSTAT_FORK_ARGS)
|
|||||||
MaxBackends = atoi(argv[argc++]);
|
MaxBackends = atoi(argv[argc++]);
|
||||||
StrNCpy(pgStat_tmpfname,argv[argc++],MAXPGPATH);
|
StrNCpy(pgStat_tmpfname,argv[argc++],MAXPGPATH);
|
||||||
StrNCpy(pgStat_fname, 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++]);
|
DataDir = strdup(argv[argc++]);
|
||||||
|
|
||||||
read_nondefault_variables();
|
read_nondefault_variables();
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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
|
* NOTES
|
||||||
* Globals used all over the place should be declared here and not
|
* Globals used all over the place should be declared here and not
|
||||||
@ -46,6 +46,7 @@ char *DataDir = NULL;
|
|||||||
char OutputFileName[MAXPGPATH];
|
char OutputFileName[MAXPGPATH];
|
||||||
|
|
||||||
char my_exec_path[MAXPGPATH]; /* full path to postgres executable */
|
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 */
|
char pkglib_path[MAXPGPATH]; /* full path to lib directory */
|
||||||
|
|
||||||
BackendId MyBackendId;
|
BackendId MyBackendId;
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
* Portions taken from FreeBSD.
|
* 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);
|
get_share_path(backend_exec, share_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
canonicalize_path(share_path);
|
||||||
|
|
||||||
if ((short_version = get_short_version()) == NULL)
|
if ((short_version = get_short_version()) == NULL)
|
||||||
{
|
{
|
||||||
fprintf(stderr, _("%s: could not determine valid short version string\n"), progname);
|
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) 1996-2003, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* 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
|
* NOTES
|
||||||
* some of the information in this file should be moved to
|
* some of the information in this file should be moved to
|
||||||
@ -143,6 +143,7 @@ extern long MyCancelKey;
|
|||||||
|
|
||||||
extern char OutputFileName[];
|
extern char OutputFileName[];
|
||||||
extern char my_exec_path[];
|
extern char my_exec_path[];
|
||||||
|
extern char postgres_exec_path[];
|
||||||
extern char pkglib_path[];
|
extern char pkglib_path[];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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)
|
if (_fullpath(abspath, path, MAXPGPATH) == NULL)
|
||||||
{
|
{
|
||||||
log_debug("Win32 path expansion failed: %s", strerror(errno));
|
log_debug("Win32 path expansion failed: %s", strerror(errno));
|
||||||
return path;
|
StrNCpy(abspath, path, MAXPGPATH);
|
||||||
}
|
}
|
||||||
canonicalize_path(abspath);
|
canonicalize_path(abspath);
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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] == ':'))
|
(!isalpha(*path2) || !path2[1] == ':'))
|
||||||
return false;
|
return false;
|
||||||
if ((!isalpha(*path1) || !path1[1] == ':') &&
|
if ((!isalpha(*path1) || !path1[1] == ':') &&
|
||||||
(isalpha(*path2) && path2[1] == ':')
|
(isalpha(*path2) && path2[1] == ':'))
|
||||||
return false;
|
return false;
|
||||||
if (isalpha(*path1) && path1[1] == ':' &&
|
if (isalpha(*path1) && path1[1] == ':' &&
|
||||||
isalpha(*path2) && path2[1] == ':')
|
isalpha(*path2) && path2[1] == ':')
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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 char tzdir[MAXPGPATH];
|
||||||
static int done_tzdir = 0;
|
static int done_tzdir = 0;
|
||||||
|
|
||||||
char *
|
char *
|
||||||
pg_TZDIR(void)
|
pg_TZDIR(void)
|
||||||
{
|
{
|
||||||
char *p;
|
|
||||||
|
|
||||||
if (done_tzdir)
|
if (done_tzdir)
|
||||||
return tzdir;
|
return tzdir;
|
||||||
|
|
||||||
get_share_dir(my_exec_path, tzdir);
|
get_share_path(my_exec_path, tzdir);
|
||||||
strcat(tzdir, "/timezone");
|
strcat(tzdir, "/timezone");
|
||||||
|
|
||||||
done_tzdir = 1;
|
done_tzdir = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user