I am sponsoring this case for Amanda Waite; timeout set for Oct.22. The case updates lighttpd version and refactors its packaging.
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: Updating Lighttpd in OpenSolaris and repackaging spawn-fcgi 1.2. Name of Document Author/Supplier: Author: Amanda Waite 1.3 Date of This Document: 15 October, 2009 4. Technical Description Updating Lighttpd in OpenSolaris and repackaging spawn-fcgi Amanda Waite <amanda.waite at sun.com> 13 October 2009 1. Summary and motivation 1.1. Introduction This project will update Lighttpd in OpenSolaris to version 1.4.23. As part of the upgrade, spawn-fcgi will be broken out into a separate package. This case also adds support for Lighttpd loadable modules that require the Lua programming language and will also include a change to the packaged Lighttpd configuration file requested by the upstream community. 2. Technical Description 2.1. Details Version 1.4.23 of the Lighttpd web server sees the refactoring of the spawn-fcgi utility into a separate source distribution. This case proposes that we break out spawn-fcgi into a separate package while maintaining the Lighttpd interfaces provided by the existing Lighttpd packages through the use of symbolic links and dependencies. The spawn-fcgi paths delivered previously by lighttpd are retained but will be converted to symlinks by this case (details below). These symlinks are declared Obsolete and customers will be encouraged to start referencing spawn-fcgi by its new location. The symlinks will later be removed by a future case, not by this case. 2.2. Ongoing updates Updates to the spawn-fcgi interfaces will delivered by the spawn-fcgi package (proposed as SUNWspawn-fcgi) 2.3 Changes to loadable modules The mod_magnet and mod_cml loadable modules are now built against the Lua libraries integrated with LSARC/2009/013. mod_magnet is one of the key lighttpd differentiators over Apache. mod_magnet and mod_cml already exist in SUNWlighttpd14u but are effectively 'stub' modules in that they do nothing. 2.4 Changes to the configuration file At the request of the upstream Lighttpd community this case will remove the line: server.max-workers = 4 from the default Lighttpd configuration file. Running Lighttpd with multiple workers is not supported by the upstream community. Upgrades to the Lighttpd packages will not clobber the existing configuration file. If a user reports an issue that is fixed by not running with multiple workers, then they will be informed that they will need to modify their setup, either by moving to a single worker setup or by not using modules that are affected by the issue. A note to this effect will be added to the lighttpd.1m, lighttpd.1 and spawn-fcgi.1 man pages. 2.5 spawn-fcgi The spawn-fcgi executable and it's manpage will be delivered as a separate package. The Lighttpd package: SUNWlighttpd14u will include a dependency on the spawn-fcgi package and will provide symbolic links from the existing locations of the executable and manpage to the locations delivered by the spawn-fcgi package, i.e.: /usr/lighttpd/1.4/bin/spawn-fcgi -> /usr/bin/spawn-fcgi /usr/lighttpd/1.4/share/man/man1/spawn-fcgi.1 -> /usr/share/man/man1/spawn-fcgi.1 2.6 Obsolescence of Lighttpd spawn-fcgi interfaces The following file paths will be obsoleted: /usr/lighttpd/1.4/bin/spawn-fcgi /usr/lighttpd/1.4/share/man/man1/spawn-fcgi.1 Lighttpd has no specific dependency on spawn-fcgi, it has it's own mechanism for starting and stopping backend processes. Therefore it is expected that this change will have limited impact on existing deployments. Where spawn-fcgi is being used no change will be required initially as the existing file paths will be preserved through the use of Symbolic Links (See section 2.5). Once these links are removed end users will need to update existing scripts and services with the paths delivered by SUNWspawn-fcgi. 3. Spawn-fcgi technical details 3.1. Key objects /usr/bin/spawn-fcgi 3.2. Versioning The versioning model for spawn-fcgi is <major>.<minor>.<micro>. The compatibility expectations for spawn-fcgi are as follows: (1) Version x.y.z is compatible for different values of z, such that z >= 0. (2) Version x.y.z is not expected to be compatible for different values of x or y 3.3 Directory Naming and Structure Refer to Appendix 1 for file layout. 4. 4.1 Changes/Additions to Imported Interfaces NAME STABILITY ARC CASE NOTES --------------------------------------------------- Lua Uncommitted LSARC/2009/013 Added 4.2 Changes to Exported Interfaces NAME STABILITY NOTES --------------------------------------------------------------------------- /usr/lighttpd/1.4/bin/spawn-fcgi Obsolete Uncommitted Obsoleted /usr/lighttpd/1.4/man/man1/spawn-fcgi.1 Obsolete Uncommitted Obsoleted SUNWspawn-fcgi Committed Pkg name spawn-fcgi command line options Uncommitted /usr/bin/spawn-fcgi Uncommitted Location 5. Packaging and Delivery The exisiting Lighttpd packages: SUNWlighttpd14u and SUNWlighttpd14r will remain and the following package will be added: SUNWspawn-fcgi - spawn-fcgi executable and man pages 6. References ================================================================ Appendix 1: Lighttpd Integration Directory and File Structure. 1. The following files are new or updated by this case: /usr /bin /spawn-fcgi /lighttpd/1.4 /bin /spawn-fcgi=>../../../bin/spawn-fcgi /man/man1 /spawn-fcgi.1=>../../../share/man/man1/spawn-fcgi.1 /share/man /man1 /spawn-fcgi.1 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