FYI to this group..
> Including FastCGI 2.4.0 with OpenSolaris
>
> 15 December 2008
>
> 1. Summary and motivation
>
> 1.1. Introduction
>
> This project delivers the FastCGI 2.4.0[1] Application Libraries
> into OpenSolaris.
>
> FastCGI is an open variation of the Common Gateway Interface
> (CGI) that dramatically reduces the overhead of running CGI-like
> programs from a Web Server. It provides high performance without
> the limitations of server specific APIs. It is by Web Servers
> such as Lighttpd, Nginx and Zeus to communicate with Ruby on
> Rails and Python backend processes.
>
> The FastCGI Applications Libraries are the C and C++ libraries
> used by FastCGI application developers for creating FastCGI
> applications and wrapper programs.
>
> This case seeks Minor Release Binding.
>
> 2. Technical issues
>
> 2.1. Key objects
>
> /usr/bin/cgi-fcgi
> /usr/bin/{ISA}/cgi-fcgi
>
> /usr/lib/libfcgi.so.0.0.0
> /usr/lib/libfcgi.so.0
> /usr/lib/libfcgi.so
> /usr/lib/libfcgi++.so.0.0.0
> /usr/lib/libfcgi++.so.0
> /usr/lib/libfcgi++.so
>
> /usr/lib/{ISA}/libfcgi.so.0.0.0
> /usr/lib/{ISA}/libfcgi.so.0
> /usr/lib/{ISA}/libfcgi.so
> /usr/lib/{ISA}/libfcgi++.so.0.0.0
> /usr/lib/{ISA}/libfcgi++.so.0
> /usr/lib/{ISA}/libfcgi++.so
>
>
> /usr/include/fastcgi/fastcgi.h
> /usr/include/fastcgi/fcgi_stdio.h
> /usr/include/fastcgi/fcgiapp.h
> /usr/include/fastcgi/fcgimisc.h
> /usr/include/fastcgi/fcgio.h
> /usr/include/fastcgi/fcgios.h
> /usr/include/fastcgi/fcgi_config.h
>
> 2.2 C++ Libraries
>
> The FastCGI C++ Application library will not be included in the
> initial integration as we are dependent on the Apache Std C++
> Library. We will aim to add the C++ libraries in time for
> availability with OpenSolaris 2009.04 but accept that there is a
> risk that the timing may not allow for this. We will raise a CR
> to cover the integration of the C++ Libraries.
>
> 2.3 Versioning
>
> At any point of time there is only one FastCGI release
> available. The current release is 2.4.0.
>
> 2.4 Bindings
>
> Many languages provide bindings for FastCGI (popular examples
> include Perl, Python, Tcl, Ruby etc). Each of these languages
> provide the choice of using either the pure language version or
> a version linked with FastCGI library. These (native or pure
> bindings for the languages) will have to be installed separately
> by the user, or in some cases will be built specifically with
> the Libraries that this project delivers.
>
> 2.5 Directory Naming and Structure
>
> The proposed directory layout for FastCGI is:
>
> /usr
> /bin
> /{ISA}
> /lib
> /{ISA}
> /include/fastcgi
> /share/man
> /man1
> /man3
> /share/doc
> /fastcgi
>
> The detailed directory and file layout for FastCGI is provided
> in Addendum 1.
>
> 3. FastCGI Documentation.
>
> Man pages for the cgi-fcgi executable and for the documented API
> calls will be provided as part of the integration.
>
> A master fastcgi man page will be provided. This will describe
> the location of the key components of the integration. As
> FastCGI is often referred to as fcgi, this man page will also be
> accessible as 'fcgi'. Both will live under section 1m on the
> default MANPATH.
>
> The FastCGI documentation will be delivered 'as is' in a
> separate package.
>
> 4. Packaging and Delivery
>
> We propose to package FastCGI under the following usr packages:
>
> SUNWfcgi - FastCGI 2.4.0
> SUNWfcgi-doc - FastCGI 2.4.0 Documentation
>
> 5. FastCGI Interfaces
>
> 5.1. Interface Stability
>
> FastCGI libraries first became available in 1996, the FastCGI
> project released the last major version on 19th January 2003
> although development continues for mod_fastcgi at the same site.
> Despite this lack of development FastCGI 2.4.0 is seen to be low
> risk and "Just works". It is widely used and was integrated with
> Sun Java System Web Server 7.
>
> 5.2. Imported Interfaces
>
> FastCGI depends on PSARC 2008/549 Apache Standard C++
> Library[3], as well as core Solaris libraries (i.e.: libc), but
> no others.
>
> 5.3. Exported Interfaces
>
> NAME STABILITY NOTES
>
> /usr/bin/cgi-fcgi Uncommitted Executable
> /usr/bin/{ISA}/cgi-fcgi Uncommitted Executable
>
> /usr/share/man/man1m/fastcgi.1m Uncommitted Man Page
>
> /usr/lib/libfcgi.so.0.0.0 Uncommitted Shared Library
> /usr/lib/libfcgi.so.0 Uncommitted Symbolic Link
> /usr/lib/libfcgi.so Uncommitted Symbolic Link
> /usr/lib/libfcgi++.so.0.0.0 Uncommitted Shared Library
> /usr/lib/libfcgi++.so.0 Uncommitted Symbolic Link
> /usr/lib/libfcgi++.so Uncommitted Shared Symbolic Link
>
> /usr/lib/{ISA}/libfcgi.so.0.0.0 Uncommitted Shared Library
> /usr/lib/{ISA}/libfcgi.so.0 Uncommitted Symbolic Link
> /usr/lib/{ISA}/libfcgi.so Uncommitted Symbolic Link
> /usr/lib/{ISA}/libfcgi++.so.0.0.0 Uncommitted Shared Library
> /usr/lib/{ISA}/libfcgi++.so.0 Uncommitted Symbolic Link
> /usr/lib/{ISA}/libfcgi++.so Uncommitted Symbolic Link
>
> 6. References
>
> [1] http://www.fastcgi.com
> [2] http://www.fastcgi.com/devkit/doc
> [3] http://www.opensolaris.org/os/community/arc/caselog/2008/549/
>
> ================================================================
> Addendum 1: FastCGI Integration Directory and File Structure.
>
> 1. The following files are included in the FastCGI integration:
>
> /usr/share/man/man1m
> /fastcgi.1m
> /fcgi.1m -> fastcgi.1m
> /usr
> /bin
> /cgi-fcgi
> /bin/{ISA}
> /cgi-fcgi
> /include/fastcgi
> /fastcgi.h
> /fcgi_stdio.h
> /fcgiapp.h
> /fcgimisc.h
> /fcgio.h
> /fcgios.h
> /fcgi_config.h
> /lib
> /libfcgi.so.0.0.0
> /libfcgi.so.0
> /libfcgi.so
> /libfcgi++.so.0.0.0
> /libfcgi++.so.0
> /libfcgi++.so
> /lib/{ISA}
> /libfcgi.so.0.0.0
> /libfcgi.so.0
> /libfcgi.so
> /libfcgi++.so.0.0.0
> /libfcgi++.so.0
> /libfcgi++.so
> /share
> /man
> /man1m
> /fastcgi.1m
> /man1
> /cgi-fcgi.1
> /man3
> /FCGI_Accept.3
> /FCGI_Finish.3
> /FCGI_SetExitStatus.3
> /FCGI_StartFilterData.3
> 3/doc/fastcgi
> /<various documentation files for FastCGI>
>
> 6. Resources and Schedule
> 6.4. Steering Committee requested information
> 6.4.1. Consolidation C-team Name:
> SFW
> 6.5. ARC review type: FastTrack
> 6.6. ARC Exposure: open
>
--
Jyri J. Virkki - jyri.virkki at sun.com - Sun Microsystems