Re: Where is the link to cygwin? - Mailing list pgsql-cygwin
From | Reini Urban |
---|---|
Subject | Re: Where is the link to cygwin? |
Date | |
Msg-id | 4175BA39.20908@x-ray.at Whole thread Raw |
In response to | Re: Where is the link to cygwin? (Marek Lewczuk <newsy@lewczuk.com>) |
Responses |
Re: Where is the link to cygwin?
Re: Where is the link to cygwin? |
List | pgsql-cygwin |
Marek Lewczuk schrieb: > Reini Urban wrote: >> Richard Sydney-Smith schrieb: >> A new initd script will come with 8.0, >> which just calls pg_ctl and >> adds service install/uninstall args. > > Reini, > a few days ago you wrote that you are working on plperl patch for cygwin > - how are doing with this ? well, bruce said that it should work now. I got reproducable crashes with IPC. But I really think that are problems with our cygserver, not with postgresql. That's why I'm busy with testing our cygserver, and a few libtool bugs. > I also found a bug in "pg_ctl register" > function - it adds a service, but the path to the pg_ctl file is > /usr/local/pgsl/bin/pg_ctl.exe - which is not available in windows.... > or "pg_ctl register" will not work on cygwin ? Ah, thanks Marek! $ psservice config PostgreSQL PsService v1.01 - local and remote services viewer/controller Copyright (C) 2001 Mark Russinovich Sysinternals - www.sysinternals.com SERVICE_NAME: PostgreSQL (null) TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : /usr/src/postgresql/postgresql-8.0.0cvs/.inst/usr/sbin/./pg_ctl.exe runservice -N "PostgreSQL" -D "/usr/share/postgresql/data" LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : PostgreSQL DEPENDENCIES : RPCSS SERVICE_START_NAME: LocalSystem We need another patch to pg_ctl to convert the exe path. cd /usr/src/postgresql/postgresql-8.0.0cvs/src/bin/pg_ctl patch -p0 < cyg-ctlpaths.patch make cp ./pg_ctl.exe /usr/src/postgresql/postgresql-8.0.0cvs/.inst/usr/sbin $ ./pg_ctl.exe unregister rurban@reini /usr/src/postgresql/postgresql-8.0.0cvs/.inst/usr/sbin $ ./pg_ctl.exe register rurban@reini /usr/src/postgresql/postgresql-8.0.0cvs/.inst/usr/sbin $ psservice config PostgreSQL PsService v1.01 - local and remote services viewer/controller Copyright (C) 2001 Mark Russinovich Sysinternals - www.sysinternals.com SERVICE_NAME: PostgreSQL (null) TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : f:\prog\gnu\cygwin\postgresql\postgresql-8.0.0cvs\.inst\usr\sbin\pg_ctl. exe runservice -N "PostgreSQL" -D "/usr/share/postgresql/data" LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : PostgreSQL DEPENDENCIES : RPCSS SERVICE_START_NAME: LocalSystem -- Reini Urban http://xarch.tu-graz.ac.at/home/rurban/ Index: pg_ctl.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/bin/pg_ctl/pg_ctl.c,v retrieving revision 1.39 diff -u -b -c -r1.39 pg_ctl.c *** pg_ctl.c 16 Oct 2004 03:10:14 -0000 1.39 --- pg_ctl.c 20 Oct 2004 01:02:56 -0000 *************** *** 22,27 **** --- 22,28 ---- #include "getopt_long.h" #if defined(__CYGWIN__) + #include <sys/cygwin.h> #include <windows.h> #endif *************** *** 814,819 **** --- 815,823 ---- { static char cmdLine[MAXPGPATH]; int ret; + #ifdef __CYGWIN__ + static char buf[MAXPGPATH]; + #endif if (registration) ret = find_my_exec(argv0, cmdLine); *************** *** 824,829 **** --- 828,838 ---- write_stderr(_("%s: could not find exe"), progname); exit(1); } + #ifdef __CYGWIN__ + /* need to convert to windows path */ + cygwin_conv_to_full_win32_path (cmdLine, buf); + strcpy(cmdLine, buf); + #endif if (registration) {
pgsql-cygwin by date: