SUMMARY="An open-source web server for speed-critical environments" DESCRIPTION="Security, speed, compliance, and flexibility -- all of these \ describe lighttpd (pron. lighty) which is rapidly redefining efficiency of a \ webserver, as it is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective \ management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, \ Output-Compression, URL-Rewriting and many more) lighttpd is the perfect \ solution for every server that is suffering load problems." HOMEPAGE="https://www.lighttpd.net/" COPYRIGHT="2003-2018 lighttpd authors" LICENSE="BSD (3-clause)" REVISION="3" SOURCE_URI="https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-$portVersion.tar.xz" CHECKSUM_SHA256="aedf49d7127d9e4c0ea56618e9e945a17674dc46a37ac7990120f87dd939ce09" ADDITIONAL_FILES=" create-lighttpd-directories.sh index.template geoip.shtml quickstart.txt quickstart-geoip.txt " ARCHITECTURES="!x86_gcc2 x86 x86_64 ?arm ?ppc" SECONDARY_ARCHITECTURES="x86" commandSuffix=$secondaryArchSuffix commandBinDir=$binDir if [ "$targetArchitecture" = x86_gcc2 ]; then commandSuffix= commandBinDir=$prefix/bin fi PROVIDES=" lighttpd$secondaryArchSuffix = $portVersion cmd:lighttpd$commandSuffix cmd:lighttpd_angel$commandSuffix lib:mod_access$secondaryArchSuffix lib:mod_accesslog$secondaryArchSuffix lib:mod_alias$secondaryArchSuffix lib:mod_auth$secondaryArchSuffix lib:mod_authn_file$secondaryArchSuffix # lib:mod_authn_gssapi$secondaryArchSuffix lib:mod_authn_ldap$secondaryArchSuffix # lib:mod_authn_mysql$secondaryArchSuffix lib:mod_cgi$secondaryArchSuffix lib:mod_cml$secondaryArchSuffix lib:mod_compress$secondaryArchSuffix lib:mod_deflate$secondaryArchSuffix lib:mod_dirlisting$secondaryArchSuffix lib:mod_evasive$secondaryArchSuffix lib:mod_evhost$secondaryArchSuffix lib:mod_expire$secondaryArchSuffix lib:mod_extforward$secondaryArchSuffix lib:mod_fastcgi$secondaryArchSuffix lib:mod_flv_streaming$secondaryArchSuffix lib:mod_indexfile$secondaryArchSuffix lib:mod_magnet$secondaryArchSuffix # lib:mod_mysql_vhost$secondaryArchSuffix lib:mod_openssl$secondaryArchSuffix lib:mod_proxy$secondaryArchSuffix lib:mod_redirect$secondaryArchSuffix lib:mod_rewrite$secondaryArchSuffix lib:mod_rrdtool$secondaryArchSuffix lib:mod_scgi$secondaryArchSuffix lib:mod_secdownload$secondaryArchSuffix lib:mod_setenv$secondaryArchSuffix lib:mod_simple_vhost$secondaryArchSuffix lib:mod_ssi$secondaryArchSuffix lib:mod_staticfile$secondaryArchSuffix lib:mod_status$secondaryArchSuffix # lib:mod_trigger_b4_dl$secondaryArchSuffix lib:mod_uploadprogress$secondaryArchSuffix lib:mod_userdir$secondaryArchSuffix lib:mod_usertrack$secondaryArchSuffix lib:mod_vhostdb_ldap$secondaryArchSuffix lib:mod_vhostdb$secondaryArchSuffix lib:mod_webdav$secondaryArchSuffix lib:mod_wstunnel$secondaryArchSuffix " REQUIRES=" haiku$secondaryArchSuffix lib:libbz2$secondaryArchSuffix lib:libcrypto$secondaryArchSuffix lib:libintl$secondaryArchSuffix lib:libldap$secondaryArchSuffix lib:liblua$secondaryArchSuffix lib:libpcre$secondaryArchSuffix lib:libsqlite3$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libuuid$secondaryArchSuffix >= 1.3 lib:libxml2$secondaryArchSuffix lib:libz$secondaryArchSuffix " PROVIDES_mod_geoip=" lighttpd${secondaryArchSuffix}_mod_geoip = $portVersion lib:mod_geoip$secondaryArchSuffix " REQUIRES_mod_geoip=" haiku$secondaryArchSuffix lighttpd$secondaryArchSuffix == $portVersion base haiku$secondaryArchSuffix lib:libGeoIP$secondaryArchSuffix lib:libintl$secondaryArchSuffix " PROVIDES_devel=" lighttpd${secondaryArchSuffix}_devel = $portVersion " REQUIRES_devel=" lighttpd$secondaryArchSuffix == $portVersion base " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libbz2$secondaryArchSuffix devel:libcrypto$secondaryArchSuffix devel:libGeoIP$secondaryArchSuffix devel:libintl$secondaryArchSuffix devel:libldap$secondaryArchSuffix devel:liblua$secondaryArchSuffix devel:libpcre$secondaryArchSuffix devel:libsqlite3$secondaryArchSuffix devel:libssl$secondaryArchSuffix devel:libxml2$secondaryArchSuffix devel:libuuid$secondaryArchSuffix >= 1.3 devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:aclocal cmd:autoconf cmd:autom4te cmd:automake cmd:awk cmd:gcc$secondaryArchSuffix cmd:make cmd:perl cmd:pkg_config$secondaryArchSuffix cmd:sed cmd:uname cmd:which " GLOBAL_WRITABLE_FILES=" settings/lighttpd/lighttpd.conf keep-old settings/lighttpd/modules.conf keep-old settings/lighttpd/conf.d/access_log.conf keep-old settings/lighttpd/conf.d/auth.conf keep-old settings/lighttpd/conf.d/cgi.conf keep-old settings/lighttpd/conf.d/cml.conf keep-old settings/lighttpd/conf.d/compress.conf keep-old settings/lighttpd/conf.d/debug.conf keep-old settings/lighttpd/conf.d/dirlisting.conf keep-old settings/lighttpd/conf.d/evhost.conf keep-old settings/lighttpd/conf.d/expire.conf keep-old settings/lighttpd/conf.d/fastcgi.conf keep-old settings/lighttpd/conf.d/magnet.conf keep-old settings/lighttpd/conf.d/mime.conf keep-old settings/lighttpd/conf.d/mysql_vhost.conf keep-old settings/lighttpd/conf.d/proxy.conf keep-old settings/lighttpd/conf.d/rrdtool.conf keep-old settings/lighttpd/conf.d/scgi.conf keep-old settings/lighttpd/conf.d/secdownload.conf keep-old settings/lighttpd/conf.d/simple_vhost.conf keep-old settings/lighttpd/conf.d/ssi.conf keep-old settings/lighttpd/conf.d/status.conf keep-old settings/lighttpd/conf.d/trigger_b4_dl.conf keep-old settings/lighttpd/conf.d/userdir.conf keep-old settings/lighttpd/conf.d/webdav.conf keep-old " GLOBAL_WRITABLE_FILES_mod_geoip=" settings/lighttpd/conf.d/geoip.conf keep-old " USER_SETTINGS_FILES=" settings/lighttpd directory settings/lighttpd/conf.d directory settings/lighttpd/lighttpd.conf template data/lighttpd/template-settings/lighttpd.conf settings/lighttpd/modules.conf template data/lighttpd/template-settings/modules.conf settings/lighttpd/conf.d/access_log.conf template data/lighttpd/template-settings/conf.d/access_log.conf settings/lighttpd/conf.d/auth.conf template data/lighttpd/template-settings/conf.d/auth.conf settings/lighttpd/conf.d/cgi.conf template data/lighttpd/template-settings/conf.d/cgi.conf settings/lighttpd/conf.d/cml.conf template data/lighttpd/template-settings/conf.d/cml.conf settings/lighttpd/conf.d/compress.conf template data/lighttpd/template-settings/conf.d/compress.conf settings/lighttpd/conf.d/debug.conf template data/lighttpd/template-settings/conf.d/debug.conf settings/lighttpd/conf.d/dirlisting.conf template data/lighttpd/template-settings/conf.d/dirlisting.conf settings/lighttpd/conf.d/evhost.conf template data/lighttpd/template-settings/conf.d/evhost.conf settings/lighttpd/conf.d/expire.conf template data/lighttpd/template-settings/conf.d/expire.conf settings/lighttpd/conf.d/fastcgi.conf template data/lighttpd/template-settings/conf.d/fastcgi.conf settings/lighttpd/conf.d/magnet.conf template data/lighttpd/template-settings/conf.d/magnet.conf settings/lighttpd/conf.d/mime.conf template data/lighttpd/template-settings/conf.d/mime.conf settings/lighttpd/conf.d/mysql_vhost.conf template data/lighttpd/template-settings/conf.d/mysql_vhost.conf settings/lighttpd/conf.d/proxy.conf template data/lighttpd/template-settings/conf.d/proxy.conf settings/lighttpd/conf.d/rrdtool.conf template data/lighttpd/template-settings/conf.d/rrdtool.conf settings/lighttpd/conf.d/scgi.conf template data/lighttpd/template-settings/conf.d/scgi.conf settings/lighttpd/conf.d/secdownload.conf template data/lighttpd/template-settings/conf.d/secdownload.conf settings/lighttpd/conf.d/simple_vhost.conf template data/lighttpd/template-settings/conf.d/simple_vhost.conf settings/lighttpd/conf.d/ssi.conf template data/lighttpd/template-settings/conf.d/ssi.conf settings/lighttpd/conf.d/status.conf template data/lighttpd/template-settings/conf.d/status.conf settings/lighttpd/conf.d/trigger_b4_dl.conf template data/lighttpd/template-settings/conf.d/trigger_b4_dl.conf settings/lighttpd/conf.d/userdir.conf template data/lighttpd/template-settings/conf.d/userdir.conf settings/lighttpd/conf.d/webdav.conf template data/lighttpd/template-settings/conf.d/webdav.conf " USER_SETTINGS_FILES_mod_geoip=" settings/lighttpd/conf.d/geoip.conf template data/lighttpd/template-settings/conf.d/geoip.conf " POST_INSTALL_SCRIPTS=" $relativePostInstallDir/create-lighttpd-directories.sh " debugList=( "$commandBinDir"/lighttpd "$commandBinDir"/lighttpd-angel "${libDir/lighttpd$secondaryArchSuffix/lighttpd${secondaryArchSuffix}_mod_geoip}"/lighttpd/mod_geoip.so ) for i in `echo "$PROVIDES" | sed -e "/^\s*#/ d;" | sed -n -e \ "s/^\s*lib:\(mod_.*\)$secondaryArchSuffix/\1/p;"` ; do debugList+=("$libDir"/lighttpd/$i.so) done defineDebugInfoPackage lighttpd$secondaryArchSuffix "${debugList[@]}" BUILD() { LIBS="-lintl" \ runConfigure --omit-dirs "libDir sbinDir" ./configure \ --libdir=$libDir/lighttpd --sbindir=$commandBinDir \ --with-openssl --with-zlib --with-bzip2 --with-pcre \ --with-libxml --with-ldap --with-lua --with-sqlite \ --with-uuid --with-webdav-locks --with-webdav-props \ --with-geoip make $jobArgs } INSTALL() { make install mkdir -p $postInstallDir cp -f $portDir/additional-files/create-lighttpd-directories.sh $postInstallDir rm $libDir/lighttpd/mod_*.la mkdir -p \ $localStateDir/cache/lighttpd \ $localStateDir/lib/lighttpd \ $localStateDir/log/lighttpd \ $localStateDir/tmp/lighttpd \ $localStateDir/www/htdocs \ $settingsDir/lighttpd/conf.d \ $dataDir/lighttpd \ $docDir cp -f \ $portDir/additional-files/quickstart.txt \ $portDir/additional-files/quickstart-geoip.txt \ $docDir constantSystemSettingsDir="`finddir B_SYSTEM_SETTINGS_DIRECTORY`" constantSystemCacheDir="`finddir B_SYSTEM_CACHE_DIRECTORY`" constantSystemDataDir="`finddir B_SYSTEM_DATA_DIRECTORY`" constantSystemVarDir="`finddir B_SYSTEM_VAR_DIRECTORY`" # Tweak lighttpd.conf to have a working config with mod_ssi enabled. # Tweak ssi.conf to add index.shtml as index-file.names for mod_indexfile. # Tweak modules.conf to also add index.lighttpd.html as index-file.names. # This ensures a default main page will still be available if the user later # choses to disable SSI. cp doc/config/lighttpd.conf $settingsDir/lighttpd sed -i \ -e "s|^\(## \)/etc\(/lighttpd/lighttpd\.conf\)|\1$constantSystemSettingsDir\2|" \ -e "s|^\(## check \)/etc\(/lighttpd/conf\.d/\)|\1$constantSystemSettingsDir\2|" \ -e "/^var\.log_root/ \ s|\"/var\(/log/lighttpd\"\)|\"$constantSystemVarDir\1|" \ -e "/^var\.server_root/ \ s|\"/srv/www\"|\"$constantSystemDataDir/lighttpd/www\"|" \ -e "/^var\.server_root/ \ a #var.server_root = \"/$relativeSharedStateDir/www\"" \ -e "/^var\.state_dir/ \ s|\"/var/run\"|\"$constantSystemVarDir/run\"|" \ -e "/^var\.conf_dir/ \ s|\"/etc\(/lighttpd\"\)|\"$constantSystemSettingsDir\1|" \ -e "/^server\.use-ipv6 / s|\"enable\"|\"disable\"|" \ -e "s|^server\.username |#&|" \ -e "s|^server\.groupname |#&|" \ -e "s|^server\.max-fds |#&|" \ -e "s|^server\.max-connections |#&|" \ -e "s|^server\.network-backend |#&|" \ -e "/^server\.event-handler/ \ s|\"linux-sysepoll\"|\"select\"|" \ -e "/^server\.upload-dirs/ \ s|\"/var/tmp\"|\"$constantSystemVarDir/tmp/lighttpd\"|" \ -e "/^## \$ cat / \ s|/etc\(/ssl/private/lighttpd\.key\)|$constantSystemSettingsDir\1|" \ -e "/^## \$ cat / \ s|/etc\(/ssl/certs/lighttpd\.crt\)|$constantSystemSettingsDir\1|" \ -e "s| /etc\(/ssl/private/lighttpd\.pem\)| $constantSystemSettingsDir\1|" \ -e "/^#ssl\.pemfile/ \ s|\"/etc\(/ssl/private/lighttpd.pem\"\)|\"$constantSystemSettingsDir\1|" \ -e "/^ssl\.pemfile/ \ s|\"/etc\(/ssl/private/www\.example\.com\.pem\"\)|\"$constantSystemSettingsDir\1|" \ -e "/^#include_shell \"cat \/etc/ \ s|/etc\(/lighttpd/\)|\"$constantSystemSettingsDir\1|" \ -e "/^include \"modules\.conf\"/ \ a index-file.names += ( \"index.lighttpd.html\" )" \ $settingsDir/lighttpd/lighttpd.conf cp doc/config/modules.conf $settingsDir/lighttpd # Enable mod_ssi sed -i \ -e "s|^#\(include \"conf\.d/ssi\.conf\"\)|\1|" \ $settingsDir/lighttpd/modules.conf cp doc/config/conf.d/*.conf $settingsDir/lighttpd/conf.d sed -i \ -e "/^ssi\.extension/ \ a index-file.names += ( \"index.lighttpd.shtml\" )" \ $settingsDir/lighttpd/conf.d/ssi.conf sed -i \ -e "/^#geoip\.db-filename =/ \ s|/path/to/|$constantSystemCacheDir/GeoIP/|" \ $settingsDir/lighttpd/conf.d/geoip.conf # Create a read-only copy of the settings cp -rp $settingsDir/lighttpd $dataDir/lighttpd/template-settings mkdir -p $dataDir/lighttpd/www/htdocs/geoip # Create and install a static index.lighttpd.html test page from the template. cp $portDir/additional-files/index.template \ $dataDir/lighttpd/www/htdocs/index.lighttpd.html sed -i \ -e "s|@SYSTEM@|`uname -a`|" \ -e "s|@GETARCH@|`getarch`|" \ -e "s|@HOSTNAME@|`uname -n`|" \ -e "s|@LIGHTTPD_VERSION@|lighttpd/$portVersion|" \ $dataDir/lighttpd/www/htdocs/index.lighttpd.html # Create and install the SSI index.lighttpd.shtml test page from the template. cp $portDir/additional-files/index.template \ $dataDir/lighttpd/www/htdocs/index.lighttpd.shtml sed -i \ -e "s|@SYSTEM@||" \ -e "s|@GETARCH@||" \ -e "s|@HOSTNAME@||" \ -e "s|@LIGHTTPD_VERSION@||" \ $dataDir/lighttpd/www/htdocs/index.lighttpd.shtml # Create and install the geoip.shtml demo page. cp $portDir/additional-files/geoip.shtml \ $dataDir/lighttpd/www/htdocs/geoip/index.lighttpd.shtml # Install headers in $includeDir/lighttpd/ for building third-party modules. mkdir -p $includeDir/lighttpd cp -p src/*.h $includeDir/lighttpd # Remove those headers that won't ever be needed for building a module. for i in \ configparser.h \ network.h \ proc_open.h \ request.h do rm -f $includeDir/lighttpd/$i done packageEntries mod_geoip \ $libDir/lighttpd/mod_geoip.so \ $settingsDir/lighttpd/conf.d/geoip.conf \ $dataDir/lighttpd/template-settings/conf.d/geoip.conf \ $dataDir/lighttpd/www/htdocs/geoip \ $docDir/quickstart-geoip.txt packageEntries devel \ $developDir } TEST() { make check }