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