FreeBSD port of CONNECT BY patch for pgsql

Palle Girgensohn girgen at FreeBSD.org
Wed Mar 16 09:42:08 PST 2005



--On onsdag, mars 16, 2005 10.26.15 -0700 John Nielsen <john at jnielsen.net> 
wrote:

> On Wednesday 16 March 2005 07:16 am, you wrote:
>> --On tisdag, mars 15, 2005 22.38.33 -0700 John Nielsen
>> <john at jnielsen.net> wrote:
>> > I am interested in creating a FreeBSD port of PostgreSQL 8.0.1 that
>> > incorporates the CONNECT BY patch found here:
>> >
>> > http://gppl.moonbone.ru
>>
>> > Second, what would be the best approach in structuring the port?  Mr.
>> > Potemkin distributes his modifications as a single diff against the
>> > postgres source tree.  In addition to needing this file, the port will
>> > also  need to add devel/bison as a build dependency due to the way the
>> > diff is  built and applied (I didn't have bison installed, and had to
>> > scratch my  head for a while on that one).
>>
>> OK. Here I see a problem, we have to use a modern enough bison. It seems
>> that detecting on ${LOCALBASE}/bin/bison-devel is enough? Are you sure
>> that bison1875 won't work? It does work for unpatched postgresql sources.
>
> I should have said "devel/bison-devel" above, since that's what I
> actually  used (and it worked fine).

For standard postgresql sources, bison1875 is quite enough. Perhaps it is 
unnecessary to depend on the -devel version? Ideally, we would want 
something like
.if BISON_VERSION < 1875
FAIL...
.endif
but AFAIK this is not implemented...

>> I would imagine that the patches are all for the server, though? Not that
>> it matters much. It does modify some header files as well, though I
>> wouldn't know if they are needed for anything outside the backend anyway.
>> For reasons of simplicity, the client part of the port installs *all*
>> headers...
>
> I included the client just to be safe.  If installing an unpatched client
> before and/or after installing the patched server doesn't break anything
> then it's just the server I'd woorry abut (I'll test this).

I did check the patch, and it only involves src/backend and src/include. 
The include are all installed in one target from 8.0, so I made a choice 
and installed them all from the client port, although much of it is only 
needed for server specific stuff. This might be a problem with some 
specific server side languages, but I don't *think* there will any problem 
at all using an unpatched client and a patched server. It would actually 
surprise me :)

> As for naming, I'll just tack  on a 'hier' extension.

Fine!

/Palle



More information about the freebsd-ports mailing list