FastCGI-ARC

Including FastCGI 2.4.0 with OpenSolaris

16 November 2007

1.    Summary and motivation

    1.1.    Introduction

    This FastTrack delivers FastCGI 2.4.0[1] as a component in
    sfw stack.

    From the FastCGI HomePage [1], "FastCGI  is a language independent,
    scalable, open extension to CGI that provides high performance without
    the limitations of server specific APIs."

    This FastTrack proposes the integration of the most recent stable
    release of FastCGI 2.4.0,

    This case seeks Minor Release Binding.


2.    Technical issues

    2.1.    Key objects

    /usr/fcgi/bin/cgi-fcgi
    /usr/fcgi/bin/{ISA}/cgi-fcgi
   
    /usr/fcgi/lib/libfcgi.so.0.0.0
    /usr/fcgi/lib/libfcgi.so.0
    /usr/fcgi/lib/libfcgi.so
    /usr/fcgi/lib/libfcgi.la
    /usr/fcgi/lib/libfcgi.a
    /usr/fcgi/lib/libfcgi++.so.0.0.0
    /usr/fcgi/lib/libfcgi++.so.0
    /usr/fcgi/lib/libfcgi++.so
    /usr/fcgi/lib/libfcgi++.la
    /usr/fcgi/lib/libfcgi++.a

    /usr/fcgi/lib/{ISA}/libfcgi.so.0.0.0
    /usr/fcgi/lib/{ISA}/libfcgi.so.0
    /usr/fcgi/lib/{ISA}/libfcgi.so
    /usr/fcgi/lib/{ISA}/libfcgi.la
    /usr/fcgi/lib/{ISA}/libfcgi.a
    /usr/fcgi/lib/{ISA}/libfcgi++.so.0.0.0
    /usr/fcgi/lib/{ISA}/libfcgi++.so.0
    /usr/fcgi/lib/{ISA}/libfcgi++.so
    /usr/fcgi/lib/{ISA}/libfcgi++.la
    /usr/fcgi/lib/{ISA}/libfcgi++.a


    /usr/fcgi/include/fastcgi.h
    /usr/fcgi/include/fcgi_stdio.h
    /usr/fcgi/include/fcgiapp.h
    /usr/fcgi/include/fcgimisc.h
    /usr/fcgi/include/fcgio.h
    /usr/fcgi/include/fcgios.h
    /usr/fcgi/include/fcgi_config.h

    2.2. Versioning

    At any point of time there is only one FastCGI release available. The
    current release is 2.4.0 (released on 19.Jan.2003)

    2.3 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.

    2.4 Directory Naming and Structure
    
    The proposed directory layout for FastCGI is
            /usr/fcgi/
                      /bin
                          /{ISA}
                      /lib
                          /{ISA}
                      /include

    The detailed directory and file layout for FastCGI is provided in
    Addendum 1.

3. FastCGI Documentation.
    
    The documentation is available at FastCGI site[2]. No documentation
    is delivered as part of installation.

4. Packaging and Delivery

    The FastCGI is delivered as SUNWfcgi package.

5.  FastCGI  Interfaces
    
    5.1.    Interface Stability
    
    The FastCGI project released the last major version on 19.Jan.2003 and
    has not seen a release from that time, while development continues for
    mod_fastcgi at the same site (last release 13.Nov.2007).
   
    5.2.    Imported Interfaces

    FastCGI does not have any dependency other than the core solaris libraries.

    5.3.    Exported Interfaces

    NAME                                STABILITY        NOTES

    /usr/fcgi/bin/cgi-fcgi             Uncommitted Executable Location
    /usr/fcgi/bin/{ISA}/cgi-fcgi       Uncommitted Executable Location
   
    /usr/fcgi/lib/libfcgi.so.0.0.0         Volatile Shared Library
    /usr/fcgi/lib/libfcgi.so.0             Volatile Shared Library Link
    /usr/fcgi/lib/libfcgi.so               Volatile Shared Library Link
    /usr/fcgi/lib/libfcgi.la               Volatile Libtool Text
    /usr/fcgi/lib/libfcgi.a                Volatile Static Library
    /usr/fcgi/lib/libfcgi++.so.0.0.0       Volatile Shared Library
    /usr/fcgi/lib/libfcgi++.so.0           Volatile Shared Library Link
    /usr/fcgi/lib/libfcgi++.so             Volatile Shared Library Link
    /usr/fcgi/lib/libfcgi++.la             Volatile Libtool Text
    /usr/fcgi/lib/libfcgi++.a              Volatile Static Library

    /usr/fcgi/lib/{ISA}/libfcgi.so.0.0.0   Volatile Shared Library
    /usr/fcgi/lib/{ISA}/libfcgi.so.0       Volatile Shared Library Link
    /usr/fcgi/lib/{ISA}/libfcgi.so         Volatile Shared Library Link
    /usr/fcgi/lib/{ISA}/libfcgi.la         Volatile Libtool Text
    /usr/fcgi/lib/{ISA}/libfcgi.a          Volatile Static Library
    /usr/fcgi/lib/{ISA}/libfcgi++.so.0.0.0 Volatile Shared Library
    /usr/fcgi/lib/{ISA}/libfcgi++.so.0     Volatile Shared Library Link
    /usr/fcgi/lib/{ISA}/libfcgi++.so       Volatile Shared Library Link
    /usr/fcgi/lib/{ISA}/libfcgi++.la       Volatile Libtool Text
    /usr/fcgi/lib/{ISA}/libfcgi++.a        Volatile Static Library

    /usr/fcgi/include/fastcgi.h         Uncommitted include file
    /usr/fcgi/include/fcgi_stdio.h      Uncommitted include file
    /usr/fcgi/include/fcgiapp.h         Uncommitted include file
    /usr/fcgi/include/fcgimisc.h        Uncommitted include file
    /usr/fcgi/include/fcgio.h           Uncommitted include file
    /usr/fcgi/include/fcgios.h          Uncommitted include file
    /usr/fcgi/include/fcgi_config.h     Uncommitted include file


6.    References

    [1]    http://www.fastcgi.com
    [2]    http://www.fastcgi.com/devkit/doc

================================================================
Addendum 1:       FastCGI Integration Directory and File Structure.

1. The following files are included in the FastCGI integration:

/usr/
    fcgi/
        bin/
            cgi-fcgi
        bin/{ISA}/
            cgi-fcgi
        include/
            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.la
            libfcgi.a
            libfcgi++.so.0.0.0
            libfcgi++.so.0
            libfcgi++.so
            libfcgi++.la
            libfcgi++.a
        lib/{ISA}/
            libfcgi.so.0.0.0
            libfcgi.so.0
            libfcgi.so
            libfcgi.la
            libfcgi.a
            libfcgi++.so.0.0.0
            libfcgi++.so.0
            libfcgi++.so
            libfcgi++.la
            libfcgi++.a
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact