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