Hi,
Please find attached the DRAFT ARC case for including libapreq 2.08
to apache2. libapreq is a library used by multiple modules. The ARC case
is very similar to ARP and APR-util.
rahul
--
1. e4 _
-------------- next part --------------
Integrate libapreq 2.08 to apache2
1. Introduction
1.1. Project/Component Working Name:
Integrate libapreq 2.08 to apache2 in OpenSolaris
1.2. Name of Document Author/Supplier:
Author: Rahul Nair (rahul.g.nair at sun.com)
1.3. Date of This Document:
08 August, 2008
2. Summary
2.1. Integrate libapreq 2.08
This project delivers libapreq 2.08 [1].
According to libapreq2 documentation,
"libapreq is a safe, standards-compliant, high-performance library
used for parsing HTTP cookies, query-strings and POST data."
This case seeks Minor Release Binding.
2.2. Previous Relevant ARC Case
PSARC 2008/118 Update Apache to 2.2.8
3. Technical issues
3.1. Versioning
libapreq uses the same naming convention as that of APR and APR-util
(e.g. /usr/apreq/2.0/* - refer to Appendix 1 and 2 for a complete file
listing).
3.2 libapreq Directory Naming and Structure
The libapreq distribution will install objects under the
directory hierarchy: /usr/apreq/[version].
/usr/apreq/
[version]/bin/
[version]/bin/${ISAINFO}/
[version]/include/
[version]/lib/
[version]/lib/${ISAINFO}/
The detailed directory and file layout for libapreq is provided in
Appendix 1.
4. Packaging and Delivery
The project allows for the coexistence of multiple versions of
libapreq.MINOR by keeping each installation under a version-specific
subdirectory. The following package naming convention will be followed:
SUNWapreq20lib Apache HTTP Request Library 2.0 shared libraries
SUNWapreq20dev Apache HTTP Request Library 2.0 development headers
SUNWapch22m-apreq20 Apache HTTP Request Library 2.0 module
5. Documentation
libapreq does not provide any documentation.
Source make target supports doc generation using Doxygen tool.
This project will use this tool to generate the docs in html format
(English language) and will deliver them in a separate package.
6. Interfaces
6.1. Interface Stability
Compatibility between the minor release family of libapreq canonical
distribution is not guaranteed. We will classify libapreq Interface
as Uncommitted.
6.2. Imported Interfaces
libapreq imports interfaces from the Standard C Library, the Network
Services Layer Library and the Pthreads Library. In addition,
the following Interfaces are imported:
NAME STABILITY NOTES
Perl5 Standard PSARC/1999/192
6.3. Exported Interfaces
NAME STABILITY NOTES
/usr/libapreq/[version]/
bin/ Uncommitted Script location
bin/${ISAINFO}/ Uncommitted 64-bit Script location
include/ Uncommitted Include directory
lib/
lib/${ISAINFO}/
libapreq2.so.3.6.0 Volatile Shared Library
libapreq2.so.3 -> libapreq2.so.3.6.0
Volatile Symbolic Link
libapreq2.so.3.6.0 -> libapreq2.so
Uncommitted Symbolic Link
7. References
[1] http://httpd.apache.org/apreq/
------------------------------------------------------------------------------
Appendix 1: libapreq 2.08 Integration Directory and File Structure.
/usr/apreq/2.0/
bin/
apreq2-config
bin/${ISAINFO}/
apreq2-config
lib/
libapreq2.so.3.6.0
libapreq2.so.3
libapreq2.so
libapreq2.la
libapreq2.a
lib/${ISAINFO}/
libapreq2.so.3.6.0
libapreq2.so.3
libapreq2.so
libapreq2.la
libapreq2.a
include/apreq2
apreq.h
apreq_cookie.h
apreq_error.h
apreq_module.h
apreq_param.h
apreq_parser.h
apreq_util.h
apreq_version.h
/usr/apache2/2.2/include/apreq2
apreq_module_apache2.h
/usr/apache2/2.2/libexec/
mod_apreq2.so