[Zope-CVS] CVS: Packages/pcgi/Win32 - Makefile.nt:1.1 README.NT:1.1 parseinfo.exe:1.1 pcgi-wrapper.exe:1.1

Fred L. Drake, Jr. fred@zope.com
Thu, 20 Mar 2003 15:39:58 -0500


Update of /cvs-repository/Packages/pcgi/Win32
In directory cvs.zope.org:/tmp/cvs-serv8256/Win32

Added Files:
	Makefile.nt README.NT parseinfo.exe pcgi-wrapper.exe 
Log Message:
Make the PCGI support code available via CVS without having to maintain and
distribute it as part of the Zope application server.  The appserver still
contains the necessary support to allow a PCGI-capable web server to talk
to it.


=== Added File Packages/pcgi/Win32/Makefile.nt ===
# Makefile.nt

VERSION = 2.0a4
CC = cl
CFLAGS = /W3 /DWIN32 /I..
LIBS = wsock32.lib
SRCDIR= ..
CREOSOTE_DIR = $(SRCDIR)/MrCreosote
CORE = $(SRCDIR)/pcgi.h #parseinfo.c

.c.obj:
	$(CC) /c $(CFLAGS) $*.c

all:	pcgi-wrapper.exe parseinfo.exe creosote.obj

creosote.obj:	$(CREOSOTE_DIR)/creosote.c $(CREOSOTE_DIR)/creosote.h
	$(CC) /c $(CFLAGS) /I$(CREOSOTE_DIR) /Focreosote.obj $(CREOSOTE_DIR)/creosote.c

parseinfo1.obj:	$(SRCDIR)/parseinfo.c $(CORE)
	$(CC) /c $(CFLAGS) /DMAIN_PARSEINFO /Foparseinfo1.obj $(SRCDIR)/parseinfo.c 

parseinfo2.obj:	$(SRCDIR)/parseinfo.c $(CORE)
	$(CC) /c $(CFLAGS) $(SRCDIR)/parseinfo.c /Foparseinfo2.obj

pcgi-wrapper1.obj: $(SRCDIR)/pcgi-wrapper.c $(CORE)
	$(CC) /c $(CFLAGS) /I$(CREOSOTE_DIR) /DPCGI_WRAPPER_MAIN /DCREOSOTE /DVERSION=\"$(VERSION)\" /Fopcgi-wrapper1.obj $(SRCDIR)/pcgi-wrapper.c

pcgi-wrapper2.obj: $(SRCDIR)/pcgi-wrapper.c $(CORE)
	$(CC) /c $(CFLAGS) /I$(CREOSOTE_DIR) /DCREOSOTE /Fopcgi-wrapper2.obj $(SRCDIR)/pcgi-wrapper.c

parseinfo.exe:	parseinfo1.obj pcgi-wrapper2.obj creosote.obj
	link /OUT:parseinfo.exe parseinfo1.obj pcgi-wrapper2.obj creosote.obj $(LIBS)

pcgi-wrapper.exe: pcgi-wrapper1.obj parseinfo2.obj creosote.obj
	link /OUT:pcgi-wrapper.exe pcgi-wrapper1.obj parseinfo2.obj creosote.obj $(LIBS)


=== Added File Packages/pcgi/Win32/README.NT ===
README.NT - one day this will grow up and become a real README file.

PCGI 2.0a4 Win32 binary release (alpha 4)  August 10, 1998
contact: jeffbauer@bigfoot.com

What is this?

    The collection of files below is the first Win32
    release of PCGI, the Persistent CGI wrapper for
    Bobo applications.  For more information about Bobo,
    go to Digital Creations site: http://www.digicool.com

Files (in relative order of importance):

    pcgi-wrapper.exe    - the main program
    pcgi_publisher.py   - modified to handle both Unix & Win32
    pcgifile.py         - indispensible for tracking down problems
    pcgitime.py         - sample module
    pcgitest            - sample PCGI info file
    killpcgi.py         - handy for killing the running process
    parseinfo.exe       - used only when necessary  (to view the pcgi
                            info file the way pcgi-wrapper sees it)

For information about Persistent CGI, check out:

  http://starship.skyport.net/crew/jbauer/persistcgi/

  (This information may soon move over to www.digicool.com)

Platforms tested?

    Apache/Win32 1.3.1 running on NT 4.0.  However, it should
    run on any Win32 platform running a server supporting http.

Basic checklist to get the sample application up and running:

    0.  Install Python, Bobo, and a web server on your machine.
        If you haven't got these things already working, please
        see my notes on the subject:

          http://starship.skyport.net/crew/jbauer/apachenotes/

    1.  Put pcgi-wrapper.exe where you normally place your
        binary executables, or in cgi-bin.

    2.  Put pcgi_publisher.py in a directory where you normally
        put your .py scripts -- cgi-bin is okay, but you will
        specify the path in your info file, regardless.

    3.  Put pcgitest & pcgitime.py in cgi-bin.  You will have
        to modify the first #! she-bang line in pcgitest to
        match the path of where you put pcgi-wrapper.exe.  Also,
        all directives must match your environment -- the examples
        included are for illustration purposes only.  Please
        read the online (URL above) PCGI documentation for
        further information.

    4.  Run your setup against pcgifile.py, a sanity check
        described in:

        http://starship.skyport.net/crew/jbauer/persistcgi/pcgifile/
        http://starship.skyport.net/crew/jbauer/persistcgi/howto

    5.  Give me feedback, please:  jeffbauer@bigfoot.com

-------------------
Microsoft IIS Notes:

    Amos Latteier notes that some web servers, notably Microsoft's IIS,
    cannot deal with the first line in a CGI program like Apache:

      #!C:\WINNT\system32\pcgi-wrapper.exe

    The solution is to use a .pcgi extension for your info file and create 
    a file association between .pcgi and pcgi-wrapper.exe with an IIS script 
    map registry entry, e.g.:

      .pcgi  C:\winnt\system32\pcgi-wrapper.exe  %s

    Now info files with the .pcgi extension will execute as cgi
    programs.

    [Amos further notes in a posting to the Bobo list:]

    IIS 4 by default sends a custom 404 error message which masks 
    Bobo's 404 error information.  This effectively keeps you from 
    seeing what Bobo is trying to tell you about why it is not 
    publishing your object.  To get rid of this annoyance go to 
    the web site properties dialog in the Microsoft Management 
    Console application.  Click on the "Custom Errors" tab.  Choose 
    the 404 error and change it to use "Default" error message. 

    Voila, you're back in business, and can read Bobo information in 
    the source of your 404 error messages now.


=== Added File Packages/pcgi/Win32/parseinfo.exe ===
  <Binary-ish file>

=== Added File Packages/pcgi/Win32/pcgi-wrapper.exe ===
  <Binary-ish file>