]> TLD Linux GIT Repositories - packages/lighttpd.git/commitdiff
- updated to 1.4.45, cleanup
authorMarcin Krol <hawk@tld-linux.org>
Thu, 9 Feb 2017 13:01:31 +0000 (13:01 +0000)
committerMarcin Krol <hawk@tld-linux.org>
Thu, 9 Feb 2017 13:01:31 +0000 (13:01 +0000)
branch.sh [changed mode: 0644->0755]
env-documentroot.patch
lighttpd-mod_geoip.conf [new file with mode: 0644]
lighttpd-mod_uploadprogress.conf [new file with mode: 0644]
lighttpd-modinit-before-fork.patch [deleted file]
lighttpd.spec

old mode 100644 (file)
new mode 100755 (executable)
index 4a0e8f8..72c2ffc
--- a/branch.sh
+++ b/branch.sh
@@ -1,11 +1,58 @@
 #!/bin/sh
 set -e
 svn=svn://svn.lighttpd.net/lighttpd
-p=lighttpd
-v=1.5
-
-svn co $svn/trunk $p-$v
-r=$(svnversion $p-$v)
-t=$p-r$r.tar.bz2
-tar -cjf $t --exclude-vcs $p-$v
-../dropin $t &
+url=https://git.lighttpd.net/lighttpd/lighttpd1.4.git
+package=lighttpd
+tag=lighttpd-1.4.42
+branch=master
+out=$package-branch.diff
+repo=$package.git
+
+# old version of this code used to create tarball.
+# leave it around
+if [ "$1" = "tarball" ]; then
+       v=1.5
+       svn co $svn/trunk $package-$v
+       r=$(svnversion $package-$v)
+       t=$package-r$r.tar.bz2
+       tar -cjf $t --exclude-vcs $package-$v
+       ../dropin $t &
+       exit 0
+fi
+
+d=$-
+filter() {
+       set -$d
+       # Excluding files which change version or were not in dist tarball
+       filterdiff -p1 \
+               -x 'CMakeLists.txt' \
+               -x 'configure.ac' \
+               -x 'SConstruct' \
+               -x 'packdist.sh' \
+       | cat
+}
+
+if [ ! -d $repo ]; then
+       git clone --bare $url -b $branch $repo
+fi
+
+cd $repo
+       git fetch origin +$branch:$branch +refs/tags/$tag:refs/tags/$tag
+       git log -p --reverse $tag..$branch | filter > ../$out.tmp
+cd ..
+
+if ! test -s $out.tmp; then
+       echo >&2 "No diffs..."
+       rm -f $out.tmp
+       exit 0
+fi
+
+if cmp -s $out{,.tmp}; then
+       echo >&2 "No new diffs..."
+       rm -f $out.tmp
+       exit 0
+fi
+mv -f $out{.tmp,}
+
+../md5 $package.spec
+../dropin $out
index e225dc3e26e9f18548cc64f060151c43434d2279..aeada330cd8e85b617277a323c9949e170b8fe4b 100644 (file)
@@ -1,6 +1,9 @@
 revert:
 
 -  * [*cgi] Use physical base dir (alias, userdir) as DOCUMENT_ROOT in cgi environments (fixes #2216)
+
+probably fixed in
+https://github.com/lighttpd/lighttpd1.4/commit/7fa5bfc9381764d6c35ac29674bd830e8e5fee33
  
 --- lighttpd-1.4.36/src/mod_fastcgi.c~ 2015-07-26 18:30:29.000000000 +0300
 +++ lighttpd-1.4.36/src/mod_fastcgi.c  2015-07-26 18:31:50.285226477 +0300
diff --git a/lighttpd-mod_geoip.conf b/lighttpd-mod_geoip.conf
new file mode 100644 (file)
index 0000000..1474b92
--- /dev/null
@@ -0,0 +1,13 @@
+# GeoIP module.
+#
+# Documentation: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModGeoip
+
+server.modules += (
+       "mod_geoip"
+)
+
+# path to the geoip or geocity database
+#geoip.db-filename = "/usr/share/GeoIP/GeoIP.dat"
+
+# default disabled
+#geoip.memory-cache = "enable"
diff --git a/lighttpd-mod_uploadprogress.conf b/lighttpd-mod_uploadprogress.conf
new file mode 100644 (file)
index 0000000..e8db906
--- /dev/null
@@ -0,0 +1,16 @@
+# Upload Progress module.
+#
+# Documentation: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModUploadProgress
+
+server.modules += (
+       "mod_uploadprogress"
+)
+
+# string, empty by default; use "/progress" (or something else) to enable the module
+#upload-progress.progress-url = "/progress"
+
+# integer, default: 60 seconds
+#upload-progress.remove-timeout = 30
+
+# boolean, default: "disable"
+#upload-progress.debug = "enable"
diff --git a/lighttpd-modinit-before-fork.patch b/lighttpd-modinit-before-fork.patch
deleted file mode 100644 (file)
index 2f2c5e5..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
---- ./src/server.c     (working copy)
-+++ lighttpd-1.4.19/src/server.c       2008-09-19 17:43:33.695522751 +0300
-@@ -865,34 +865,9 @@
-               return -1;
-       }
--#ifdef HAVE_FORK
--      /* network is up, let's deamonize ourself */
--      if (srv->srvconf.dont_daemonize == 0) daemonize();
--#endif
--
-       srv->gid = getgid();
-       srv->uid = getuid();
--      /* write pid file */
--      if (pid_fd != -1) {
--              buffer_copy_long(srv->tmp_buf, getpid());
--              buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("\n"));
--              write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1);
--              close(pid_fd);
--              pid_fd = -1;
--      }
--
--      /* Close stderr ASAP in the child process to make sure that nothing
--       * is being written to that fd which may not be valid anymore. */
--      if (-1 == log_error_open(srv)) {
--              log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
--
--              plugins_free(srv);
--              network_close(srv);
--              server_free(srv);
--              return -1;
--      }
--
-       if (HANDLER_GO_ON != plugins_call_set_defaults(srv)) {
-               log_error_write(srv, __FILE__, __LINE__, "s", "Configuration of plugins failed. Going down.");
-@@ -918,7 +893,86 @@
-               return -1;
-       }
-+      if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
-+              log_error_write(srv, __FILE__, __LINE__,
-+                              "s", "fdevent_init failed");
-+              return -1;
-+      }
-+      /*
-+       * kqueue() is called here, select resets its internals,
-+       * all server sockets get their handlers
-+       *
-+       * */
-+      if (0 != network_register_fdevents(srv)) {
-+              plugins_free(srv);
-+              network_close(srv);
-+              server_free(srv);
-+
-+              return -1;
-+      }
-+
-+      /* might fail if user is using fam (not gamin) and famd isn't running */
-+      if (NULL == (srv->stat_cache = stat_cache_init())) {
-+              log_error_write(srv, __FILE__, __LINE__, "s",
-+                      "stat-cache could not be setup, dieing.");
-+              return -1;
-+      }
-+
-+#ifdef HAVE_FAM_H
-+      /* setup FAM */
-+      if (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM) {
-+              if (0 != FAMOpen2(srv->stat_cache->fam, "lighttpd")) {
-+                      log_error_write(srv, __FILE__, __LINE__, "s",
-+                                       "could not open a fam connection, dieing.");
-+                      return -1;
-+              }
-+#ifdef HAVE_FAMNOEXISTS
-+              FAMNoExists(srv->stat_cache->fam);
-+#endif
-+
-+              srv->stat_cache->fam_fcce_ndx = -1;
-+              fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL);
-+              fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN);
-+      }
-+#endif
-+
-+
-+      /* get the current number of FDs */
-+      srv->cur_fds = open("/dev/null", O_RDONLY);
-+      close(srv->cur_fds);
-+
-+      for (i = 0; i < srv->srv_sockets.used; i++) {
-+              server_socket *srv_socket = srv->srv_sockets.ptr[i];
-+              if (-1 == fdevent_fcntl_set(srv->ev, srv_socket->fd)) {
-+                      log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed:", strerror(errno));
-+                      return -1;
-+              }
-+      }
-+
-+      /* Close stderr ASAP to make sure that nothing is being written to
-+       * that fd which may not be valid anymore after forking. */
-+      if (-1 == log_error_open(srv)) {
-+              log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
-+
-+              plugins_free(srv);
-+              network_close(srv);
-+              server_free(srv);
-+              return -1;
-+      }
-+
-+#ifdef HAVE_FORK
-+      /* network is up, let's deamonize ourself */
-+      if (srv->srvconf.dont_daemonize == 0) daemonize();
-+#endif
-+      /* write pid file */
-+      if (pid_fd != -1) {
-+              buffer_copy_long(srv->tmp_buf, getpid());
-+              buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("\n"));
-+              write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1);
-+              close(pid_fd);
-+              pid_fd = -1;
-+      }
- #ifdef HAVE_SIGACTION
-@@ -1042,62 +1096,6 @@
-       }
- #endif
--      if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
--              log_error_write(srv, __FILE__, __LINE__,
--                              "s", "fdevent_init failed");
--              return -1;
--      }
--      /*
--       * kqueue() is called here, select resets its internals,
--       * all server sockets get their handlers
--       *
--       * */
--      if (0 != network_register_fdevents(srv)) {
--              plugins_free(srv);
--              network_close(srv);
--              server_free(srv);
--
--              return -1;
--      }
--
--      /* might fail if user is using fam (not gamin) and famd isn't running */
--      if (NULL == (srv->stat_cache = stat_cache_init())) {
--              log_error_write(srv, __FILE__, __LINE__, "s",
--                      "stat-cache could not be setup, dieing.");
--              return -1;
--      }
--
--#ifdef HAVE_FAM_H
--      /* setup FAM */
--      if (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM) {
--              if (0 != FAMOpen2(srv->stat_cache->fam, "lighttpd")) {
--                      log_error_write(srv, __FILE__, __LINE__, "s",
--                                       "could not open a fam connection, dieing.");
--                      return -1;
--              }
--#ifdef HAVE_FAMNOEXISTS
--              FAMNoExists(srv->stat_cache->fam);
--#endif
--
--              srv->stat_cache->fam_fcce_ndx = -1;
--              fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL);
--              fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN);
--      }
--#endif
--
--
--      /* get the current number of FDs */
--      srv->cur_fds = open("/dev/null", O_RDONLY);
--      close(srv->cur_fds);
--
--      for (i = 0; i < srv->srv_sockets.used; i++) {
--              server_socket *srv_socket = srv->srv_sockets.ptr[i];
--              if (-1 == fdevent_fcntl_set(srv->ev, srv_socket->fd)) {
--                      log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed:", strerror(errno));
--                      return -1;
--              }
--      }
--
-       /* main-loop */
-       while (!srv_shutdown) {
-               int n;
index 35eb70bf40741fc71b43ffa992d8a9f574675c85..58554b17d3208189f06abe3a767adaa710d3a803 100644 (file)
@@ -1,7 +1,9 @@
+
 # TODO:
 # - provide or autogenerate self signed cert in post, so after installing
 #   lighttpd-ssl server will still work
 # - patch with mod_websocket: https://github.com/Juniper/lighttpd-for-juise
+# - lighttpd-mod_fd_transfer: https://redmine.lighttpd.net/boards/3/topics/4992
 #
 # Conditional build:
 %bcond_with            tests           # build with tests
 %bcond_without largefile       # largefile support (see notes above)
 %bcond_without ssl             # ssl support
 %bcond_without mysql           # mysql support in mod_mysql_vhost
+%bcond_without geoip           # GeoIP support
+%bcond_with    krb5            # krb5 support (does not work with heimdal)
 %bcond_without ldap            # ldap support in mod_auth
 %bcond_without lua             # LUA support in mod_cml (needs LUA >= 5.1)
 %bcond_with    memcache        # memcached support in mod_cml / mod_trigger_b4_dl
 %bcond_with    gamin           # gamin for reducing number of stat() calls.
                                # NOTE: must be enabled in config: server.stat-cache-engine = "fam"
 %bcond_with    gdbm            # gdbm in mod_trigger_b4_dl
+%bcond_without mod_trigger_b4_dl               # mod_trigger_b4_dl
 %bcond_with    webdav_props    # properties in mod_webdav (includes extra sqlite3/libxml deps)
 %bcond_with    webdav_locks    # webdav locks with extra efsprogs deps
 %bcond_with    valgrind        # compile code with valgrind support.
-%bcond_with    deflate         # build deflate module (needs patch update with current svn)
 %bcond_with    h264_streaming          # build h264_streaming module
 
 %if %{with webdav_locks}
 %define                webdav_progs    1
 %endif
 
+# if(WITH_PCRE AND (WITH_MEMCACHED OR WITH_GDBM))
+%if %{without memcached} && %{without gdbm}
+%undefine      with_mod_trigger_b4_dl
+%endif
+
 Summary:       Fast and light HTTP server
 Summary(pl.UTF-8):     Szybki i lekki serwer HTTP
 Name:          lighttpd
-Version:       1.4.40
+Version:       1.4.45
 Release:       1
 License:       BSD
 Group:         Networking/Daemons/HTTP
 Source0:       http://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.xz
-# Source0-md5: 89e0da2b6b8a2c4592d549ff10094068
+# Source0-md5: a128e1eda76899ce3fd115efae5fe631
 Source1:       %{name}.init
 Source2:       %{name}.conf
 Source3:       %{name}.user
@@ -90,30 +99,26 @@ Source135:  %{name}-mod_extforward.conf
 Source136:     %{name}-mod_h264_streaming.conf
 Source137:     %{name}-mod_cgi_php.conf
 Source138:     %{name}-mod_compress.tmpwatch
+Source139:     %{name}-mod_uploadprogress.conf
+Source140:     %{name}-mod_geoip.conf
 # use branch.sh script to create branch.diff
 #Patch100:     %{name}-branch.diff
-## Patch100-md5:       cdcde8cb4632a42c5ae21d73aae9d34b
+## Patch100-md5:       7bd09235304c8bcb16f34d49d480c0fb
 Patch0:                %{name}-use_bin_sh.patch
 Patch1:                %{name}-mod_evasive-status_code.patch
 Patch2:                %{name}-mod_h264_streaming.patch
 Patch3:                %{name}-branding.patch
-Patch5:                %{name}-mod_deflate.patch
 Patch6:                test-port-setup.patch
-Patch7:                env-documentroot.patch
-#Patch:                %{name}-modinit-before-fork.patch
-#Patch:                %{name}-errorlog-before-fork.patch
 URL:           http://www.lighttpd.net/
+%{?with_geoip:BuildRequires:   GeoIP-devel}
 %{?with_xattr:BuildRequires:   attr-devel}
 BuildRequires: autoconf >= 2.57
-%if "%{pld_release}" != "ac"
 BuildRequires: automake >= 1:1.11.2
-%else
-BuildRequires: automake
-%endif
 BuildRequires: bzip2-devel
 BuildRequires: fcgi-devel
 %{?with_gamin:BuildRequires:   gamin-devel}
 %{?with_gdbm:BuildRequires:    gdbm-devel}
+%{?with_krb5:BuildRequires:    krb5-devel}
 %{?with_memcache:BuildRequires:        libmemcache-devel}
 BuildRequires: libtool
 BuildRequires: libuuid-devel
@@ -159,7 +164,7 @@ Conflicts:  logrotate < 3.7-4
 Conflicts:     rpm < 4.4.2-0.2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _libdir         %{_prefix}/%{_lib}/%{name}
+%define                pkglibdir               %{_libdir}/%{name}
 %define                _lighttpddir    /home/services/%{name}
 %define                _sysconfdir     /etc/%{name}
 
@@ -233,6 +238,13 @@ Summary(pl.UTF-8): Moduł lighttpd do obsługi uwierzytelniania
 Group:         Networking/Daemons/HTTP
 URL:           http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModAuth
 Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-mod_authn_file = %{version}-%{release}
+# TODO: ldap and mysql should be optional
+# https://github.com/lighttpd/lighttpd1.4/blob/lighttpd-1.4.42/src/configfile.c#L426-L428
+Requires:      %{name}-mod_authn_ldap = %{version}-%{release}
+%if %{with mysql}
+Requires:      %{name}-mod_authn_mysql = %{version}-%{release}
+%endif
 Provides:      webserver(auth)
 
 %description mod_auth
@@ -243,6 +255,38 @@ basic and digest.
 lighttpd obsługuje obie metody uwierzytelniania opisane w RFC 2617:
 basic i digest.
 
+%package mod_authn_file
+Summary:       lighttpd authn_file module
+Group:         Networking/Daemons/HTTP
+Requires:      %{name} = %{version}-%{release}
+
+%description mod_authn_file
+lighttpd authn_file module.
+
+%package mod_authn_gssapi
+Summary:       lighttpd authn_gssapi module
+Group:         Networking/Daemons/HTTP
+Requires:      %{name} = %{version}-%{release}
+
+%description mod_authn_gssapi
+lighttpd authn_gssapi module.
+
+%package mod_authn_ldap
+Summary:       lighttpd authn_ldap module
+Group:         Networking/Daemons/HTTP
+Requires:      %{name} = %{version}-%{release}
+
+%description mod_authn_ldap
+lighttpd authn_ldap module.
+
+%package mod_authn_mysql
+Summary:       lighttpd authn_mysql module
+Group:         Networking/Daemons/HTTP
+Requires:      %{name} = %{version}-%{release}
+
+%description mod_authn_mysql
+lighttpd authn_mysql module.
+
 %package mod_cgi
 Summary:       lighttpd module for CGI handling
 Summary(pl.UTF-8):     Moduł lighttpd do obsługi CGI
@@ -448,6 +492,20 @@ lighttpd module for flv streaming.
 %description mod_flv_streaming -l pl.UTF-8
 Moduł lighttpd do streamingu flv.
 
+%package mod_geoip
+Summary:       lighttpd module for IP Based Geographic Lookups
+Group:         Networking/Daemons/HTTP
+URL:           https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModGeoip
+Requires:      %{name} = %{version}-%{release}
+
+%description mod_geoip
+mod_geoip is a module for fast ip/location lookups. It uses MaxMind
+GeoIP / GeoCity databases.
+
+If the ip was found in the database the module sets the appropriate
+environment variables to the request, thus making other modules/fcgi
+be informed.
+
 %package mod_h264_streaming
 Summary:       lighttpd module for h264 streaming
 Summary(pl.UTF-8):     Moduł lighttpd do emisji strumieni h264
@@ -701,6 +759,15 @@ Another anti hot-linking module.
 %description mod_trigger_b4_dl -l pl.UTF-8
 Jeszcze jeden moduł blokujący bezpośrednie linkowanie.
 
+%package mod_uploadprogress
+Summary:       lighttpd module for upload progress
+Group:         Networking/Daemons/HTTP
+URL:           https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModUploadProgress
+Requires:      %{name} = %{version}-%{release}
+
+%description mod_uploadprogress
+This module can be used to track the progress of a current upload.
+
 %package mod_userdir
 Summary:       lighttpd module for user homedirs
 Summary(pl.UTF-8):     Moduł lighttpd obsługujący katalogi domowe użytkowników
@@ -830,14 +897,12 @@ Plik monitrc do monitorowania serwera www lighttpd.
 
 %prep
 %setup -q
-#%patch100 -p0
+#%patch100 -p1
 %patch0 -p1
 %patch1 -p1
 %{?with_h264_streaming:%patch2 -p1}
 %patch3 -p1
-%{?with_deflate:%patch5 -p1}
 %patch6 -p1
-%patch7 -p1
 
 rm -f src/mod_ssi_exprparser.h # bad patching: should be removed by is emptied instead
 
@@ -845,11 +910,6 @@ rm -f src/mod_ssi_exprparser.h # bad patching: should be removed by is emptied i
 sh %{SOURCE6} /etc/mime.types
 cp -p %{SOURCE14} PLD-TODO
 
-%if "%{pld_release}" == "ac"
-%{__sed} -i -e 's/ serial_tests//' configure.ac
-%{__sed} -i -e 's/dist-xz/dist-bzip2/' configure.ac
-%endif
-
 %build
 ver=$(awk '/AC_INIT/{a=$2;gsub(/[\[\],]/, "", a); print a}' configure.ac)
 if [ "$ver" != "%{version}" ]; then
@@ -857,17 +917,20 @@ if [ "$ver" != "%{version}" ]; then
        exit 1
 fi
 
+%{__aclocal} -I scripts/m4
 %{__libtoolize}
 %{__autoheader}
-%{__aclocal}
 %{__autoconf}
 %{__automake}
 
 %configure \
+       --libdir=%{pkglibdir} \
        %{!?with_ipv6:--disable-ipv6} \
        %{!?with_largefile:--disable-lfs} \
        %{?with_valgrind:--with-valgrind} \
        %{?with_xattr:--with-attr} \
+       %{?with_krb5:--with-krb5} \
+       %{?with_geoip:--with-geoip} \
        %{?with_mysql:--with-mysql} \
        %{?with_ldap:--with-ldap} \
        %{?with_ssl:--with-openssl} \
@@ -904,7 +967,7 @@ cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc
 
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+rm -f $RPM_BUILD_ROOT%{pkglibdir}/*.la
 
 # Install lighttpd images
 cp -p %{SOURCE7} %{SOURCE8} %{SOURCE9} $RPM_BUILD_ROOT%{_lighttpddir}/html
@@ -932,6 +995,9 @@ cp -p %{SOURCE109} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_evasive.conf
 cp -p %{SOURCE110} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_evhost.conf
 cp -p %{SOURCE112} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_fastcgi.conf
 cp -p %{SOURCE113} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_flv_streaming.conf
+%if %{with geoip}
+cp -p %{SOURCE140} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_geoip.conf
+%endif
 %if %{with h264_streaming}
 cp -p %{SOURCE136} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_h264_streaming.conf
 %endif
@@ -945,11 +1011,16 @@ cp -p %{SOURCE122} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_simple_vhost.conf
 cp -p %{SOURCE123} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_ssi.conf
 cp -p %{SOURCE124} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_staticfile.conf
 cp -p %{SOURCE125} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_status.conf
+%if %{with mod_trigger_b4_dl}
 cp -p %{SOURCE126} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_trigger_b4_dl.conf
+%endif
+cp -p %{SOURCE139} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_uploadprogress.conf
 cp -p %{SOURCE127} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_userdir.conf
 cp -p %{SOURCE128} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_usertrack.conf
 cp -p %{SOURCE129} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_webdav.conf
+%if %{with mysql}
 cp -p %{SOURCE133} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_mysql_vhost.conf
+%endif
 
 cp -p %{SOURCE134} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/55_mod_magnet.conf
 cp -p %{SOURCE111} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/55_mod_expire.conf
@@ -968,15 +1039,6 @@ touch $RPM_BUILD_ROOT/var/lib/lighttpd/lighttpd.rrd
 install -d $RPM_BUILD_ROOT/etc/tmpwatch
 cp -p %{SOURCE138} $RPM_BUILD_ROOT/etc/tmpwatch/lighttpd-mod_compress.conf
 
-%if %{without mysql}
-# avoid packaging dummy module
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/mod_mysql_vhost.so
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/*_mod_mysql_vhost.conf
-%endif
-%if %{without deflate}
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/*_mod_deflate.conf
-%endif
-
 touch $RPM_BUILD_ROOT/var/log/%{name}/{access,error,breakage}.log
 
 %clean
@@ -1047,6 +1109,10 @@ fi
 %module_scripts mod_accesslog
 %module_scripts mod_alias
 %module_scripts mod_auth
+%module_scripts mod_authn_file
+%module_scripts mod_authn_mysql
+%module_scripts mod_authn_gssapi
+%module_scripts mod_authn_ldap
 %module_scripts mod_cgi
 %module_scripts mod_cml
 %module_scripts mod_compress
@@ -1058,6 +1124,7 @@ fi
 %module_scripts mod_extforward
 %module_scripts mod_fastcgi
 %module_scripts mod_flv_streaming
+%module_scripts mod_geoip
 %module_scripts mod_h264_streaming
 %module_scripts mod_indexfile
 %module_scripts mod_magnet
@@ -1085,6 +1152,7 @@ fi
 %module_scripts mod_staticfile
 %module_scripts mod_status
 %module_scripts mod_trigger_b4_dl
+%module_scripts mod_uploadprogress
 %module_scripts mod_userdir
 %module_scripts mod_usertrack
 %module_scripts mod_webdav
@@ -1120,8 +1188,9 @@ fi
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
 %attr(755,root,root) %{_sbindir}/lighttpd
 %attr(755,root,root) %{_sbindir}/lighttpd-angel
-%dir %{_libdir}
+%dir %{pkglibdir}
 %{_mandir}/man8/lighttpd.8*
+%{_mandir}/man8/lighttpd-angel.8*
 %dir %{_lighttpddir}
 %dir %{_lighttpddir}/cgi-bin
 %dir %{_lighttpddir}/html
@@ -1141,27 +1210,47 @@ fi
 %files mod_access
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_access.conf
-%attr(755,root,root) %{_libdir}/mod_access.so
+%attr(755,root,root) %{pkglibdir}/mod_access.so
 
 %files mod_accesslog
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_accesslog.conf
-%attr(755,root,root) %{_libdir}/mod_accesslog.so
+%attr(755,root,root) %{pkglibdir}/mod_accesslog.so
 
 %files mod_alias
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_alias.conf
-%attr(755,root,root) %{_libdir}/mod_alias.so
+%attr(755,root,root) %{pkglibdir}/mod_alias.so
 
 %files mod_auth
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_auth.conf
-%attr(755,root,root) %{_libdir}/mod_auth.so
+%attr(755,root,root) %{pkglibdir}/mod_auth.so
+
+%files mod_authn_file
+%defattr(644,root,root,755)
+%attr(755,root,root) %{pkglibdir}/mod_authn_file.so
+
+%if %{with krb5}
+%files mod_authn_gssapi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{pkglibdir}/mod_authn_gssapi.so
+%endif
+
+%files mod_authn_ldap
+%defattr(644,root,root,755)
+%attr(755,root,root) %{pkglibdir}/mod_authn_ldap.so
+
+%if %{with mysql}
+%files mod_authn_mysql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{pkglibdir}/mod_authn_mysql.so
+%endif
 
 %files mod_cgi
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_cgi.conf
-%attr(755,root,root) %{_libdir}/mod_cgi.so
+%attr(755,root,root) %{pkglibdir}/mod_cgi.so
 
 %files mod_cgi_php
 %defattr(644,root,root,755)
 %files mod_cml
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_cml.conf
-%attr(755,root,root) %{_libdir}/mod_cml.so
+%attr(755,root,root) %{pkglibdir}/mod_cml.so
 
 %files mod_compress
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/tmpwatch/lighttpd-mod_compress.conf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_compress.conf
-%attr(755,root,root) %{_libdir}/mod_compress.so
+%attr(755,root,root) %{pkglibdir}/mod_compress.so
 %dir %attr(775,root,lighttpd) /var/cache/lighttpd/mod_compress
 
-%if %{with deflate}
 %files mod_deflate
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_deflate.conf
-%attr(755,root,root) %{_libdir}/mod_deflate.so
-%endif
+%attr(755,root,root) %{pkglibdir}/mod_deflate.so
 
 %files mod_dirlisting
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_dirlisting.conf
-%attr(755,root,root) %{_libdir}/mod_dirlisting.so
+%attr(755,root,root) %{pkglibdir}/mod_dirlisting.so
 
 %files mod_evasive
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_evasive.conf
-%attr(755,root,root) %{_libdir}/mod_evasive.so
+%attr(755,root,root) %{pkglibdir}/mod_evasive.so
 
 %files mod_evhost
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_evhost.conf
-%attr(755,root,root) %{_libdir}/mod_evhost.so
+%attr(755,root,root) %{pkglibdir}/mod_evhost.so
 
 %files mod_expire
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_expire.conf
-%attr(755,root,root) %{_libdir}/mod_expire.so
+%attr(755,root,root) %{pkglibdir}/mod_expire.so
 
 %files mod_extforward
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_extforward.conf
-%attr(755,root,root) %{_libdir}/mod_extforward.so
+%attr(755,root,root) %{pkglibdir}/mod_extforward.so
 
 %files mod_fastcgi
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_fastcgi.conf
-%attr(755,root,root) %{_libdir}/mod_fastcgi.so
+%attr(755,root,root) %{pkglibdir}/mod_fastcgi.so
 
 %files mod_flv_streaming
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_flv_streaming.conf
-%attr(755,root,root) %{_libdir}/mod_flv_streaming.so
+%attr(755,root,root) %{pkglibdir}/mod_flv_streaming.so
+
+%if %{with geoip}
+%files mod_geoip
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_geoip.conf
+%attr(755,root,root) %{pkglibdir}/mod_geoip.so
+%endif
 
 %if %{with h264_streaming}
 %files mod_h264_streaming
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_h264_streaming.conf
-%attr(755,root,root) %{_libdir}/mod_h264_streaming.so
+%attr(755,root,root) %{pkglibdir}/mod_h264_streaming.so
 %endif
 
 %files mod_indexfile
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_indexfile.conf
-%attr(755,root,root) %{_libdir}/mod_indexfile.so
+%attr(755,root,root) %{pkglibdir}/mod_indexfile.so
 
 %files mod_magnet
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_magnet.conf
-%attr(755,root,root) %{_libdir}/mod_magnet.so
+%attr(755,root,root) %{pkglibdir}/mod_magnet.so
 
 %if %{with mysql}
 %files mod_mysql_vhost
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_mysql_vhost.conf
-%attr(755,root,root) %{_libdir}/mod_mysql_vhost.so
+%attr(755,root,root) %{pkglibdir}/mod_mysql_vhost.so
 %endif
 
 %files mod_proxy
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_proxy.conf
-%attr(755,root,root) %{_libdir}/mod_proxy.so
+%attr(755,root,root) %{pkglibdir}/mod_proxy.so
 
 %files mod_redirect
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_redirect.conf
-%attr(755,root,root) %{_libdir}/mod_redirect.so
+%attr(755,root,root) %{pkglibdir}/mod_redirect.so
 
 %files mod_rewrite
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_rewrite.conf
-%attr(755,root,root) %{_libdir}/mod_rewrite.so
+%attr(755,root,root) %{pkglibdir}/mod_rewrite.so
 
 %files mod_rrdtool
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_rrdtool.conf
-%attr(755,root,root) %{_libdir}/mod_rrdtool.so
+%attr(755,root,root) %{pkglibdir}/mod_rrdtool.so
 %attr(640,lighttpd,stats) %ghost /var/lib/lighttpd/lighttpd.rrd
 
 %files mod_scgi
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_scgi.conf
-%attr(755,root,root) %{_libdir}/mod_scgi.so
+%attr(755,root,root) %{pkglibdir}/mod_scgi.so
 
 %files mod_secdownload
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_secdownload.conf
-%attr(755,root,root) %{_libdir}/mod_secdownload.so
+%attr(755,root,root) %{pkglibdir}/mod_secdownload.so
 
 %files mod_setenv
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_setenv.conf
-%attr(755,root,root) %{_libdir}/mod_setenv.so
+%attr(755,root,root) %{pkglibdir}/mod_setenv.so
 
 %files mod_simple_vhost
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_simple_vhost.conf
-%attr(755,root,root) %{_libdir}/mod_simple_vhost.so
+%attr(755,root,root) %{pkglibdir}/mod_simple_vhost.so
 
 %files mod_ssi
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_ssi.conf
-%attr(755,root,root) %{_libdir}/mod_ssi.so
+%attr(755,root,root) %{pkglibdir}/mod_ssi.so
 
 %files mod_staticfile
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_staticfile.conf
-%attr(755,root,root) %{_libdir}/mod_staticfile.so
+%attr(755,root,root) %{pkglibdir}/mod_staticfile.so
 
 %files mod_status
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_status.conf
-%attr(755,root,root) %{_libdir}/mod_status.so
+%attr(755,root,root) %{pkglibdir}/mod_status.so
 
+%if %{with mod_trigger_b4_dl}
 %files mod_trigger_b4_dl
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_trigger_b4_dl.conf
-%attr(755,root,root) %{_libdir}/mod_trigger_b4_dl.so
+%attr(755,root,root) %{pkglibdir}/mod_trigger_b4_dl.so
+%endif
+
+%files mod_uploadprogress
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_uploadprogress.conf
+%attr(755,root,root) %{pkglibdir}/mod_uploadprogress.so
 
 %files mod_userdir
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_userdir.conf
-%attr(755,root,root) %{_libdir}/mod_userdir.so
+%attr(755,root,root) %{pkglibdir}/mod_userdir.so
 
 %files mod_usertrack
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_usertrack.conf
-%attr(755,root,root) %{_libdir}/mod_usertrack.so
+%attr(755,root,root) %{pkglibdir}/mod_usertrack.so
 
 %files mod_webdav
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_webdav.conf
-%attr(755,root,root) %{_libdir}/mod_webdav.so
+%attr(755,root,root) %{pkglibdir}/mod_webdav.so
 
 %files php-spawned
 %defattr(644,root,root,755)