diff options
author | Thilo Bangert <bangert@gentoo.org> | 2009-07-03 21:26:52 +0000 |
---|---|---|
committer | Thilo Bangert <bangert@gentoo.org> | 2009-07-03 21:26:52 +0000 |
commit | 5e2a3810ed51f5d1a6d69fef7221c8fe67d20382 (patch) | |
tree | 7660b296a0a6598bf8ac901c5b7b6f855c8b8763 /www-servers/lighttpd | |
parent | strip env (bug #271425) (diff) | |
download | historical-5e2a3810ed51f5d1a6d69fef7221c8fe67d20382.tar.gz historical-5e2a3810ed51f5d1a6d69fef7221c8fe67d20382.tar.bz2 historical-5e2a3810ed51f5d1a6d69fef7221c8fe67d20382.zip |
remove insecure version (bug #271759) - thanks rbu
Package-Manager: portage-2.2_rc33/cvs/Linux i686
Diffstat (limited to 'www-servers/lighttpd')
7 files changed, 12 insertions, 521 deletions
diff --git a/www-servers/lighttpd/ChangeLog b/www-servers/lighttpd/ChangeLog index 5700d90982b6..815183b349c8 100644 --- a/www-servers/lighttpd/ChangeLog +++ b/www-servers/lighttpd/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for www-servers/lighttpd # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/ChangeLog,v 1.199 2009/05/14 08:42:29 bangert Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/ChangeLog,v 1.200 2009/07/03 21:26:51 bangert Exp $ + + 03 Jul 2009; Thilo Bangert <bangert@gentoo.org> + -files/1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff, + -files/1.4.19-r2/04_all_lighttpd-1.4.13-deprecated-ldap-api.diff, + -lighttpd-1.4.19-r2.ebuild, + -files/1.4.19-r2/07_all_lighttpd-1.4.19-closing_foreign_ssl_connections-do + s-taketwo.diff, + -files/1.4.19-r2/05_all_lighttpd-1.4.19-force_lowercase_filenames_in_mod_u + serdir.diff: + remove insecure version (bug #271759) *lighttpd-1.4.22-r1 (14 May 2009) diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest index 4f2c9191ee47..a090337a59c2 100644 --- a/www-servers/lighttpd/Manifest +++ b/www-servers/lighttpd/Manifest @@ -1,7 +1,3 @@ -AUX 1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff 5267 RMD160 c23c816fcddbc99758a0426fc11f70677dbc06e9 SHA1 22e0d05d49cecb652d1250ac66de13fdf228cce4 SHA256 b37042549247ca2d83581aa3bcd1a5356c37015000711cecafda05aa6d6a15c4 -AUX 1.4.19-r2/04_all_lighttpd-1.4.13-deprecated-ldap-api.diff 502 RMD160 a10372a6cdfce349c6221f5038f2fda699f5f74e SHA1 12c39cd4ca731509256e271daf4aaac8a62e82c4 SHA256 0a7f3626e23291b3859e953bcc1762117a1585c2717adc065ccbb0ccf2f3577a -AUX 1.4.19-r2/05_all_lighttpd-1.4.19-force_lowercase_filenames_in_mod_userdir.diff 465 RMD160 570e27715c359c75459d7c967b67ca8c7c15972d SHA1 65558d8eb54e1a722c9e1983e1ab126a8466497a SHA256 81051f76e57f54ab6158300799be0351b68c4fa86d632b423268f35f41bbd0c1 -AUX 1.4.19-r2/07_all_lighttpd-1.4.19-closing_foreign_ssl_connections-dos-taketwo.diff 2948 RMD160 7cc3d41c227d7eb12204d353eec208fb9456a2b8 SHA1 0475987b269c229400b7e4527fdb98827114ae04 SHA256 3f2edba70fd5fd06e19657c14dc7b314cdec7c54bef96587ee5b50662c26c025 AUX 1.4.20/03_all_lighttpd-1.4.11-errorlog-pipe.diff 4931 RMD160 7653167b0cd3fde6cb7d3d6fe4ae30a8d2e56ebe SHA1 bd0ff91b5caf447f78bcad66a444fbe3719897fb SHA256 2b1a253dda1dbc688ac072608656121f8c2d346a64be1080c65f2ca1d81f8e2d AUX 1.4.22-r1/03_all_lighttpd-1.4.11-errorlog-pipe.diff 4563 RMD160 a37ad759d8b430779b740047aeabfa541479ce66 SHA1 468e08b4bf32b677a0bb1e3ec36edd52e4bc024e SHA256 a26d8e23113a3ffc35a351be4192b3e183ff0237edba3633af8886af08e241c1 AUX conf/lighttpd.conf 8243 RMD160 0b99dbb49be34521ddda14abd9b06cef141bbfc9 SHA1 8fd27dd9b5aea94ca0d1611c8fb1d9e3cb720d0b SHA256 3c016c663d14bf1cb8bf1c7d87dc0ecc1fb4f189ebd4fb05e90ed23f20439ed5 @@ -15,11 +11,9 @@ AUX lighttpd.initd-1.4.13-r3 1454 RMD160 287b7b5626559f61b17e113ca00ef0cee6c6396 AUX lighttpd.logrotate 487 RMD160 2edb8b4abf75031af0a3b4182efb5b589dfa0d3c SHA1 24e1b048d7be5520ca5ef8ce31b55df13cc8d72b SHA256 503ee1cd454e2c0f9a212ef60dc8321893eda06ccf721ecbe94d189a09e0bc6c AUX spawn-fcgi.confd 1076 RMD160 9468249fdedc39fa762a569622bae93f8b3481f9 SHA1 81bad945fc016275873e01e5f69838f73b275a3a SHA256 bfa452a849165f921a2febf0b06879db18c4c921f156b1452d06bb821063f768 AUX spawn-fcgi.initd 1398 RMD160 3fd0fa41d100629e85960034237abc0866ec3d38 SHA1 9c07c9fd59ec73d5f37df109b188b8a7d691f949 SHA256 ae10c764e2bde9bfc483c57ca94a63d87c24cba00b4c06917885c533d2d245b1 -DIST lighttpd-1.4.19.tar.bz2 610347 RMD160 8731ba3efc95659a16dbb11b7298e3b539ab3c75 SHA1 fd4450e7faae55ebe0905114722995b0c57397cc SHA256 a239323239c3735a04290f7c063a14ed2c4560a88c15181c253fcd68c6c2f1d7 DIST lighttpd-1.4.20.tar.bz2 618018 RMD160 0fcc71d6063574da86b610c9bdc16b7e44f9d2e7 SHA1 e5944a40579e0f37c6a0eeb0ad751344b2d6006c SHA256 3cda2ce779f24948062f765f2630b5865e483f5fab7149681a2a25422fd61176 DIST lighttpd-1.4.22.tar.bz2 657939 RMD160 04dcf5565ee6deb3e91449cf54309645f88a43fb SHA1 33390d4cc72b61405c0803358f8d9112821c194b SHA256 6d217dd47fbbf431ee37aa6f12604411204be1fb37bc2a70e14d15dab507c451 -EBUILD lighttpd-1.4.19-r2.ebuild 5839 RMD160 0947b4c115cc5ecbc0ec67aa4b077b70c1714d09 SHA1 9ccbbb41364d162b09e52134cbc47c72f731ffdc SHA256 373f9b64c41abce5d09af55a16218ab34ac44bedc4cc6019d034d20865db4ac4 EBUILD lighttpd-1.4.20.ebuild 5960 RMD160 19f74751b53e92f9876c0015b0fc850733c20021 SHA1 4de12f3cba5ef21bf55a16e4b5a9ca2ab64d1816 SHA256 45c275d895a00370c905b0aa37ebdba46872930034843bb0375fdfa1c0f78f72 EBUILD lighttpd-1.4.22-r1.ebuild 5729 RMD160 3c1c6c8156d9a27d5481bdbf05d5f783421d2262 SHA1 4ae86b12ae8c182bf4aeed6e417fccbc50fbdba0 SHA256 d51c08e6f5cc73dece341eb7efb1e7048b59b6448d822fe71ece827e5015343b -MISC ChangeLog 46166 RMD160 069f95f889c400ecee005e8bdd99816c401d5c71 SHA1 b6d7cb367c5568528e813d0f0f8045abcc2ccd4f SHA256 9b298222c18a07d9b0c6ebae8eb1af12d7b4988098ff9029b8cc9554e2893838 +MISC ChangeLog 46604 RMD160 868cf4d0cbfc770c9c02b15cf00d8fca606a66c8 SHA1 ad0225df4aaded3258b68db089209740d8cee60b SHA256 03c0182e166aae20b5442d4ddeb867dba21c30294da0db4c4bd392a68da5cd2e MISC metadata.xml 927 RMD160 3d969f099d1bb8df70ec5f8ed78a83ad27d2b10d SHA1 1e564c4fc4edb8a4b2dc41f731071ec38e917027 SHA256 479db26201c5c934fd5fb5deccd8712a637114d5cde6e75da8ce9ad4872ec070 diff --git a/www-servers/lighttpd/files/1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff b/www-servers/lighttpd/files/1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff deleted file mode 100644 index c168eba74683..000000000000 --- a/www-servers/lighttpd/files/1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff +++ /dev/null @@ -1,179 +0,0 @@ -diff -ur lighttpd-1.4.11.orig/src/base.h lighttpd-1.4.11/src/base.h ---- lighttpd-1.4.11.orig/src/base.h 2006-01-13 06:51:04.000000000 -0800 -+++ lighttpd-1.4.11/src/base.h 2006-12-17 18:01:39.000000000 -0800 -@@ -505,7 +505,7 @@ - - /* the errorlog */ - int errorlog_fd; -- enum { ERRORLOG_STDERR, ERRORLOG_FILE, ERRORLOG_SYSLOG } errorlog_mode; -+ enum { ERRORLOG_STDERR, ERRORLOG_FILE, ERRORLOG_SYSLOG, ERRORLOG_PIPE } errorlog_mode; - buffer *errorlog_buf; - - fdevents *ev, *ev_ins; -diff -ur lighttpd-1.4.11.orig/src/log.c lighttpd-1.4.11/src/log.c ---- lighttpd-1.4.11.orig/src/log.c 2005-13-07 05:01:35.000000000 -0800 -+++ lighttpd-1.4.11/src/log.c 2006-12-17 18:09:43.000000000 -0800 -@@ -34,10 +34,11 @@ - /** - * open the errorlog - * -- * we have 3 possibilities: -+ * we have 4 possibilities: - * - stderr (default) - * - syslog - * - logfile -+ * - pipe - * - * if the open failed, report to the user and die - * -@@ -57,21 +58,81 @@ - srv->errorlog_mode = ERRORLOG_SYSLOG; - } else if (!buffer_is_empty(srv->srvconf.errorlog_file)) { - const char *logfile = srv->srvconf.errorlog_file->ptr; -- -- if (-1 == (srv->errorlog_fd = open(logfile, O_APPEND | O_WRONLY | O_CREAT | O_LARGEFILE, 0644))) { -- log_error_write(srv, __FILE__, __LINE__, "SSSS", -- "opening errorlog '", logfile, -- "' failed: ", strerror(errno)); -- -+ -+ if (logfile[0] == '|') { -+#ifdef HAVE_FORK -+ /* create write pipe and spawn process */ -+ -+ int to_log_fds[2]; -+ pid_t pid; -+ -+ if (pipe(to_log_fds)) { -+ log_error_write(srv, __FILE__, __LINE__, "ss", -+ "pipe failed: ", strerror(errno)); -+ return -1; -+ } -+ -+ /* fork, execve */ -+ switch (pid = fork()) { -+ case 0: -+ /* child */ -+ -+ close(STDIN_FILENO); -+ dup2(to_log_fds[0], STDIN_FILENO); -+ close(to_log_fds[0]); -+ /* not needed */ -+ close(to_log_fds[1]); -+ -+ /* we don't need the client socket */ -+ for (fd = 3; fd < 256; fd++) { -+ close(fd); -+ } -+ -+ /* exec the log-process (skip the | ) -+ * -+ */ -+ -+ execl("/bin/sh", "sh", "-c", logfile + 1, NULL); -+ -+ log_error_write(srv, __FILE__, __LINE__, "sss", -+ "spawning log-process failed: ", -+ strerror(errno), logfile + 1); -+ -+ exit(-1); -+ break; -+ case -1: -+ /* error */ -+ log_error_write(srv, __FILE__, __LINE__, "ss", "fork failed:", strerror(errno)); -+ break; -+ default: -+ close(to_log_fds[0]); -+ -+ srv->errorlog_fd = to_log_fds[1]; -+ -+ break; -+ } -+ srv->errorlog_mode = ERRORLOG_PIPE; -+#else -+ log_error_write(srv, __FILE__, __LINE__, "SSS", -+ "opening errorlog '", logfile,"' impossible"); - return -1; -- } -+#endif -+ } else { -+ if (-1 == (srv->errorlog_fd = open(logfile, O_APPEND | O_WRONLY | O_CREAT | O_LARGEFILE, 0644))) { -+ log_error_write(srv, __FILE__, __LINE__, "SSSS", -+ "opening errorlog '", logfile, -+ "' failed: ", strerror(errno)); -+ -+ return -1; -+ } -+ srv->errorlog_mode = ERRORLOG_FILE; -+ } - #ifdef FD_CLOEXEC -- /* close fd on exec (cgi) */ -- fcntl(srv->errorlog_fd, F_SETFD, FD_CLOEXEC); -+ /* close fd on exec (cgi) */ -+ fcntl(srv->errorlog_fd, F_SETFD, FD_CLOEXEC); - #endif -- srv->errorlog_mode = ERRORLOG_FILE; -- } -- -+ } -+ - log_error_write(srv, __FILE__, __LINE__, "s", "server started"); - - #ifdef HAVE_VALGRIND_VALGRIND_H -@@ -99,7 +160,7 @@ - */ - - int log_error_cycle(server *srv) { -- /* only cycle if we are not in syslog-mode */ -+ /* only cycle if the error log is a file */ - - if (srv->errorlog_mode == ERRORLOG_FILE) { - const char *logfile = srv->srvconf.errorlog_file->ptr; -@@ -135,6 +196,7 @@ - log_error_write(srv, __FILE__, __LINE__, "s", "server stopped"); - - switch(srv->errorlog_mode) { -+ case ERRORLOG_PIPE: /* fall through */ - case ERRORLOG_FILE: - close(srv->errorlog_fd); - break; -@@ -154,6 +216,7 @@ - va_list ap; - - switch(srv->errorlog_mode) { -+ case ERRORLOG_PIPE: - case ERRORLOG_FILE: - case ERRORLOG_STDERR: - /* cache the generated timestamp */ -@@ -238,6 +301,7 @@ - va_end(ap); - - switch(srv->errorlog_mode) { -+ case ERRORLOG_PIPE: /* fall through */ - case ERRORLOG_FILE: - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "\n"); - write(srv->errorlog_fd, srv->errorlog_buf->ptr, srv->errorlog_buf->used - 1); -diff -ur lighttpd-1.4.11.orig/src/mod_cgi.c lighttpd-1.4.11/src/mod_cgi.c ---- lighttpd-1.4.11.orig/src/mod_cgi.c 2006-02-22 05:15:10.000000000 -0800 -+++ lighttpd-1.4.11/src/mod_cgi.c 2006-12-17 18:01:39.000000000 -0800 -@@ -750,7 +750,7 @@ - * - * we feed the stderr of the CGI to our errorlog, if possible - */ -- if (srv->errorlog_mode == ERRORLOG_FILE) { -+ if ((srv->errorlog_mode == ERRORLOG_FILE) || (srv->errorlog_mode == ERRORLOG_PIPE)) { - close(STDERR_FILENO); - dup2(srv->errorlog_fd, STDERR_FILENO); - } -diff -ur lighttpd-1.4.11.orig/src/mod_rrdtool.c lighttpd-1.4.11/src/mod_rrdtool.c ---- lighttpd-1.4.11.orig/src/mod_rrdtool.c 2005-08-21 15:52:24.000000000 -0700 -+++ lighttpd-1.4.11/src/mod_rrdtool.c 2006-12-17 18:01:39.000000000 -0800 -@@ -134,7 +134,7 @@ - - close(STDERR_FILENO); - -- if (srv->errorlog_mode == ERRORLOG_FILE) { -+ if ((srv->errorlog_mode == ERRORLOG_FILE) || (srv->errorlog_mode == ERRORLOG_PIPE)) { - dup2(srv->errorlog_fd, STDERR_FILENO); - close(srv->errorlog_fd); - } diff --git a/www-servers/lighttpd/files/1.4.19-r2/04_all_lighttpd-1.4.13-deprecated-ldap-api.diff b/www-servers/lighttpd/files/1.4.19-r2/04_all_lighttpd-1.4.13-deprecated-ldap-api.diff deleted file mode 100644 index 259ad4b279a5..000000000000 --- a/www-servers/lighttpd/files/1.4.19-r2/04_all_lighttpd-1.4.13-deprecated-ldap-api.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- lighttpd-1.4.13.old/src/Makefile.am 2006-10-09 12:19:34.000000000 -0400 -+++ lighttpd-1.4.13/src/Makefile.am 2007-03-26 10:10:26.000000000 -0400 -@@ -213,6 +213,7 @@ - mod_auth_la_SOURCES = mod_auth.c http_auth_digest.c http_auth.c - mod_auth_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined - mod_auth_la_LIBADD = $(CRYPT_LIB) $(LDAP_LIB) $(LBER_LIB) $(common_libadd) -+mod_auth_la_CFLAGS = -DLDAP_DEPRECATED - - lib_LTLIBRARIES += mod_rewrite.la - mod_rewrite_la_SOURCES = mod_rewrite.c diff --git a/www-servers/lighttpd/files/1.4.19-r2/05_all_lighttpd-1.4.19-force_lowercase_filenames_in_mod_userdir.diff b/www-servers/lighttpd/files/1.4.19-r2/05_all_lighttpd-1.4.19-force_lowercase_filenames_in_mod_userdir.diff deleted file mode 100644 index 9d67afd049ed..000000000000 --- a/www-servers/lighttpd/files/1.4.19-r2/05_all_lighttpd-1.4.19-force_lowercase_filenames_in_mod_userdir.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- lighttpd-1.4.19/src/mod_userdir.c 2008-03-10 22:45:29.000000000 +1100 -+++ lighty-dev/src/mod_userdir.c 2008-03-12 17:44:43.000000000 +1100 -@@ -286,6 +286,11 @@ - - BUFFER_APPEND_SLASH(p->temp_path); - buffer_append_string(p->temp_path, rel_url + 1); /* skip the / */ -+ -+ if (con->conf.force_lowercase_filenames) { -+ buffer_to_lower(p->temp_path); -+ } -+ - buffer_copy_string_buffer(con->physical.path, p->temp_path); - - buffer_reset(p->temp_path); diff --git a/www-servers/lighttpd/files/1.4.19-r2/07_all_lighttpd-1.4.19-closing_foreign_ssl_connections-dos-taketwo.diff b/www-servers/lighttpd/files/1.4.19-r2/07_all_lighttpd-1.4.19-closing_foreign_ssl_connections-dos-taketwo.diff deleted file mode 100644 index d2f3801f7c30..000000000000 --- a/www-servers/lighttpd/files/1.4.19-r2/07_all_lighttpd-1.4.19-closing_foreign_ssl_connections-dos-taketwo.diff +++ /dev/null @@ -1,100 +0,0 @@ -diff -r ade3eead0e8d -r 82c24356bcd0 NEWS ---- a/NEWS Fri Mar 28 16:30:14 2008 +0100 -+++ b/NEWS Fri Mar 28 17:45:28 2008 +0100 -@@ -8,6 +8,7 @@ - * added support for If-Range: <date> (#1346) - * added support for matching $HTTP["scheme"] in configs - * fixed initgroups() called after chroot (#1384) -+ * Fix #285 again: read error after SSL_shutdown (thx marton.illes@balabit.com) and clear the error queue before some other calls - * fixed case-sensitive check for Auth-Method (#1456) - * execute fcgi app without /bin/sh if used as argument to spawn-fcgi (#1428) - * fixed a bug that made /-prefixed extensions being handled also when -diff -r ade3eead0e8d -r 82c24356bcd0 src/connections.c ---- a/src/connections.c Fri Mar 28 16:30:14 2008 +0100 -+++ b/src/connections.c Fri Mar 28 17:45:28 2008 +0100 -@@ -199,6 +199,7 @@ - - /* don't resize the buffer if we were in SSL_ERROR_WANT_* */ - -+ ERR_clear_error(); - do { - if (!con->ssl_error_want_reuse_buffer) { - b = buffer_init(); -@@ -1668,21 +1669,51 @@ - } - #ifdef USE_OPENSSL - if (srv_sock->is_ssl) { -- int ret; -+ int ret, ssl_r; -+ unsigned long err; -+ ERR_clear_error(); - switch ((ret = SSL_shutdown(con->ssl))) { - case 1: - /* ok */ - break; - case 0: -- SSL_shutdown(con->ssl); -- break; -+ ERR_clear_error(); -+ if (-1 != (ret = SSL_shutdown(con->ssl))) break; -+ -+ // fall through - default: -- log_error_write(srv, __FILE__, __LINE__, "sds", "SSL:", -- SSL_get_error(con->ssl, ret), -- ERR_error_string(ERR_get_error(), NULL)); -- return -1; -+ -+ switch ((ssl_r = SSL_get_error(con->ssl, ret))) { -+ case SSL_ERROR_WANT_WRITE: -+ case SSL_ERROR_WANT_READ: -+ break; -+ case SSL_ERROR_SYSCALL: -+ /* perhaps we have error waiting in our error-queue */ -+ if (0 != (err = ERR_get_error())) { -+ do { -+ log_error_write(srv, __FILE__, __LINE__, "sdds", "SSL:", -+ ssl_r, ret, -+ ERR_error_string(err, NULL)); -+ } while((err = ERR_get_error())); -+ } else { -+ log_error_write(srv, __FILE__, __LINE__, "sddds", "SSL (error):", -+ ssl_r, r, errno, -+ strerror(errno)); -+ } -+ -+ break; -+ default: -+ while((err = ERR_get_error())) { -+ log_error_write(srv, __FILE__, __LINE__, "sdds", "SSL:", -+ ssl_r, ret, -+ ERR_error_string(err, NULL)); -+ } -+ -+ break; -+ } - } - } -+ ERR_clear_error(); - #endif - - switch(con->mode) { -diff -r ade3eead0e8d -r 82c24356bcd0 src/network_openssl.c ---- a/src/network_openssl.c Fri Mar 28 16:30:14 2008 +0100 -+++ b/src/network_openssl.c Fri Mar 28 17:45:28 2008 +0100 -@@ -85,6 +85,7 @@ - * - */ - -+ ERR_clear_error(); - if ((r = SSL_write(ssl, offset, toSend)) <= 0) { - unsigned long err; - -@@ -187,6 +188,7 @@ - - close(ifd); - -+ ERR_clear_error(); - if ((r = SSL_write(ssl, s, toSend)) <= 0) { - unsigned long err; - diff --git a/www-servers/lighttpd/lighttpd-1.4.19-r2.ebuild b/www-servers/lighttpd/lighttpd-1.4.19-r2.ebuild deleted file mode 100644 index 75b726c05223..000000000000 --- a/www-servers/lighttpd/lighttpd-1.4.19-r2.ebuild +++ /dev/null @@ -1,210 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/lighttpd-1.4.19-r2.ebuild,v 1.7 2008/04/20 21:13:10 vapier Exp $ - -WANT_AUTOCONF=latest -WANT_AUTOMAKE=latest -inherit eutils autotools depend.php - -DESCRIPTION="Lightweight high-performance web server" -HOMEPAGE="http://www.lighttpd.net/" -SRC_URI="http://www.lighttpd.net/download/${P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc ~sparc-fbsd x86 ~x86-fbsd" -IUSE="bzip2 doc fam fastcgi gdbm ipv6 ldap lua minimal memcache mysql pcre php rrdtool ssl test webdav xattr" - -RDEPEND=">=sys-libs/zlib-1.1 - bzip2? ( app-arch/bzip2 ) - fam? ( virtual/fam ) - gdbm? ( sys-libs/gdbm ) - ldap? ( >=net-nds/openldap-2.1.26 ) - lua? ( >=dev-lang/lua-5.1 ) - memcache? ( dev-libs/libmemcache ) - mysql? ( >=virtual/mysql-4.0 ) - pcre? ( >=dev-libs/libpcre-3.1 ) - php? ( virtual/httpd-php ) - rrdtool? ( net-analyzer/rrdtool ) - ssl? ( >=dev-libs/openssl-0.9.7 ) - webdav? ( - dev-libs/libxml2 - >=dev-db/sqlite-3 - sys-fs/e2fsprogs - ) - xattr? ( kernel_linux? ( sys-apps/attr ) )" - -DEPEND="${RDEPEND} - doc? ( dev-python/docutils ) - test? ( - virtual/perl-Test-Harness - dev-libs/fcgi - )" - -# update certain parts of lighttpd.conf based on conditionals -update_config() { - local config="/etc/lighttpd/lighttpd.conf" - - # enable php/mod_fastcgi settings - use php && \ - dosed 's|#.*\(include.*fastcgi.*$\)|\1|' ${config} - - # enable stat() caching - use fam && \ - dosed 's|#\(.*stat-cache.*$\)|\1|' ${config} -} - -# remove non-essential stuff (for USE=minimal) -remove_non_essential() { - local libdir="${D}/usr/$(get_libdir)/${PN}" - - # text docs - use doc || rm -fr "${D}"/usr/share/doc/${PF}/txt - - # non-essential modules - rm -f \ - ${libdir}/mod_{compress,evhost,expire,proxy,scgi,secdownload,simple_vhost,status,setenv,trigger*,usertrack}.* - - # allow users to keep some based on USE flags - use pcre || rm -f ${libdir}/mod_{ssi,re{direct,write}}.* - use webdav || rm -f ${libdir}/mod_webdav.* - use mysql || rm -f ${libdir}/mod_mysql_vhost.* - use lua || rm -f ${libdir}/mod_{cml,magnet}.* - use rrdtool || rm -f ${libdir}/mod_rrdtool.* - - if ! use fastcgi ; then - rm -f ${libdir}/mod_fastcgi.* "${D}"/usr/bin/spawn-fcgi \ - "${D}"/usr/share/man/man1/spawn-fcgi.* - fi -} - -pkg_setup() { - if ! use pcre ; then - ewarn "It is highly recommended that you build ${PN}" - ewarn "with perl regular expressions support via USE=pcre." - ewarn "Otherwise you lose support for some core options such" - ewarn "as conditionals and modules such as mod_re{write,direct}" - ewarn "and mod_ssi." - ebeep 5 - fi - - use php && require_php_with_use cgi - - enewgroup lighttpd - enewuser lighttpd -1 -1 /var/www/localhost/htdocs lighttpd -} - -src_unpack() { - unpack ${A} - cd "${S}" - - EPATCH_SUFFIX="diff" EPATCH_OPTS="-l" epatch "${FILESDIR}"/"${PVR}" || die "Patching failed!" - - eautoreconf || die - - # dev-python/docutils installs rst2html.py not rst2html - sed -i -e 's|\(rst2html\)|\1.py|g' doc/Makefile.in || \ - die "sed doc/Makefile.in failed" - - # fix typo - sed -i -e 's|\(output_content\)_\(type\)|\1\2|' doc/cml.txt || \ - die "sed doc/cml.txt failed" -} - -src_compile() { - econf --libdir=/usr/$(get_libdir)/${PN} \ - --enable-lfs \ - $(use_enable ipv6) \ - $(use_with bzip2) \ - $(use_with fam) \ - $(use_with gdbm) \ - $(use_with lua) \ - $(use_with ldap) \ - $(use_with memcache) \ - $(use_with mysql) \ - $(use_with pcre) \ - $(use_with ssl openssl) \ - $(use_with webdav webdav-props) \ - $(use_with webdav webdav-locks) \ - $(use_with xattr attr) \ - || die "econf failed" - - emake || die "emake failed" - - if use doc ; then - einfo "Building HTML documentation" - cd doc - emake html || die "failed to build HTML documentation" - fi -} - -src_install() { - make DESTDIR="${D}" install || die "make install failed" - - # init script stuff - newinitd "${FILESDIR}"/lighttpd.initd-1.4.13-r3 lighttpd || die - newconfd "${FILESDIR}"/lighttpd.confd lighttpd || die - use fam && has_version app-admin/fam && \ - sed -i 's/after famd/need famd/g' "${D}"/etc/init.d/lighttpd - - if use php || use fastcgi ; then - newinitd "${FILESDIR}"/spawn-fcgi.initd spawn-fcgi || die - newconfd "${FILESDIR}"/spawn-fcgi.confd spawn-fcgi || die - fi - - # configs - insinto /etc/lighttpd - doins "${FILESDIR}"/conf/lighttpd.conf - doins "${FILESDIR}"/conf/mime-types.conf - doins "${FILESDIR}"/conf/mod_cgi.conf - newins "${FILESDIR}"/conf/mod_fastcgi.conf-1.4.13-r2 mod_fastcgi.conf - # Secure directory for fastcgi sockets - keepdir /var/run/lighttpd/ - fperms 0750 /var/run/lighttpd/ - fowners lighttpd:lighttpd /var/run/lighttpd/ - - # update lighttpd.conf directives based on conditionals - update_config - - # docs - dodoc AUTHORS README NEWS ChangeLog doc/*.sh - newdoc doc/lighttpd.conf lighttpd.conf.distrib - - use doc && dohtml -r doc/* - - docinto txt - dodoc doc/*.txt - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/lighttpd.logrotate lighttpd || die - - keepdir /var/l{ib,og}/lighttpd /var/www/localhost/htdocs - fowners lighttpd:lighttpd /var/l{ib,og}/lighttpd - fperms 0750 /var/l{ib,og}/lighttpd - - use minimal && remove_non_essential -} - -pkg_postinst () { - echo - if [[ -f ${ROOT}etc/conf.d/spawn-fcgi.conf ]] ; then - einfo "spawn-fcgi is now included with lighttpd" - einfo "spawn-fcgi's init script configuration is now located" - einfo "at /etc/conf.d/spawn-fcgi." - echo - fi - - if [[ -f ${ROOT}etc/lighttpd.conf ]] ; then - ewarn "As of lighttpd-1.4.1, Gentoo has a customized configuration," - ewarn "which is now located in /etc/lighttpd. Please migrate your" - ewarn "existing configuration." - ebeep 5 - fi - - if use fam ; then - einfo "Remember to re-emerge lighttpd should you switch from" - einfo "app-admin/famd to app-admin/gamin or vice versa." - fi - echo -} |