Control: tags -1 + patch On Thu, Jan 03, 2019 at 12:04:33PM +0100, Helmut Grohne wrote: > Therefore my plan is: > > * Add lighttpd-mod-* Provides. > * Add lighttpd-modules-mysql. > * Add transitional dummy packages lighttpd-mod-authn-mysql > lighttpd-mod-mysql-vhost. > * Add lighttpd-modules-ldap. > * Add transitional dummy package lighttpd-mod-autn-ldap. > * Add real packages lighttpd-mod-vhostdb-dbi, > lighttpd-mod-vhostdb-pgsql, lighttpd-mod-authn-pam, > lighttpd-mod-authn-sasl. > * lighttpd Recommends all modules that it formerly included and puts up > a NEWS.Debian explaining the split.
I've implemented (but not uploaded this). I'm attaching two patches based on your patches. They build and mostly pass lintian, but I didn't test much else (piuparts, autopkgtest, actually running, etc.) yet. Reviews appreciated. I intend to upload during the weekend. Helmut
>From e53c24c891132cf9bb82db8b2a6df16c2657494f Mon Sep 17 00:00:00 2001 From: Helmut Grohne <helmut.gro...@intenta.de> Date: Thu, 3 Jan 2019 13:24:02 +0100 Subject: [PATCH 1/2] split mysql-modules-{mysql,ldap} Add provides for all lighttpd-mod-* and start relocating modules. Group mysql and ldap modules together to remove the libmariadb and libldap dependencies from the main lighttpd package. --- debian/changelog | 9 ++++ debian/control | 83 +++++++++++++++++++++++++++++---- debian/lighttpd-mod-authn-ldap.install | 1 - debian/lighttpd-mod-authn-mysql.install | 1 - debian/lighttpd-mod-mysql-vhost.install | 1 - debian/lighttpd-modules-ldap.install | 2 + debian/lighttpd-modules-mysql.install | 3 ++ debian/lighttpd.install | 2 - debian/rules | 13 ++++++ 9 files changed, 101 insertions(+), 14 deletions(-) delete mode 100644 debian/lighttpd-mod-authn-ldap.install delete mode 100644 debian/lighttpd-mod-authn-mysql.install delete mode 100644 debian/lighttpd-mod-mysql-vhost.install create mode 100644 debian/lighttpd-modules-ldap.install create mode 100644 debian/lighttpd-modules-mysql.install diff --git a/debian/changelog b/debian/changelog index 37ca06b..c369b5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +lighttpd (1.4.52-2+exp1) UNRELEASED; urgency=medium + + * QA Upload. + * Add lighttpd-mod-* Provides. + * Move mysql modules to new binary package lighttpd-modules-mysql. + * Move ldap modules to new binary package lighttpd-modules-ldap. + + -- Helmut Grohne <helmut.gro...@intenta.de> Thu, 03 Jan 2019 12:14:06 +0100 + lighttpd (1.4.52-2) unstable; urgency=medium * QA Upload. diff --git a/debian/control b/debian/control index 735384c..203e2a9 100644 --- a/debian/control +++ b/debian/control @@ -36,13 +36,16 @@ Package: lighttpd Architecture: any Provides: httpd, - httpd-cgi + httpd-cgi, + ${lighttpd:ModuleProvides}, Depends: ${misc:Depends}, ${shlibs:Depends}, mime-support, lsb-base (>= 3.0-6), Recommends: + lighttpd-modules-ldap, + lighttpd-modules-mysql, spawn-fcgi, perl:any, Suggests: @@ -78,17 +81,73 @@ Description: documentation for lighttpd . This package contains documentation for lighttpd. -Package: lighttpd-mod-mysql-vhost +Package: lighttpd-modules-ldap +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + lighttpd (= ${binary:Version}), +Breaks: + lighttpd (<< 1.4.52-2+exp1), + lighttpd-mod-authn-ldap (<< 1.4.52-2+exp1), +Replaces: + lighttpd (<< 1.4.52-2+exp1), + lighttpd-mod-authn-ldap (<< 1.4.52-2+exp1), +Provides: + ${lighttpd:ModuleProvides}, +Description: LDAP-based modules for lighttpd + This package contains the following modules: + * mod_authn_ldap: With this module, it is possible to perform + authentication against an LDAP server. + * mod_vhostdb_ldap: Database backend module for using LDAP as + a source for virtual host configuration using mod_vhostdb. + . + Do not depend on this package. Depend on the provided lighttpd-mod-* + packages instead. + +Package: lighttpd-modules-mysql Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, lighttpd (= ${binary:Version}), -Description: MySQL-based virtual host configuration for lighttpd +Breaks: + lighttpd (<< 1.4.52-2+exp1), + lighttpd-mod-mysql-vhost (<< 1.4.52-2+exp1), + lighttpd-mod-autn-mysql (<< 1.4.52-2+exp1), +Replaces: + lighttpd (<< 1.4.52-2+exp1), + lighttpd-mod-mysql-vhost (<< 1.4.52-2+exp1), + lighttpd-mod-autn-mysql (<< 1.4.52-2+exp1), +Provides: + ${lighttpd:ModuleProvides}, +Description: MySQL-based modules for lighttpd + This package contains the following modules: + * mod_autn_mysql: With this module, it is possible to perform + authentication using a MySQL table. + * mod_mysql_vhost: With this module, it is possible to write the + configuration for virtual hosts into a MySQL table instead of + including it in the lighttpd configuration file. Deprecated. + * mod_vhostdb_mysql: Database backend module for using MySQL as + a source for virtual host configuration using mod_vhostdb. + . + Do not depend on this package. Depend on the provided lighttpd-mod-* + packages instead. + +Package: lighttpd-mod-mysql-vhost +Section: oldlibs +Architecture: any +Depends: + ${misc:Depends}, + lighttpd-modules-mysql (= ${binary:Version}), +Description: Transitional dummy package for MySQL-based virtual host configuration for lighttpd This package contains the myqsl_vhost module for lighttpd. With this module, it is possible to write the configuration for virtual hosts into a MySQL table instead of including it in the lighttpd configuration file. + . + While this transitional dummy package will go away, the package name + continues to exist as a virtual package provided by lighttpd-modules-mysql. Package: lighttpd-mod-trigger-b4-dl Architecture: any @@ -162,26 +221,32 @@ Description: GSSAPI authentication for lighttpd this module, it is possible to perform GSSAPI authentication. Package: lighttpd-mod-authn-ldap +Section: oldlibs Architecture: any Depends: ${misc:Depends}, - ${shlibs:Depends}, - lighttpd (= ${binary:Version}), -Description: LDAP authentication for lighttpd + lighttpd-modules-ldap (= ${binary:Version}), +Description: Transitional dummy package for LDAP authentication for lighttpd This package contains the authn_ldap module for lighttpd. With this module, it is possible to perform authentication against an LDAP server. + . + While this transitional dummy package will go away, the package name + continues to exist as a virtual package provided by lighttpd-modules-ldap. Package: lighttpd-mod-authn-mysql +Section: oldlibs Architecture: any Depends: ${misc:Depends}, - ${shlibs:Depends}, - lighttpd (= ${binary:Version}), -Description: MySQL authentication for lighttpd + lighttpd-modules-mysql (= ${binary:Version}), +Description: Transitional dummy package for MySQL authentication for lighttpd This package contains the authn_mysql module for lighttpd. With this module, it is possible to perform authentication using a MySQL table. + . + While this transitional dummy package will go away, the package name + continues to exist as a virtual package provided by lighttpd-modules-mysql. Package: lighttpd-mod-geoip Architecture: any diff --git a/debian/lighttpd-mod-authn-ldap.install b/debian/lighttpd-mod-authn-ldap.install deleted file mode 100644 index 37e10a1..0000000 --- a/debian/lighttpd-mod-authn-ldap.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/usr/lib/lighttpd/mod_authn_ldap.so diff --git a/debian/lighttpd-mod-authn-mysql.install b/debian/lighttpd-mod-authn-mysql.install deleted file mode 100644 index da0cea7..0000000 --- a/debian/lighttpd-mod-authn-mysql.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/usr/lib/lighttpd/mod_authn_mysql.so diff --git a/debian/lighttpd-mod-mysql-vhost.install b/debian/lighttpd-mod-mysql-vhost.install deleted file mode 100644 index f25bddd..0000000 --- a/debian/lighttpd-mod-mysql-vhost.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/usr/lib/lighttpd/mod_mysql_vhost.so diff --git a/debian/lighttpd-modules-ldap.install b/debian/lighttpd-modules-ldap.install new file mode 100644 index 0000000..4ede34a --- /dev/null +++ b/debian/lighttpd-modules-ldap.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/lighttpd/mod_authn_ldap.so +debian/tmp/usr/lib/lighttpd/mod_vhostdb_ldap.so diff --git a/debian/lighttpd-modules-mysql.install b/debian/lighttpd-modules-mysql.install new file mode 100644 index 0000000..864b0a2 --- /dev/null +++ b/debian/lighttpd-modules-mysql.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/lighttpd/mod_authn_mysql.so +debian/tmp/usr/lib/lighttpd/mod_mysql_vhost.so +debian/tmp/usr/lib/lighttpd/mod_vhostdb_mysql.so diff --git a/debian/lighttpd.install b/debian/lighttpd.install index 8288553..7f369d8 100644 --- a/debian/lighttpd.install +++ b/debian/lighttpd.install @@ -32,8 +32,6 @@ debian/tmp/usr/lib/lighttpd/mod_status.so debian/tmp/usr/lib/lighttpd/mod_uploadprogress.so debian/tmp/usr/lib/lighttpd/mod_userdir.so debian/tmp/usr/lib/lighttpd/mod_usertrack.so -debian/tmp/usr/lib/lighttpd/mod_vhostdb_mysql.so -debian/tmp/usr/lib/lighttpd/mod_vhostdb_ldap.so debian/tmp/usr/lib/lighttpd/mod_vhostdb.so debian/tmp/usr/lib/lighttpd/mod_wstunnel.so debian/lighttpd.conf /etc/lighttpd diff --git a/debian/rules b/debian/rules index f0609eb..27e62ae 100755 --- a/debian/rules +++ b/debian/rules @@ -40,6 +40,11 @@ override_dh_install: dh_install dh_missing --fail-missing +DOCLESS_PACKAGES=lighttpd-modules-ldap lighttpd-modules-mysql +override_dh_installdocs: + dh_installdocs $(foreach p,$(DOCLESS_PACKAGES),-p$(p)) --link-doc=lighttpd + dh_installdocs $(foreach p,$(DOCLESS_PACKAGES),-N$(p)) + override_dh_fixperms: dh_fixperms test -d debian/lighttpd && \ @@ -51,3 +56,11 @@ override_dh_fixperms: override_dh_installinit: dh_installinit --error-handler=start_failed + +override_dh_gencontrol: + set -e; for p in `dh_listpackages`; do \ + test -d debian/$$p/usr/lib/lighttpd || continue; \ + m=`ls debian/$$p/usr/lib/lighttpd | sed 'y/_/-/;s/^mod-\(.*\)\.so$$/lighttpd-mod-\1,/;t;d' | xargs`; \ + echo "lighttpd:ModuleProvides=$$m" >> debian/$$p.substvars; \ + done + dh_gencontrol -- 2.11.0
>From fc4d0194728cf7e0f046aeb9a633bb9d9136ed28 Mon Sep 17 00:00:00 2001 From: Helmut Grohne <helmut.gro...@intenta.de> Date: Thu, 3 Jan 2019 14:16:09 +0100 Subject: [PATCH 2/2] enable 4 new modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on patches from Stefan Bühler and Glenn Strauss, add the following modules as new packages: * mod_authn_pam * mod_auth_sasl * mod_vhostdb_dbi * mod_vhostdb_pgsql --- debian/changelog | 4 +++ debian/control | 46 +++++++++++++++++++++++++++++++ debian/lighttpd-mod-authn-pam.install | 1 + debian/lighttpd-mod-authn-sasl.install | 1 + debian/lighttpd-mod-vhostdb-dbi.install | 1 + debian/lighttpd-mod-vhostdb-pgsql.install | 1 + debian/rules | 13 ++++++++- 7 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 debian/lighttpd-mod-authn-pam.install create mode 100644 debian/lighttpd-mod-authn-sasl.install create mode 100644 debian/lighttpd-mod-vhostdb-dbi.install create mode 100644 debian/lighttpd-mod-vhostdb-pgsql.install diff --git a/debian/changelog b/debian/changelog index c369b5b..2e26b2a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,10 @@ lighttpd (1.4.52-2+exp1) UNRELEASED; urgency=medium * Move mysql modules to new binary package lighttpd-modules-mysql. * Move ldap modules to new binary package lighttpd-modules-ldap. + [ Stefan Bühler and Glenn Strauss ] + * Add modules mod_authn_pam, mod_authn_sasl, mod_vhostdb_dbi and + mod_vhostdb_pgsql to new binary packages. + -- Helmut Grohne <helmut.gro...@intenta.de> Thu, 03 Jan 2019 12:14:06 +0100 lighttpd (1.4.52-2) unstable; urgency=medium diff --git a/debian/control b/debian/control index 203e2a9..9ec5b4d 100644 --- a/debian/control +++ b/debian/control @@ -14,6 +14,7 @@ Build-Depends: libattr1-dev, libpcre3-dev, default-libmysqlclient-dev, + libdbi-dev, libfam-dev, libldap2-dev, libfcgi-dev, @@ -26,6 +27,9 @@ Build-Depends: libsqlite3-dev, libxml2-dev, libkrb5-dev, + libpam0g-dev, + libpq-dev, + libsasl2-dev, perl:native, Vcs-Git: https://salsa.debian.org/debian/lighttpd.git Vcs-Browser: https://salsa.debian.org/debian/lighttpd @@ -248,6 +252,26 @@ Description: Transitional dummy package for MySQL authentication for lighttpd While this transitional dummy package will go away, the package name continues to exist as a virtual package provided by lighttpd-modules-mysql. +Package: lighttpd-mod-authn-pam +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + lighttpd (= ${binary:Version}), +Description: PAM authentication for lighttpd + This package contains the authn_pam module for lighttpd. With this module, it + is possible to perform authentication using PAM. + +Package: lighttpd-mod-authn-sasl +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + lighttpd (= ${binary:Version}), +Description: SASL authentication for lighttpd + This package contains the authn_sasl module for lighttpd. With this module, it + is possible to perform authentication using SASL. + Package: lighttpd-mod-geoip Architecture: any Depends: @@ -258,3 +282,25 @@ Description: GeoIP restrictions for lighttpd This package contains the geoip module for lighttpd. With this module, it is possible to distinguish users based on the location using a GeoIP database. + +Package: lighttpd-mod-vhostdb-dbi +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + lighttpd (= ${binary:Version}), +Description: DBI-based virtual host configuration for lighttpd + This package contains the vhostdb_dbi module for lighttpd. With this module, + it is possible to write the configuration for virtual hosts into a database + table instead of including it in the lighttpd configuration file. + +Package: lighttpd-mod-vhostdb-pgsql +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + lighttpd (= ${binary:Version}), +Description: PostgreSQL-based virtual host configuration for lighttpd + This package contains the vhostdb_pgsql module for lighttpd. With this module, + it is possible to write the configuration for virtual hosts into a PostgreSQL + table instead of including it in the lighttpd configuration file. diff --git a/debian/lighttpd-mod-authn-pam.install b/debian/lighttpd-mod-authn-pam.install new file mode 100644 index 0000000..dc9eaf1 --- /dev/null +++ b/debian/lighttpd-mod-authn-pam.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/lighttpd/mod_authn_pam.so diff --git a/debian/lighttpd-mod-authn-sasl.install b/debian/lighttpd-mod-authn-sasl.install new file mode 100644 index 0000000..98cde01 --- /dev/null +++ b/debian/lighttpd-mod-authn-sasl.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/lighttpd/mod_authn_sasl.so diff --git a/debian/lighttpd-mod-vhostdb-dbi.install b/debian/lighttpd-mod-vhostdb-dbi.install new file mode 100644 index 0000000..d327a03 --- /dev/null +++ b/debian/lighttpd-mod-vhostdb-dbi.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/lighttpd/mod_vhostdb_dbi.so diff --git a/debian/lighttpd-mod-vhostdb-pgsql.install b/debian/lighttpd-mod-vhostdb-pgsql.install new file mode 100644 index 0000000..419f9e1 --- /dev/null +++ b/debian/lighttpd-mod-vhostdb-pgsql.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/lighttpd/mod_vhostdb_pgsql.so diff --git a/debian/rules b/debian/rules index 27e62ae..c522fec 100755 --- a/debian/rules +++ b/debian/rules @@ -19,6 +19,7 @@ override_dh_auto_configure: --libdir=/usr/lib/lighttpd \ --libexecdir="/usr/lib/lighttpd" \ --with-attr \ + --with-dbi \ --with-fam \ --with-gdbm \ --with-krb5 \ @@ -28,7 +29,10 @@ override_dh_auto_configure: --with-lua=lua5.1 \ --with-mysql \ --with-openssl \ + --with-pam \ --with-pcre \ + --with-pgsql \ + --with-sasl \ --with-webdav-locks \ --with-webdav-props \ CFLAGS_FOR_BUILD="$(shell dpkg-buildflags --get CFLAGS)" \ @@ -40,7 +44,14 @@ override_dh_install: dh_install dh_missing --fail-missing -DOCLESS_PACKAGES=lighttpd-modules-ldap lighttpd-modules-mysql +DOCLESS_PACKAGES=\ + lighttpd-modules-ldap \ + lighttpd-modules-mysql \ + lighttpd-mod-authn-pam \ + lighttpd-mod-authn-sasl \ + lighttpd-mod-vhostdb-dbi \ + lighttpd-mod-vhostdb-pgsql \ + override_dh_installdocs: dh_installdocs $(foreach p,$(DOCLESS_PACKAGES),-p$(p)) --link-doc=lighttpd dh_installdocs $(foreach p,$(DOCLESS_PACKAGES),-N$(p)) -- 2.11.0