Okay,

I have finally extracted out a patch that applied to a 7.2.1 tree get's
me something that compiles and passes all regression tests on RedHat
Linux and Windows 2000.

To clearify upfront, even if the build process of this port uses a few
cygwin tools, the final executables and libraries do not depend on
cygwin.

I need to write up the 42 steps how to build. For those who want to be
prepared, you'll need a unix system to patch, a win32 environment with
VC++ 6.0, Tcl, bison*, flex*, sed* and touch* (*=from cygwin). To run
the regression tests, one would need an MKS toolkit as it crashes the
cygwin bash ... we didn't bother with those minor issues. I will post 2
patches later (meaning, probably tomorrow or latest Sunday) to the
patches list. One will be all the changes to existing files (about
11,500 lines context diff), one will be the new files added.

As a PostgreSQL coreteam member I want to thank my employer, the
PeerDirect Corporation, for contributing this work, which IMHO is an
important step for PostgreSQL.

What we need from here are some ideas how this port can be lifted up to
the current 7.4 development tree. There are some TODO items scattered
throughout the code. But, it compiles and works, so it's a good point to
start from I think. Looking at the demand for a native Win32 port I
would expect some people willing to take it from there.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Fri, 17 Jan 2003 16:55:31 -0500
Jan Wieck <JanWieck@Yahoo.com>
Win32 port (native)

My idea was to go through the patch and break it out into the items it
addresses:
	
	fork/exec
	loop rename test
	handle \r in COPY
	copydir for cp -r
	backslash tests
	rmdir not recursive for rm -r
	shared memory could map to new address in exec child
	compatibility defines
	file path separators
	root directory
	rename atomicity
	spinlock changes
	str[r]chr
	timeval for psql
	DWORD in help.c
	initdb
	etc.

Once it is split out, each piece can be analyzed to make sure we are
doing things the right way, then applied in parts.


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

Jan Wieck wrote:
> Okay,
> 
> I have finally extracted out a patch that applied to a 7.2.1 tree get's
> me something that compiles and passes all regression tests on RedHat
> Linux and Windows 2000.
> 
> To clearify upfront, even if the build process of this port uses a few
> cygwin tools, the final executables and libraries do not depend on
> cygwin.
> 
> I need to write up the 42 steps how to build. For those who want to be
> prepared, you'll need a unix system to patch, a win32 environment with
> VC++ 6.0, Tcl, bison*, flex*, sed* and touch* (*=from cygwin). To run
> the regression tests, one would need an MKS toolkit as it crashes the
> cygwin bash ... we didn't bother with those minor issues. I will post 2
> patches later (meaning, probably tomorrow or latest Sunday) to the
> patches list. One will be all the changes to existing files (about
> 11,500 lines context diff), one will be the new files added.
> 
> As a PostgreSQL coreteam member I want to thank my employer, the
> PeerDirect Corporation, for contributing this work, which IMHO is an
> important step for PostgreSQL.
> 
> What we need from here are some ideas how this port can be lifted up to
> the current 7.4 development tree. There are some TODO items scattered
> throughout the code. But, it compiles and works, so it's a good point to
> start from I think. Looking at the demand for a native Win32 port I
> would expect some people willing to take it from there.
> 
> 
> Jan
> 
> -- 
> #======================================================================#
> # It's easier to get forgiveness for being wrong than for being right. #
> # Let's break this rule - forgive me.                                  #
> #================================================== JanWieck@Yahoo.com #
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
> 

-- 
  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

Fri, 17 Jan 2003 17:14:08 -0500 (EST)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Win32 port (native)
Jan Wieck wrote:
> As a PostgreSQL coreteam member I want to thank my employer, the
> PeerDirect Corporation, for contributing this work, which IMHO is an
> important step for PostgreSQL.

Yes, a very important step. A big thank you to PeerDirect.


> What we need from here are some ideas how this port can be lifted up to
> the current 7.4 development tree. There are some TODO items scattered
> throughout the code. But, it compiles and works, so it's a good point to
> start from I think. Looking at the demand for a native Win32 port I
> would expect some people willing to take it from there.

I have a request for this. Would it be possible to give priority to the 
client utilities?
Apart from possibly helping in the rest of the port by facilitating 
dumping/restoring/testing, it would also enable those working on Windows 
clients with unix backends to work more easily now already. Personally, 
I am now using the psql that came with the beta4 of the Win32 port for 
everything. Even when connecting to a 7.3 server the problems (no schema 
support etc.) are far outweighted by the advantages of having a 
lightweight (just libpq.dll + psql.exe, no cygwin, no installation) 
client tool. But it would be nice if schema support etc. was available 
and with the exception of pg_dump I am personally not very concerned 
about using beta client utilities (while I would have reservations about 
using a beta database server).

Jochem


Sat, 18 Jan 2003 01:48:58 +0100
Jochem van Dieten <jochemd@oli.tudelft.nl>
Re: Win32 port (native)
Jochem van Dieten wrote:
> everything. Even when connecting to a 7.3 server the problems (no schema 
> support etc.) are far outweighted by the advantages of having a 
> lightweight (just libpq.dll + psql.exe, no cygwin, no installation) 
> client tool. But it would be nice if schema support etc. was available 

You can already compile libpq and psql on win32; see:
http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/install-win32.html

Joe



Fri, 17 Jan 2003 18:06:39 -0800
Joe Conway <mail@joeconway.com>
Re: Win32 port (native)