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

Reply via email to