| From: | Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com> | 
|---|---|
| To: | Pgsql-Patches <pgsql-patches(at)postgresql(dot)org> | 
| Subject: | src/backend/Makefile CDPATH Patch | 
| Date: | 2001-04-23 19:11:33 | 
| Message-ID: | 20010423151133.R169@dothill.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-patches | 
The attached patch solves an annoying build failure when /bin/sh is a
symlink to /bin/bash and CDPATH is set.  The problem manifests itself as
the following error:
    $ cd src/backend
    $ make ../../src/include/parser/parse.h
    prereqdir=`cd parser/ && pwd` && \
      cd ../../src/include/parser/ && rm -f parse.h && \
      ln -s $prereqdir/parse.h .
    ln: ./parser: File exists
    make: *** [../../src/include/parser/parse.h] Error 1
    make: *** Deleting file `../../src/include/parser/parse.h'
The above is due to the following:
    $ export CDPATH=.:/home/jt:/home/jt/src:/home/jt/lib
    $ echo `cd parser/ && pwd`
    /home/jt/src/pgsql/src/backend/parser /home/jt/src/pgsql/src/backend/parser
Hence, prereqdir is actually getting set to two directory names instead
of one which causes ln to fail.
If CDPATH is not set (or set differently) or /bin/sh is not /bin/bash,
then we get the expected behavior:
    $ unset CDPATH
    $ echo `cd parser/ && pwd`
    /home/jt/src/pgsql/src/backend/parser
The the solution used in the patch is as follows:
    $ export CDPATH=.:/home/jt:/home/jt/src:/home/jt/lib
    $ echo `cd parser/ >/dev/null && pwd`
    /home/jt/src/pgsql/src/backend/parser
Note that there are many solutions -- I just chose the one that perturbed
the Makefile the least.
Jason
-- 
Jason Tishler
Director, Software Engineering       Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp.               Fax:   +1 (732) 264-8798
82 Bethany Road, Suite 7             Email: Jason(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com
| Attachment | Content-Type | Size | 
|---|---|---|
| backend.patch | text/plain | 624 bytes | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2001-04-23 19:25:38 | Re: src/backend/Makefile CDPATH Patch | 
| Previous Message | Jason Tishler | 2001-04-23 18:56:23 | Re: [PATCHES] Cygwin PostgreSQL ESQL Patch |