Re: [BUGS] 8.0: Absolute path required for INITDB? - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: [BUGS] 8.0: Absolute path required for INITDB?
Date
Msg-id 200408161544.i7GFiV015877@candle.pha.pa.us
Whole thread Raw
Responses Re: [BUGS] 8.0: Absolute path required for INITDB?  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-patches
Patch to throw an error if -L is not an abolute path attached and
applied.

---------------------------------------------------------------------------

Josh Berkus wrote:
> 8.0 beta CVS of 8/8/2004:
>
> If a relative path is used for the -L option in initdb, the following fatal
> error happens:
>
> ./initdb -D ../data -L ../share/postgresql/
> <snip>
> creating system views ... ok
> loading pg_description ... ERROR:  could not open file
> "../share/postgresql/postgres.description" for reading: No such file or
> directory
> child process exited with exit code 1
>
> Is this intentional?  The first dozen or so commands work fine with a relative
> path, and this executes fine with an absolute path for both -D and -L.
>
> SuSE 9.1, GCC 3.3.3
>
> --
> Josh Berkus
> Aglio Database Solutions
> San Francisco
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/bin/initdb/initdb.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/initdb/initdb.c,v
retrieving revision 1.49
diff -c -c -r1.49 initdb.c
*** src/bin/initdb/initdb.c    11 Aug 2004 23:28:54 -0000    1.49
--- src/bin/initdb/initdb.c    16 Aug 2004 03:41:45 -0000
***************
*** 2234,2240 ****
          share_path = xmalloc(MAXPGPATH);
          get_share_path(backend_exec, share_path);
      }
!
      canonicalize_path(share_path);

      if ((short_version = get_short_version()) == NULL)
--- 2234,2245 ----
          share_path = xmalloc(MAXPGPATH);
          get_share_path(backend_exec, share_path);
      }
!     else if (!is_absolute_path(share_path))
!     {
!         fprintf(stderr, _("%s: input file location must be an absolute path\n"), progname);
!         exit(1);
!     }
!
      canonicalize_path(share_path);

      if ((short_version = get_short_version()) == NULL)

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: fix schema ownership on first connection preliminary
Next
From: Bruce Momjian
Date:
Subject: Re: [BUGS] 8.0.0beta1: -lpthread missing