Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-11-09 Thread Scott Kitterman
On Wed, 9 Nov 2016 17:54:52 +0100 Guilhem Moulin  wrote:
> On Wed, 09 Nov 2016 at 11:42:29 -0500, Scott Kitterman wrote:
> > We do want to make this a separate binary, so it's a bit more
> > complicated than the patch in the bug.
> 
> Thomas Leuxner's patch from #815659 msg. #45 adds a new binary package
> postfix-lmdb including the relevant .so, in the fashion of postfix-cdb,
> postfix-mysql, etc.  If that's not what you mean by “a separate binary”,
> please explain and I'll be happy to give a hand on that.

No.  That looks like it covers it.  I must have missed that when it came in.  
Thanks for pointing it out.

Scott K



Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-11-09 Thread Guilhem Moulin
On Wed, 09 Nov 2016 at 11:42:29 -0500, Scott Kitterman wrote:
> We do want to make this a separate binary, so it's a bit more
> complicated than the patch in the bug.

Thomas Leuxner's patch from #815659 msg. #45 adds a new binary package
postfix-lmdb including the relevant .so, in the fashion of postfix-cdb,
postfix-mysql, etc.  If that's not what you mean by “a separate binary”,
please explain and I'll be happy to give a hand on that.

-- 
Guilhem.


signature.asc
Description: PGP signature


Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-11-09 Thread Scott Kitterman
On Wednesday, November 09, 2016 04:47:10 PM Guilhem Moulin wrote:
> Control: severity -1 wishlist
> Control: merge-1 739407
> 
> On Sun, 03 Jul 2016 at 23:41:30 +0200, Guilhem Moulin wrote:
> > On Mon, 04 Apr 2016 at 14:47:43 +0200, Thomas Leuxner wrote:
> >> Complete debdiff against 3.1.0-1 attached. Please consider importing.
> > 
> > I'd like to second this; I'm also able to create and query LMDB maps
> > after applying the patch.  Just one remark though: although harmless,
> > the conditional ‘delmap’ in the postinst script doesn't seem useful
> > since Postfix < 2.3.3-3 isn't compiled with LMDB support.
> 
> Anything blocking on this?  It would be great to have LMDB support in
> Stretch :-)

Just a lack of time.

We do want to make this a separate binary, so it's a bit more complicated than 
the patch in the bug.  If someone could provide a patch for that, it would 
surely help.

Scott K

signature.asc
Description: This is a digitally signed message part.


Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-11-09 Thread Guilhem Moulin
Control: severity -1 wishlist
Control: merge-1 739407

On Sun, 03 Jul 2016 at 23:41:30 +0200, Guilhem Moulin wrote:
> On Mon, 04 Apr 2016 at 14:47:43 +0200, Thomas Leuxner wrote:
>> Complete debdiff against 3.1.0-1 attached. Please consider importing.
> 
> I'd like to second this; I'm also able to create and query LMDB maps
> after applying the patch.  Just one remark though: although harmless,
> the conditional ‘delmap’ in the postinst script doesn't seem useful
> since Postfix < 2.3.3-3 isn't compiled with LMDB support.

Anything blocking on this?  It would be great to have LMDB support in
Stretch :-)

Thanks for maintaining Postfix in Debian!
Cheers,
-- 
Guilhem.


signature.asc
Description: PGP signature


Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-07-03 Thread Guilhem Moulin
On Mon, 04 Apr 2016 at 14:47:43 +0200, Thomas Leuxner wrote:
> Complete debdiff against 3.1.0-1 attached. Please consider importing.

I'd like to second this; I'm also able to create and query LMDB maps
after applying the patch.  Just one remark though: although harmless,
the conditional ‘delmap’ in the postinst script doesn't seem useful
since Postfix < 2.3.3-3 isn't compiled with LMDB support.

Furthermore, the debian/postfix-lmdb.* are identical to their -cdb
counterparts, thus postfix-lmdb and postfix-cdb have the same lintian
warnings.  In particular, the prerm scripts other than the one for -doc
trigger ‘maintainer-script-empty’ (they only seem to contain comments
and boilerplate code), hence should probably be removed.  IMHO this
doesn't belong to this patch though.

-- 
Guilhem.


signature.asc
Description: PGP signature


Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-04-04 Thread Thomas Leuxner
Complete debdiff against 3.1.0-1 attached. Please consider importing.
diff -Nru postfix-3.1.0/debian/changelog postfix-3.1.0/debian/changelog
--- postfix-3.1.0/debian/changelog  2016-04-03 21:54:24.0 +0200
+++ postfix-3.1.0/debian/changelog  2016-04-04 14:21:33.0 +0200
@@ -1,3 +1,10 @@
+postfix (3.1.0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add LMDB support (package) 
+
+ -- Thomas Leuxner   Mon, 04 Apr 2016 14:20:48 +0200
+
 postfix (3.1.0-1) unstable; urgency=medium
 
   [LaMont Jones]
diff -Nru postfix-3.1.0/debian/control postfix-3.1.0/debian/control
--- postfix-3.1.0/debian/control2016-04-03 21:54:24.0 +0200
+++ postfix-3.1.0/debian/control2016-04-04 14:21:45.0 +0200
@@ -4,7 +4,7 @@
 Maintainer: LaMont Jones 
 Standards-Version: 3.9.1.0
 Homepage: http://www.postfix.org
-Build-Depends: debhelper (>= 7), po-debconf (>= 0.5.0), groff-base, patch, 
lsb-release, libdb-dev (>=4.6.19), libldap2-dev (>=2.1), libpcre3-dev, 
libmysqlclient-dev, libssl-dev (>=0.9.7), libsasl2-dev, libpq-dev, libcdb-dev, 
dpkg-dev (>= 1.16.1~), libsqlite3-dev, html2text, libicu-dev
+Build-Depends: debhelper (>= 7), po-debconf (>= 0.5.0), groff-base, patch, 
lsb-release, libdb-dev (>=4.6.19), libldap2-dev (>=2.1), liblmdb-dev, 
libpcre3-dev, libmysqlclient-dev, libssl-dev (>=0.9.7), libsasl2-dev, 
libpq-dev, libcdb-dev, dpkg-dev (>= 1.16.1~), libsqlite3-dev, html2text, 
libicu-dev
 Vcs-Browser: https://git.launchpad.net/postfix
 Vcs-Git: git://git.launchpad.net/postfix
 Uploaders: Scott Kitterman 
@@ -30,6 +30,15 @@
  This provides support for LDAP maps in Postfix. If you plan to use LDAP maps
  with Postfix, you need this.
 
+Package: postfix-lmdb
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version}), 
liblmdb0 (>=0.9.14)
+Description: LMDB map support for Postfix
+ ${Description}
+ .
+ This provides support for LMDB maps in Postfix. If you plan to use LMDB maps
+ with Postfix, you need this.
+
 Package: postfix-cdb
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version})
diff -Nru postfix-3.1.0/debian/postfix-lmdb.README.debian 
postfix-3.1.0/debian/postfix-lmdb.README.debian
--- postfix-3.1.0/debian/postfix-lmdb.README.debian 1970-01-01 
01:00:00.0 +0100
+++ postfix-3.1.0/debian/postfix-lmdb.README.debian 2016-04-04 
14:22:03.0 +0200
@@ -0,0 +1,2 @@
+The postfix-doc package contains documentation on how to configure this
+map type.  See /usr/share/doc/postfix/html/LMDB_README.html
diff -Nru postfix-3.1.0/debian/postfix-lmdb.copyright 
postfix-3.1.0/debian/postfix-lmdb.copyright
--- postfix-3.1.0/debian/postfix-lmdb.copyright 1970-01-01 01:00:00.0 
+0100
+++ postfix-3.1.0/debian/postfix-lmdb.copyright 2016-04-04 14:22:03.0 
+0200
@@ -0,0 +1,318 @@
+This is the Debian GNU/Linux prepackaged version of Postfix, a mail transport
+agent.
+
+Postfix was created by Wietse Venema ; the Debian
+package has been assembled by LaMont Jones  from sources
+available from http://www.postfix.org, and can be cloned from git via:
+   git clone git://git.debian.org/~lamont/postfix.git
+
+
+Copyright (c) 1999, International Business Machines Corporation
+and others. All Rights Reserved.
+
+The following copyright and license applies to this software:
+
+IBM PUBLIC LICENSE VERSION 1.0 - SECURE MAILER
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC
+LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
+PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1.  DEFINITIONS
+
+"Contribution" means:
+   a) in the case of International Business Machines Corporation ("IBM"),
+  the Original Program, and
+   b) in the case of each Contributor,
+  i)  changes to the Program, and
+  ii) additions to the Program;
+  where such changes and/or additions to the Program originate
+  from and are distributed by that particular Contributor.
+  A Contribution 'originates' from a Contributor if it was added
+  to the Program by such Contributor itself or anyone acting on
+  such Contributor's behalf.
+   Contributions do not include additions to the Program which:
+  (i)  are separate modules of software distributed in conjunction
+   with the Program under their own license agreement, and
+  (ii) are not derivative works of the Program.
+
+"Contributor" means IBM and any other entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which
+are necessarily infringed by the use or sale of its Contribution alone
+or when combined with the Program.
+
+"Original Program" means the original 

Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-03-27 Thread Thomas Leuxner
Fixed small typo in postfix-lmdb.postinst, which did not include the correct 
mkmap func in dynamicmaps.cf: 

#! /bin/sh
# postinst script for #PACKAGE#
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#*  `configure' 
#*  `abort-upgrade' 
#*  `abort-remove' `in-favour' 
#  
#*  `abort-deconfigure' `in-favour'
#`removing'
#   
# for details, see /usr/share/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.

. /usr/share/postfix/postinst.functions

case "$1" in
configure)
version="$2"
# deal with the old version's brain damage
if [ "X$version" != X ] && \
   dpkg --compare-versions $version lt 2.3.3-3; then
delmap lmdb
fi
addmap lmdb mkmap_lmdb_open
;;

abort-upgrade|abort-remove|abort-deconfigure)

;;

*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

# Automatically added by dh_makeshlibs
if [ "$1" = "configure" ]; then
ldconfig
fi
# End automatically added section


exit 0



signature.asc
Description: Digital signature


Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-24 Thread Thomas Leuxner
Missed one build dependency:

--- debian/control  2016-02-24 02:46:28.0 +0100
+++ /tmp/control2016-02-24 21:36:00.065629540 +0100
@@ -4,7 +4,7 @@
 Maintainer: LaMont Jones 
 Standards-Version: 3.9.1.0
 Homepage: http://www.postfix.org
-Build-Depends: debhelper (>= 7), po-debconf (>= 0.5.0), groff-base, patch, 
lsb-release, libdb-dev (>=4.6.19), libldap2-dev (>=2.1), libpcre3-dev, 
libmysqlclient-dev, libssl-dev (>=0.9.7), libsasl2-dev, libpq-dev, libcdb-dev, 
dpkg-dev (>= 1.16.1~), libsqlite3-dev, html2text
+Build-Depends: debhelper (>= 7), po-debconf (>= 0.5.0), groff-base, patch, 
lsb-release, libdb-dev (>=4.6.19), libldap2-dev (>=2.1), liblmdb-dev, 
libpcre3-dev, libmysqlclient-dev, libssl-dev (>=0.9.7), libsasl2-dev, 
libpq-dev, libcdb-dev, dpkg-dev (>= 1.16.1~), libsqlite3-dev, html2text
 Vcs-Browser: https://git.launchpad.net/postfix
 Vcs-Git: git://git.launchpad.net/postfix
 Uploaders: Scott Kitterman 
@@ -30,6 +30,15 @@
  This provides support for LDAP maps in Postfix. If you plan to use LDAP maps
  with Postfix, you need this.
 
+Package: postfix-lmdb
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version}), 
liblmdb0 (>=0.9.14)
+Description: LMDB map support for Postfix
+ ${Description}
+ .
+ This provides support for LMDB maps in Postfix. If you plan to use LMDB maps
+ with Postfix, you need this.
+
 Package: postfix-cdb
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version})


Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-24 Thread Thomas Leuxner
> In that case, we'll want to put this into a separate binary package.  This is 
> on our radar to do, but if you can put together a complete patch, that will 
> get it done that much sooner.

Tested patch (builds fine):

-- debian/rules2016-02-24 02:46:28.0 +0100
+++ /tmp/rules  2016-02-24 20:55:34.658229654 +0100
@@ -52,6 +52,7 @@
-DHAS_SQLITE -DMYORIGIN_FROM_FILE \
$(shell getconf LFS_CFLAGS) \
-DHAS_CDB \
+   -DHAS_LMDB \
-DHAS_MYSQL -I/usr/include/mysql \
-DHAS_PGSQL -I`pg_config --includedir` \
-DHAS_SQLITE -I/usr/include \
@@ -74,6 +75,7 @@
AUXLIBS="${AUXLIBS} -L$$(pwd)/debian" OPT="$(OFLAGS)" \
AUXLIBS_CDB="-lcdb -L../../lib -L. -lpostfix-util" \
AUXLIBS_LDAP="-lldap -llber -L../../lib -L. -lpostfix-util 
-lpostfix-global" \
+   AUXLIBS_LMDB="-llmdb -L../../lib -L. -lpostfix-util" \
AUXLIBS_MYSQL="-lmysqlclient -L../../lib -L. -lpostfix-util 
-lpostfix-global" \
AUXLIBS_PCRE="-lpcre -L../../lib -L. -lpostfix-util" \
AUXLIBS_PGSQL="-lpq -L../../lib -L. -lpostfix-util 
-lpostfix-global" \
@@ -120,6 +122,7 @@
for i in $(libdir)/lib*.1.0.1; do ln -sf $${i##*/} $${i%.*.*}; done
install lib/postfix-cdb.so.1.0.1 ${base}-cdb/${plibdir}
install lib/postfix-ldap.so.1.0.1 ${base}-ldap/${plibdir}
+   install lib/postfix-lmdb.so.1.0.1 $(base)-lmdb/${plibdir}
install lib/postfix-mysql.so.1.0.1 ${base}-mysql/${plibdir}
install lib/postfix-pcre.so.1.0.1 ${base}-pcre/${plibdir}
install lib/postfix-pgsql.so.1.0.1 ${base}-pgsql/${plibdir}
@@ -167,6 +170,7 @@
install debian/update-libc.d 
${base}/etc/resolvconf/update-libc.d/postfix
install debian/postfix-cdb.lintian-override 
${base}-cdb/usr/share/lintian/overrides/${package}-cdb
install debian/postfix-ldap.lintian-override 
${base}-ldap/usr/share/lintian/overrides/${package}-ldap
+   install debian/postfix-lmdb.lintian-override 
${base}-lmdb/usr/share/lintian/overrides/${package}-lmdb
install debian/postfix.lintian-override 
${base}/usr/share/lintian/overrides/${package}
install debian/postfix-mysql.lintian-override 
${base}-mysql/usr/share/lintian/overrides/${package}-mysql
install debian/postfix-pcre.lintian-override 
${base}-pcre/usr/share/lintian/overrides/${package}-pcre

--- debian/control  2016-02-24 02:46:28.0 +0100
+++ /tmp/control2016-02-24 20:55:50.082150028 +0100
@@ -30,6 +30,15 @@
  This provides support for LDAP maps in Postfix. If you plan to use LDAP maps
  with Postfix, you need this.
 
+Package: postfix-lmdb
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version}), 
liblmdb0 (>=0.9.14)
+Description: LMDB map support for Postfix
+ ${Description}
+ .
+ This provides support for LMDB maps in Postfix. If you plan to use LMDB maps
+ with Postfix, you need this.
+
 Package: postfix-cdb
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version})

$ cat postfix-lmdb.README.debian 
The postfix-doc package contains documentation on how to configure this
map type.  See /usr/share/doc/postfix/html/LMDB_README.html

$ cat postfix-lmdb.dirs 
usr/lib/postfix
usr/share/lintian/overrides

$ cat postfix-lmdb.files 
usr/lib/postfix/postfix-lmdb.so.1.0.1

$ cat postfix-lmdb.lintian-override 
postfix-lmdb: postinst-has-useless-call-to-ldconfig
postfix-lmdb: postrm-has-useless-call-to-ldconfig

$ cat postfix-lmdb.postinst 
#! /bin/sh
# postinst script for #PACKAGE#
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#*  `configure' 
#*  `abort-upgrade' 
#*  `abort-remove' `in-favour' 
#  
#*  `abort-deconfigure' `in-favour'
#`removing'
#   
# for details, see /usr/share/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.

. /usr/share/postfix/postinst.functions

case "$1" in
configure)
version="$2"
# deal with the old version's brain damage
if [ "X$version" != X ] && \
   dpkg --compare-versions $version lt 2.3.3-3; then
delmap lmdb
fi
addmap lmdb dict_lmdb_open
;;

abort-upgrade|abort-remove|abort-deconfigure)

;;

*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0

$ cat postfix-lmdb.prerm 
#! 

Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-24 Thread Scott Kitterman
On Wednesday, February 24, 2016 02:13:07 PM Thomas Leuxner wrote:
> * Scott Kitterman  2016.02.24 14:06:
> 
> $ dpkg -l liblmdb-dev liblmdb0
> Desired=Unknown/Install/Remove/Purge/Hold
> 
> | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pe
> | nd|
> |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
> |
> ||/ Name  Version   
> || ArchitectureDescription
> +++-=-==
> =-===-==
> == ii  liblmdb-dev:amd64
> 0.9.14-1amd64  
> Lightning Memory-Mapped Database development files ii  liblmdb0:amd64  
>  0.9.14-1amd64 
>  Lightning Memory-Mapped Database shared library
> 
> For the compiled only liblmdb0.

In that case, we'll want to put this into a separate binary package.  This is 
on our radar to do, but if you can put together a complete patch, that will 
get it done that much sooner.

Thanks,

Scott K

P.S.  No need to reply to me directly, as a co-maintainer, I'm subscribed to 
Debian's postfix bugs.



Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-24 Thread Thomas Leuxner
* Scott Kitterman  2016.02.24 14:06:

$ dpkg -l liblmdb-dev liblmdb0
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name  Version 
ArchitectureDescription
+++-=-===-===-
ii  liblmdb-dev:amd64 0.9.14-1
amd64   Lightning Memory-Mapped Database development files
ii  liblmdb0:amd640.9.14-1
amd64   Lightning Memory-Mapped Database shared library

For the compiled only liblmdb0.

Regards
Thomas



Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-24 Thread Scott Kitterman
On Wednesday, February 24, 2016 01:19:38 PM you wrote:
> * Thomas Leuxner  2016.02.23 14:14:
> 
> --- debian/rules2016-02-24 02:46:28.0 +0100
> +++ /tmp/rules  2016-02-24 13:09:55.571226725 +0100
> @@ -52,6 +52,7 @@
> -DHAS_SQLITE -DMYORIGIN_FROM_FILE \
> $(shell getconf LFS_CFLAGS) \
> -DHAS_CDB \
> +   -DHAS_LMDB \
> -DHAS_MYSQL -I/usr/include/mysql \
> -DHAS_PGSQL -I`pg_config --includedir` \
> -DHAS_SQLITE -I/usr/include \
> @@ -73,6 +74,7 @@
> ${MAKE} makefiles CCARGS="${CCARGS}" DEBUG="${DEBUG}" \
> AUXLIBS="${AUXLIBS} -L$$(pwd)/debian" OPT="$(OFLAGS)" \
> AUXLIBS_CDB="-lcdb -L../../lib -L. -lpostfix-util" \
> +   AUXLIBS_LMDB="-llmdb -L../../lib -L. -lpostfix-util" \
> AUXLIBS_LDAP="-lldap -llber -L../../lib -L. -lpostfix-util
> -lpostfix-global" \ AUXLIBS_MYSQL="-lmysqlclient -L../../lib -L.
> -lpostfix-util -lpostfix-global" \ AUXLIBS_PCRE="-lpcre -L../../lib -L.
> -lpostfix-util" \ @@ -124,6 +126,7 @@
> install lib/postfix-pcre.so.1.0.1 ${base}-pcre/${plibdir}
> install lib/postfix-pgsql.so.1.0.1 ${base}-pgsql/${plibdir}
> install lib/postfix-sqlite.so.1.0.1 ${base}/${plibdir}
> +   install lib/postfix-lmdb.so.1.0.1 $(base)/${plibdir}
> install libexec/[a-z]* ${base}/${plibdir}/sbin
> install bin/[a-z]* ${base}/${sbindir}
> install debian/postfix-add-filter ${base}/${sbindir}
> 
> It misses some magic to be performed on dynamicmaps.cf which I fixed
> manually. Also LMDB is included in the base package this way. Please
> consider including LMDB support going forward.

What additional dependencies does it require?

Scott K



Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-24 Thread Thomas Leuxner
* Thomas Leuxner  2016.02.23 14:14:

--- debian/rules2016-02-24 02:46:28.0 +0100
+++ /tmp/rules  2016-02-24 13:09:55.571226725 +0100
@@ -52,6 +52,7 @@
-DHAS_SQLITE -DMYORIGIN_FROM_FILE \
$(shell getconf LFS_CFLAGS) \
-DHAS_CDB \
+   -DHAS_LMDB \
-DHAS_MYSQL -I/usr/include/mysql \
-DHAS_PGSQL -I`pg_config --includedir` \
-DHAS_SQLITE -I/usr/include \
@@ -73,6 +74,7 @@
${MAKE} makefiles CCARGS="${CCARGS}" DEBUG="${DEBUG}" \
AUXLIBS="${AUXLIBS} -L$$(pwd)/debian" OPT="$(OFLAGS)" \
AUXLIBS_CDB="-lcdb -L../../lib -L. -lpostfix-util" \
+   AUXLIBS_LMDB="-llmdb -L../../lib -L. -lpostfix-util" \
AUXLIBS_LDAP="-lldap -llber -L../../lib -L. -lpostfix-util 
-lpostfix-global" \
AUXLIBS_MYSQL="-lmysqlclient -L../../lib -L. -lpostfix-util 
-lpostfix-global" \
AUXLIBS_PCRE="-lpcre -L../../lib -L. -lpostfix-util" \
@@ -124,6 +126,7 @@
install lib/postfix-pcre.so.1.0.1 ${base}-pcre/${plibdir}
install lib/postfix-pgsql.so.1.0.1 ${base}-pgsql/${plibdir}
install lib/postfix-sqlite.so.1.0.1 ${base}/${plibdir}
+   install lib/postfix-lmdb.so.1.0.1 $(base)/${plibdir}
install libexec/[a-z]* ${base}/${plibdir}/sbin
install bin/[a-z]* ${base}/${sbindir}
install debian/postfix-add-filter ${base}/${sbindir}

It misses some magic to be performed on dynamicmaps.cf which I fixed manually. 
Also LMDB is included in the base package this way. Please consider including 
LMDB support going forward.



Bug#815659: postfix: Build Postfix 3.x with LMDB Support

2016-02-23 Thread Thomas Leuxner
Source: postfix
Version: 3.0.4-1
Severity: normal

Dear Maintainer,

What is the proper way of including LMDB support in Postfix 3.x? The rules seem 
to have changed in the new series. Postfix 2.11 has been previously built 
successful in the same environment:

[ debian/rules for 3.x]:

CCARGS += -DDEBIAN -DHAS_PCRE -DHAS_LDAP -DUSE_LDAP_SASL \
-DHAS_SQLITE -DMYORIGIN_FROM_FILE \
$(shell getconf LFS_CFLAGS) \
-DHAS_CDB \
-DHAS_LMDB -I/usr/include \
-DHAS_MYSQL -I/usr/include/mysql \
-DHAS_PGSQL -I`pg_config --includedir` \
-DHAS_SQLITE -I/usr/include \
-DHAS_SSL -I/usr/include/openssl \
-DUSE_SASL_AUTH -I/usr/include/sasl \
-DUSE_CYRUS_SASL \
-DUSE_TLS

AUXLIBS += -lssl -lcrypto -lsasl2 -lpthread
AUXLIBS_LMDB="-L/usr/lib -llmdb -lpthread"

Above recipe fails to include LMDB support using "dpkg-buildpackage".

Compiled postconf output:

$ postconf -m
btree
cdb
cidr
environ
fail
hash
inline
internal
memcache
nis
pcre
pipemap
proxy
randmap
regexp
socketmap
sqlite
static
tcp
texthash
unionmap
unix

-- System Information:
Debian Release: 8.3
  APT prefers stable
  APT policy: (1001, 'stable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect