Import Debian changes 0.66.4-9
[hcoop/debian/courier-authlib.git] / Makefile.am
index d4a7d38..7f4c09b 100644 (file)
@@ -1,19 +1,17 @@
-# $Id: Makefile.am,v 1.123 2007/10/07 02:50:45 mrsam Exp $
 #
-# Copyright 1998 - 2007 Double Precision, Inc.  See COPYING for
+# Copyright 1998 - 2009 Double Precision, Inc.  See COPYING for
 # distribution information.
 
 AUTOMAKE_OPTIONS=dist-bzip2
 
-SUBDIRS=@LIBLTDL_SUBDIR@ @DBSUBDIR@ md5 sha1 libhmac numlib makedat userdb rfc822 random128 liblock liblog
-DIST_SUBDIRS=libltdl gdbmobj bdbobj md5 sha1 libhmac numlib makedat userdb rfc822 random128 liblock liblog
+SUBDIRS=libs/gdbmobj libs/bdbobj libs/md5 libs/sha1 libs/libhmac libs/numlib libs/makedat userdb libs/rfc822 libs/random128 libs/liblock liblog
 
-INCLUDES = $(LTDLINCL)
+AM_CPPFLAGS=-I liblock $(LTDLINCL)
 
 modules=@LIBAUTHUSERDB@ \
        @LIBAUTHPAM@ @LIBAUTHPWD@ @LIBAUTHSHADOW@ \
-       @LIBAUTHPGSQL@ @LIBAUTHLDAP@ @LIBAUTHMYSQL@ \
-       @LIBAUTHCUSTOM@ @LIBAUTHVCHKPW@ @LIBAUTHPIPE@
+       @LIBAUTHPGSQL@ @LIBAUTHLDAP@ @LIBAUTHMYSQL@ @LIBAUTHSQLITE@ \
+       @LIBAUTHCUSTOM@ @LIBAUTHPIPE@
 
 pkglibexecdir=$(libexecdir)/courier-authlib
 pkglibexec_SCRIPTS=authsystem.passwd
@@ -27,14 +25,14 @@ bin_PROGRAMS=courierauthconfig
 
 EXTRA_LTLIBRARIES=libauthuserdb.la \
        libauthpam.la libauthpwd.la libauthshadow.la \
-       libauthvchkpw.la \
        libauthpgsql.la \
        libauthldap.la \
        libauthmysql.la \
+       libauthsqlite.la \
        libauthcustom.la \
        libauthpipe.la
 
-CLEANFILES=authldaprc.h authmysqlrc.h authdaemonrc.h vpopmail_config.h \
+CLEANFILES=authldaprc.h authmysqlrc.h authsqliterc.h authdaemonrc.h \
        authpgsqlrc.h authpiperc.h authdaemon \
        authlib.3 authlib.html packageversion.h \
        authchangepwdir.h sbindir.h pkglibdir.h pkgincludedir.h \
@@ -44,31 +42,33 @@ CLEANFILES=authldaprc.h authmysqlrc.h authdaemonrc.h vpopmail_config.h \
 DISTCLEANFILES=dbobj.config README_authlib.html
 
 commonlibdep=libcourierauthcommon.la
-commonldflags=-module -rpath $(pkglibdir) -export-symbols-regex 'courier_auth.*_init'
+commonldflags=-module -rpath $(pkglibdir) -export-symbols-regex 'courier_auth.*_init' -avoid-version
 commonlibadd=libcourierauthcommon.la
 
 libcourierauthcommon_t=@CRYPTLIBS@
 libcourierauthcommon_la_SOURCES= \
        auth.h courierauth.h \
+       authgetconfig.c \
        authpwdenumerate.c \
        authsaslfrombase64.c authsasltobase64.c \
-       authstaticlist.h \
+       courierauthstaticlist.h \
        authsyschangepwd.c authsyscommon.c \
+       authldapescape.c \
        cramlib.c cramlib.h \
        checkpassword.c cryptpassword.c \
-       $(checkpasswordmd5c) $(checkpasswordsha1c)
+       checkpasswordmd5.c checkpasswordsha1.c
 
 libcourierauthcommon_la_DEPENDENCIES=libcourierauth.la
 libcourierauthcommon_la_LIBADD=libcourierauth.la
-libcourierauthcommon_la_LDFLAGS=$(libcourierauthcommon_t:%=-Wl,%)
+libcourierauthcommon_la_LDFLAGS=$(libcourierauthcommon_t:%=-Wl,%) -avoid-version
 
 libcourierauth_la_SOURCES=authdaemon.c authdaemonlib.c preauthdaemon.c \
        authmoduser2.c authmoduser3.c debug.c \
        courierauthdebug.h \
        authoption.c
-libcourierauth_la_LIBADD=@HMACLIB@ @MD5LIB@ @SHA1LIB@ numlib/libnumlib.la \
-       random128/librandom128.la rfc822/libencode.la
-libcourierauth_la_LDFLAGS=@NETLIBS@
+libcourierauth_la_LIBADD=libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la libs/numlib/libnumlib.la \
+       libs/random128/librandom128.la libs/rfc822/libencode.la
+libcourierauth_la_LDFLAGS=@NETLIBS@ -avoid-version
 
 # The userdb module
 
@@ -85,8 +85,8 @@ libauthpam_t=-lpam @SHADOWLIBS@ @AUTHPAMCRYPT@ @LIBDL@
 
 libauthpam_la_SOURCES=authpam.c preauthpam.c authwait.h
 libauthpam_la_DEPENDENCIES=$(commonlibdep)
-libauthpam_la_LIBADD=$(commonlibadd)
-libauthpam_la_LDFLAGS=$(commonldflags) $(libauthpam_t)
+libauthpam_la_LIBADD=$(commonlibadd) $(libauthpam_t)
+libauthpam_la_LDFLAGS=$(commonldflags)
 
 # The authpwd module
 
@@ -101,22 +101,8 @@ libauthshadow_t=@SHADOWLIBS@
 
 libauthshadow_la_SOURCES=authshadow.c preauthshadow.c
 libauthshadow_la_DEPENDENCIES=$(commonlibdep)
-libauthshadow_la_LIBADD=$(commonlibadd)
-libauthshadow_la_LDFLAGS=$(commonldflags) $(libauthshadow_t)
-
-# The authvchkpw module
-
-libauthvchkpw_t=@VPOPMAILLIBS@ @LIBM@
-libauthvchkpw_la_SOURCES=authvchkpw.c authvchkpwlib.c preauthvchkpw.c
-libauthvchkpw_la_DEPENDENCIES=$(commonlibdep)
-libauthvchkpw_la_LIBADD=$(commonlibadd)
-libauthvchkpw_la_LDFLAGS=$(commonldflags) $(libauthvchkpw_t)
-
-authvchkpw.lo: authvchkpw.c vpopmail_config.h
-preauthvchkpw.lo: preauthvchkpw.c vpopmail_config.h
-
-vpopmail_config.h:
-       echo '#include "@vpopmail_home@/include/config.h"' >vpopmail_config.h
+libauthshadow_la_LIBADD=$(commonlibadd) $(libauthshadow_t)
+libauthshadow_la_LDFLAGS=$(commonldflags)
 
 # The authpgsql module
 
@@ -124,12 +110,11 @@ libauthpgsql_t=@PGSQL_LIBS@ @LIBM@ @NETLIBS@
 
 libauthpgsql_la_SOURCES=authpgsql.c preauthpgsql.c authpgsqllib.c authpgsql.h
 libauthpgsql_la_DEPENDENCIES=$(commonlibdep)
-libauthpgsql_la_LIBADD=$(commonlibadd)
-libauthpgsql_la_LDFLAGS=$(commonldflags) $(libauthpgsql_t)
+libauthpgsql_la_LIBADD=$(commonlibadd) $(libauthpgsql_t)
+libauthpgsql_la_LDFLAGS=$(commonldflags)
 
 authpgsqllib.lo: authpgsqllib.c authpgsqlrc.h
 
-
 if HAVE_AUTHPGSQL
 
 install-authpgsqlrc:
@@ -160,8 +145,8 @@ authpgsqlrc.h:
 libauthldap_t=@LDAPLIBS@ @NETLIBS@
 libauthldap_la_SOURCES=authldap.c preauthldap.c authldaplib.c authldap.h
 libauthldap_la_DEPENDENCIES=$(commonlibdep)
-libauthldap_la_LIBADD=$(commonlibadd)
-libauthldap_la_LDFLAGS=$(commonldflags) $(libauthldap_t)
+libauthldap_la_LIBADD=$(commonlibadd) $(libauthldap_t)
+libauthldap_la_LDFLAGS=$(commonldflags)
 
 authldaplib.lo: authldaplib.c authldaprc.h
 
@@ -194,8 +179,8 @@ libauthmysql_t=@MYSQL_LIBS@ @LIBM@ @NETLIBS@
 
 libauthmysql_la_SOURCES=authmysql.c preauthmysql.c authmysqllib.c authmysql.h
 libauthmysql_la_DEPENDENCIES=$(commonlibdep)
-libauthmysql_la_LIBADD=$(commonlibadd)
-libauthmysql_la_LDFLAGS=$(commonldflags) $(libauthmysql_t)
+libauthmysql_la_LIBADD=$(commonlibadd) $(libauthmysql_t)
+libauthmysql_la_LDFLAGS=$(commonldflags)
 
 authmysqllib.lo: authmysqllib.c authmysqlrc.h
 
@@ -221,6 +206,39 @@ endif
 authmysqlrc.h:
        echo "#define AUTHMYSQLRC \"@authmysqlrc@\"" >authmysqlrc.h
 
+# The authsqlite module
+
+libauthsqlite_t=@SQLITE_LIBS@ @NETLIBS@
+
+libauthsqlite_la_SOURCES=authsqlite.c preauthsqlite.c authsqlitelib.c authsqlite.h
+libauthsqlite_la_DEPENDENCIES=$(commonlibdep)
+libauthsqlite_la_LIBADD=$(commonlibadd) $(libauthsqlite_t)
+libauthsqlite_la_LDFLAGS=$(commonldflags)
+
+authsqlitelib.lo: authsqlitelib.c authsqliterc.h
+
+if HAVE_AUTHSQLITE
+install-authsqliterc:
+       $(mkinstalldirs) $(DESTDIR)`dirname @authsqliterc@` || :
+       $(INSTALL_DATA) -m 660 $(srcdir)/authsqliterc \
+               $(DESTDIR)@authsqliterc@.dist
+       -chown @mailuser@ $(DESTDIR)@authsqliterc@.dist
+       -chgrp @mailgroup@ $(DESTDIR)@authsqliterc@.dist
+
+uninstall-authsqliterc:
+       rm -f $(DESTDIR)@authsqliterc@.dist
+
+else
+install-authsqliterc:
+       @:
+
+uninstall-authsqliterc:
+       @:
+endif
+
+authsqliterc.h:
+       echo "#define AUTHSQLITERC \"@authsqliterc@\"" >authsqliterc.h
+
 # The authcustom module
 
 libauthcustom_la_SOURCES=authcustom.c preauthcustom.c authcustom.h
@@ -248,19 +266,6 @@ noinst_PROGRAMS= \
        authdaemontest authmksock \
        authdaemondprog
 
-
-if HAVE_MD5
-checkpasswordmd5c=checkpasswordmd5.c
-else
-checkpasswordmd5c=
-endif
-
-if HAVE_SHA1
-checkpasswordsha1c=checkpasswordsha1.c
-else
-checkpasswordsha1c=
-endif
-
 install-authdaemonrc:
        $(mkinstalldirs) $(DESTDIR)`dirname @authdaemonrc@` || :
        sed 's/@ALLMODULES@/$(modules:lib%.la=%)/' <authdaemonrc >authdaemonrc.tmp
@@ -280,12 +285,12 @@ authdaemonrc.h:
        echo "#define AUTHDAEMONLOCK AUTHDAEMONVAR \"/lock\"" >>authdaemonrc.h
 
 HTMLFILES=README.html NEWS.html INSTALL.html \
-               README.authmysql.html README.authpostgres.html
+       README.authsqlite.html README.authmysql.html README.authpostgres.html
 
 EXTRA_DIST=$(HTMLFILES) sysconftool COPYING COPYING.GPL\
        authldap.schema \
-       checkpasswordmd5.c checkpasswordsha1.c \
-       authldaprc authmysqlrc authpgsqlrc README.ldap \
+       authldap.ldif \
+       authldaprc authmysqlrc authpgsqlrc authsqliterc README.ldap \
        README.authmysql.myownquery \
        README.authdebug.html.in \
        courier-authlib.spec \
@@ -294,11 +299,12 @@ EXTRA_DIST=$(HTMLFILES) sysconftool COPYING COPYING.GPL\
        authlib.html.in authlib.3.in \
        authpasswd.html authpasswd.1 \
        authtest.html authtest.1 \
-       auth_sasl.html auth_sasl.3 \
+       auth_sasl.html auth_sasl.3 auth_sasl_ex.3 \
        auth_generic.html auth_generic.3 \
        auth_login.html auth_login.3 \
        auth_passwd.html auth_passwd.3 \
        auth_getuserinfo.html auth_getuserinfo.3 \
+       auth_mkhomedir.html auth_mkhomedir.3 \
        auth_enumerate.html auth_enumerate.3 \
        auth_getoption.html auth_getoption.3 \
        samplepipe.pl
@@ -316,25 +322,26 @@ libcourierauthsasl_la_SOURCES=\
        authsasl.c courierauthsasl.h \
        authsaslcram.c authsasllogin.c authsaslplain.c \
        authsaslfrombase64.c authsasltobase64.c
-libcourierauthsasl_la_LIBADD=libcourierauth.la
-libcourierauthsasl_la_LDFLAGS=-export-symbols-regex '^auth_sasl$$'
+libcourierauthsasl_la_LIBADD=libcourierauthcommon.la libcourierauth.la
+libcourierauthsasl_la_LDFLAGS=-export-symbols-regex '^auth_sasl|auth_sasl_ex|auth_sasl_extract_userid$$' -avoid-version
 
 libcourierauthsaslclient_la_SOURCES=courierauthsaslclient.h \
        authsaslclient.c authsaslclient.h authsaslclientcram.c \
        authsaslclientcrammd5.c authsaslclientcramsha1.c \
        authsaslclientlogin.c authsaslclientplain.c \
+       authsaslclientexternal.c \
        authsaslfrombase64.c authsasltobase64.c
 libcourierauthsaslclient_la_LIBADD=libcourierauth.la
-libcourierauthsaslclient_la_LDFLAGS=-export-symbols-regex '^auth_sasl_client$$'
+libcourierauthsaslclient_la_LDFLAGS=-export-symbols-regex '^auth_sasl_client$$' -avoid-version
 
 include_HEADERS=courier_auth_config.h courierauth.h courierauthsasl.h \
-       courierauthsaslclient.h courierauthdebug.h
+       courierauthsaslclient.h courierauthdebug.h courierauthstaticlist.h
 
 courierauthconfig_SOURCES=authinfo.c
 
 authpasswd_SOURCES=authpasswd.c
 authpasswd_LDADD=libcourierauthcommon.la \
-        libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la rfc822/libencode.la
+        libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la libs/rfc822/libencode.la
 
 authtest_SOURCES=authtest.c
 authtest_DEPENDENCIES=libcourierauth.la
@@ -342,9 +349,9 @@ authtest_LDADD=libcourierauth.la
 
 authenumerate_SOURCES=authenumerate.c
 authenumerate_DEPENDENCIES = libcourierauth.la \
-       numlib/libnumlib.la
+       libs/numlib/libnumlib.la
 authenumerate_LDADD = libcourierauth.la \
-       numlib/libnumlib.la
+       libs/numlib/libnumlib.la
 authenumerate_LDFLAGS=
 
 #
@@ -352,12 +359,12 @@ authenumerate_LDFLAGS=
 
 authdaemondprog_SOURCES=authdaemond.c
 authdaemondprog_DEPENDENCIES=libcourierauthcommon.la \
-       liblock/liblock.la $(modules) \
-       libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la \
-       rfc822/libencode.la numlib/libnumlib.la
-authdaemondprog_LDADD=$(LIBLTDL) libcourierauthcommon.la liblock/liblock.la \
-       libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la \
-       rfc822/libencode.la numlib/libnumlib.la
+       libs/liblock/liblock.la $(modules) \
+       libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la \
+       libs/rfc822/libencode.la libs/numlib/libnumlib.la
+authdaemondprog_LDADD=$(LIBLTDL) libcourierauthcommon.la libs/liblock/liblock.la \
+       libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la \
+       libs/rfc822/libencode.la libs/numlib/libnumlib.la
 authdaemondprog_LDFLAGS=-export-dynamic $(modules:%=-dlopen %) @NETLIBS@
 
 authdaemontest_SOURCES=authdaemontest.c
@@ -368,14 +375,14 @@ authdaemontest_LDFLAGS=-static
 authmksock_SOURCES=authmksock.c
 authmksock_LDADD=@NETLIBS@
 
-man3=authlib.3 auth_generic.3 auth_login.3 auth_getuserinfo.3 \
+man3=authlib.3 auth_generic.3 auth_login.3 auth_getuserinfo.3 auth_mkhomedir.3 \
        auth_enumerate.3 auth_passwd.3 auth_getoption.3 auth_sasl.3
 man1=authpasswd.1 authtest.1
 
-man_MANS=$(man1) $(man3)
+man_MANS=$(man1) $(man3) auth_sasl_ex.3
 
 BUILT1=authlib.html authldaprc.h authmysqlrc.h authpgsqlrc.h authpiperc.h \
-       authdaemonrc.h vpopmail_config.h packageversion.h \
+       authdaemonrc.h packageversion.h \
        authchangepwdir.h sbindir.h \
        pkglibdir.h pkgincludedir.h mailusergroup.h \
        README_authlib.html
@@ -408,23 +415,24 @@ dist-hook:
 # automake still a bit stupid...
 
 install-data-hook: install-authdaemonrc install-authpgsqlrc \
-       install-authldaprc install-authmysqlrc
+       install-authldaprc install-authmysqlrc install-authsqliterc
        :
 
 install-exec-hook:
        $(mkinstalldirs) $(DESTDIR)$(bindir) || :
        $(mkinstalldirs) $(DESTDIR)$(sbindir) || :
        $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir) || :
+       chmod 755 $(DESTDIR)$(pkglibexecdir)
+       -chown @mailuser@ $(DESTDIR)$(pkglibexecdir)
+       -chgrp @mailgroup@ $(DESTDIR)$(pkglibexecdir)
        $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) authdaemondprog $(DESTDIR)$(pkglibexecdir)/authdaemond
        $(mkinstalldirs) $(DESTDIR)@authdaemonvar@ || :
        chmod 750 $(DESTDIR)@authdaemonvar@
        -chown @mailuser@ $(DESTDIR)@authdaemonvar@
        -chgrp @mailgroup@ $(DESTDIR)@authdaemonvar@
        test "@LIBAUTHUSERDB@" = "" && exit 0 ;\
-               $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) makedat/makedatprog \
+               $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) libs/makedat/makedatprog \
                                $(DESTDIR)$(pkglibexecdir)/makedatprog ; \
-               $(INSTALL_SCRIPT) userdb/vchkpw2userdb \
-                               $(DESTDIR)$(sbindir)/vchkpw2userdb ; \
                $(INSTALL_SCRIPT) userdb/pw2userdb \
                                $(DESTDIR)$(sbindir)/pw2userdb ; \
                $(INSTALL_SCRIPT) userdb/makeuserdb \
@@ -436,11 +444,10 @@ install-exec-hook:
                $(INSTALL_SCRIPT) userdb-test-cram-md5.pl \
                                $(DESTDIR)$(sbindir)/userdb-test-cram-md5
 
-uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc uninstall-authpgsqlrc
+uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc uninstall-authpgsqlrc uninstall-authsqliterc
        rm -f $(DESTDIR)$(pkglibexecdir)/authdaemond
        test "@AUTHUSERDB@" = "" && exit 0 ;\
                rm -f $(DESTDIR)$(pkglibexecdir)/makedatprog \
-                               $(DESTDIR)$(sbindir)/vchkpw2userdb \
                                $(DESTDIR)$(sbindir)/pw2userdb \
                                $(DESTDIR)$(sbindir)/makeuserdb \
                                $(DESTDIR)$(sbindir)/userdb \
@@ -448,80 +455,105 @@ uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlr
                                $(DESTDIR)$(sbindir)/userdb-test-cram-md5
 
 authlib.html: authlib.html.in
-       CONFIG_FILES=authlib.html CONFIG_HEADERS= $(SHELL) ./config.status
+       $(SHELL) ./config.status --file=authlib.html
 
 authlib.3: authlib.3.in
-       CONFIG_FILES=authlib.3 CONFIG_HEADERS= $(SHELL) ./config.status
+       $(SHELL) ./config.status --file=authlib.3
 
 if HAVE_SGML
-authpasswd.html: authpasswd.sgml docbook/sgml2html
-       docbook/sgml2html authpasswd.sgml authpasswd.html
 
-authpasswd.1: authpasswd.sgml docbook/sgml2man
-       docbook/sgml2man authpasswd.sgml authpasswd.1
+GITFILES=authdaemonrc.in
+
+BUILT_SOURCES += $(GITFILES)
+
+$(GITFILES): %: %.git
+       perl -p -e 's/\$$Id:[^\$$]*/\$$Id: '"`git log --pretty=format:\"%H\" -n 1 -- $<`-`date +%Y%m%d%H%M%S`/" <$< >$@.tmp
+       mv -f $@.tmp $@
+
+authpasswd.html: authpasswd.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html authpasswd.sgml authpasswd.html
+
+authpasswd.1: authpasswd.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man authpasswd.sgml authpasswd.1
 
-authtest.html: authtest.sgml docbook/sgml2html
-       docbook/sgml2html authtest.sgml authtest.html
+authtest.html: authtest.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html authtest.sgml authtest.html
 
-authtest.1: authtest.sgml docbook/sgml2man
-       docbook/sgml2man authtest.sgml authtest.1
+authtest.1: authtest.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man authtest.sgml authtest.1
 
-authlib.html.in: authlib.sgml docbook/sgml2html
-       docbook/sgml2html authlib.sgml authlib.html.in
+authlib.html.in: authlib.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html authlib.sgml authlib.html.in
 
-authlib.3.in: authlib.sgml docbook/sgml2man
-       docbook/sgml2man authlib.sgml authlib.3.in
+authlib.3.in: authlib.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man authlib.sgml authlib.3.in
+       mv authlib.3 authlib.3.in
 
-README_authlib.html.in: README_authlib.sgml docbook/sgml2html
-       docbook/sgml2html README_authlib.sgml README_authlib.html.in
+README_authlib.html.in: README_authlib.sgml optionlist.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html README_authlib.sgml README_authlib.html.in "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_generic.html: auth_generic.sgml authcallback.sgml docbook/sgml2html
-       docbook/sgml2html auth_generic.sgml auth_generic.html
+auth_generic.html: auth_generic.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_generic.sgml auth_generic.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_generic.3: auth_generic.sgml authcallback.sgml docbook/sgml2man
-       docbook/sgml2man auth_generic.sgml auth_generic.3
+auth_generic.3: auth_generic.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_generic.sgml auth_generic.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_login.html: auth_login.sgml authcallback.sgml docbook/sgml2html
-       docbook/sgml2html auth_login.sgml auth_login.html
+auth_login.html: auth_login.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_login.sgml auth_login.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_login.3: auth_login.sgml authcallback.sgml docbook/sgml2man
-       docbook/sgml2man auth_login.sgml auth_login.3
+auth_login.3: auth_login.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_login.sgml auth_login.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_getuserinfo.html: auth_getuserinfo.sgml authcallback.sgml docbook/sgml2html
-       docbook/sgml2html auth_getuserinfo.sgml auth_getuserinfo.html
+auth_getuserinfo.html: auth_getuserinfo.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_getuserinfo.sgml auth_getuserinfo.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_getuserinfo.3: auth_getuserinfo.sgml authcallback.sgml docbook/sgml2man
-       docbook/sgml2man auth_getuserinfo.sgml auth_getuserinfo.3
+auth_getuserinfo.3: auth_getuserinfo.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_getuserinfo.sgml auth_getuserinfo.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_enumerate.html: auth_enumerate.sgml docbook/sgml2html
-       docbook/sgml2html auth_enumerate.sgml auth_enumerate.html
+auth_mkhomedir.html: auth_mkhomedir.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_mkhomedir.sgml auth_mkhomedir.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_enumerate.3: auth_enumerate.sgml docbook/sgml2man
-       docbook/sgml2man auth_enumerate.sgml auth_enumerate.3
+auth_mkhomedir.3: auth_mkhomedir.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_mkhomedir.sgml auth_mkhomedir.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_passwd.html: auth_passwd.sgml docbook/sgml2html
-       docbook/sgml2html auth_passwd.sgml auth_passwd.html
+auth_enumerate.html: auth_enumerate.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_enumerate.sgml auth_enumerate.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_passwd.3: auth_passwd.sgml docbook/sgml2man
-       docbook/sgml2man auth_passwd.sgml auth_passwd.3
+auth_enumerate.3: auth_enumerate.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_enumerate.sgml auth_enumerate.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_getoption.html: auth_getoption.sgml docbook/sgml2html
-       docbook/sgml2html auth_getoption.sgml auth_getoption.html
+auth_passwd.html: auth_passwd.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_passwd.sgml auth_passwd.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_getoption.3: auth_getoption.sgml docbook/sgml2man
-       docbook/sgml2man auth_getoption.sgml auth_getoption.3
+auth_passwd.3: auth_passwd.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_passwd.sgml auth_passwd.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_sasl.html: auth_sasl.sgml docbook/sgml2html
-       docbook/sgml2html auth_sasl.sgml auth_sasl.html
+auth_getoption.html: auth_getoption.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_getoption.sgml auth_getoption.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
-auth_sasl.3: auth_sasl.sgml docbook/sgml2man
-       docbook/sgml2man auth_sasl.sgml auth_sasl.3
+auth_getoption.3: auth_getoption.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_getoption.sgml auth_getoption.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
 
+auth_sasl.html: auth_sasl.sgml libs/docbook/sgml2html
+       libs/docbook/sgml2html auth_sasl.sgml auth_sasl.html "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
+
+auth_sasl.3: auth_sasl.sgml libs/docbook/sgml2man
+       libs/docbook/sgml2man auth_sasl.sgml auth_sasl.3 "--stringparam man.base.url.for.relative.links http://www.courier-mta.org/authlib/"
+
+auth_sasl_ex.3: auth_sasl.3
+       touch $@
 
 endif
 
+authldap.ldif: authldap.schema
+       echo 'dn: cn=courier,cn=schema,cn=config' >authldap.ldif.tmp
+       echo 'objectClass: olcSchemaConfig' >>authldap.ldif.tmp
+       echo 'cn: courier' >>authldap.ldif.tmp
+       sed '/^#/d;s/^attributetype/olcAttributeTypes:/;s/^objectclass/olcObjectClasses:/;s/^$$/#/' <$(srcdir)/authldap.schema | tr '\011' ' ' >>authldap.ldif.tmp
+       mv -f authldap.ldif.tmp authldap.ldif
+
 README_authlib.html: README_authlib.html.in config.status
-       CONFIG_FILES=README_authlib.html CONFIG_HEADERS= $(SHELL) ./config.status
+       $(SHELL) ./config.status --file=README_authlib.html
 
 authdaemond.o: authdaemonrc.h authdaemond.c
 
@@ -534,37 +566,32 @@ install-configure:
        test -f $(DESTDIR)@authmysqlrc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authmysqlrc@.dist || true
        test -f $(DESTDIR)@authpgsqlrc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authpgsqlrc@.dist || true
        test -f $(DESTDIR)@authldaprc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authldaprc@.dist || true
+       test -f $(DESTDIR)@authsqliterc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authsqliterc@.dist || true
 
 # For maintainer's use only
 
 distrelease:
-       umask 022; $(MAKE) -$(MAKEFLAGS) distcheck
-       $(MAKE) -$(MAKEFLAGS) rpm
-       socksify cvs commit
-       socksify cvs tag -F @PACKAGE@-latest
-       $(MAKE) -$(MAKEFLAGS)
-       $(MAKE) -$(MAKEFLAGS)
+       umask 022; $(MAKE) distcheck
+       $(MAKE) rpm
+       $(MAKE)
+       $(MAKE)
        rm -f @PACKAGE@.spec @PACKAGE@.lpspec
-       $(MAKE) -$(MAKEFLAGS) @PACKAGE@.spec @PACKAGE@.lpspec
-       $(MAKE) -$(MAKEFLAGS) dist
-
-tagrelease:
-       socksify cvs tag -F -r @PACKAGE@-latest \
-               `echo @PACKAGE@-@VERSION@ | tr '.' '-'`
+       $(MAKE) @PACKAGE@.spec @PACKAGE@.lpspec
+       $(MAKE) dist
 
 rpm: rpm-build
 
 rpm-build:
-       $(MAKE) -$(MAKEFLAGS) bump.rpm.release
-       $(MAKE) -$(MAKEFLAGS) dist
-       $(MAKE) -$(MAKEFLAGS) dorpm
+       $(MAKE) bump.rpm.release
+       $(MAKE) dist
+       $(MAKE) dorpm
 
 lpm: lpm-build
 
 lpm-build:
-       $(MAKE) -$(MAKEFLAGS) bump.rpm.release
-       $(MAKE) -$(MAKEFLAGS) dist
-       $(MAKE) -$(MAKEFLAGS) dolpm
+       $(MAKE) bump.rpm.release
+       $(MAKE) dist
+       $(MAKE) dolpm
 
 dolpm:
        rm -rf lpm
@@ -574,10 +601,10 @@ dolpm:
 publish: publish-@REPOSITORY@
 
 publish-dev:
-       $(MAKE) -$(MAKEFLAGS) dopublish SUBDIR=dev
+       $(MAKE) dopublish SUBDIR=dev
 
 publish-prod:
-       $(MAKE) -$(MAKEFLAGS) dopublish SUBDIR=prod
+       $(MAKE) dopublish SUBDIR=prod
 
 dopublish:
        lpbuild --resign lpm/*
@@ -598,7 +625,17 @@ dorpm:
        rm -f rpm/SOURCES/*
        rm -f rpm/SPECS/*
        rm -f rpm/SRPMS/*
-       unset MAKEFLAGS ; test ! -f $$HOME/.bashrc || . $$HOME/.bashrc; rpmbuild -ta --clean @PACKAGE@-@VERSION@.tar.bz2
+       rpmbuild -ta --clean \
+               --define "_topdir `pwd`/rpm" \
+               --define '_rpmdir %{_topdir}/RPMS' \
+               --define '_srcrpmdir %{_topdir}/SRPMS' \
+               --define '_sourcedir %{_topdir}/SOURCES' \
+               --define '_specdir %{_topdir}/SPECS' \
+               --define '_builddir %{_topdir}/BUILD' \
+               --define '_build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
+               --define '_tmppath %{_var}/tmp' \
+               --define '__spec_prep_pre %{___build_pre}' \
+               @PACKAGE@-@VERSION@.tar.bz2
 
 bump.rpm.release: @PACKAGE@.spec @PACKAGE@.lpspec
        test -f $(srcdir)/rpm.release && . $(srcdir)/rpm.release; \
@@ -615,30 +652,18 @@ bump.rpm.release: @PACKAGE@.spec @PACKAGE@.lpspec
        mv @PACKAGE@.lpspec.new @PACKAGE@.lpspec
 
 upload-beta:
+       test -z "$(SFPASSWD)" && exit 1; exit 0
        rm -f @PACKAGE@-@VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE@-@VERSION@.tar.bz2; test -f @PACKAGE@-@VERSION@.tar.bz2.sig || exit 1
-       socksify ssh grace.speakeasy.net echo @PACKAGE@-@VERSION@.tar.bz2 `ls -l @PACKAGE@-@VERSION@.tar.bz2 | awk ' { print $$5 } '` \>courier-mta.org/@PACKAGE@.beta
-       ssh headache 'cd torrents.courier-mta.org/pub/@PACKAGE@-dev && rm -rf @PACKAGE@-@VERSION@ && mkdir @PACKAGE@-@VERSION@ && echo seeder_args=--max_upload_rate 50 >@PACKAGE@-@VERSION@.info && ls -t | sed 1,6d | xargs rm -rf '
-       scp @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig headache:torrents.courier-mta.org/pub/@PACKAGE@-dev/@PACKAGE@-@VERSION@
+       ~/src/sftools/release.pl mrsam $(SFPASSWD) courier authlib-devel `echo @VERSION@|sed 's/.*\(........\)/\1/'` @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
 
 upload-dist:
-       rm -f @PACKAGE@-@VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE@-@VERSION@.tar.bz2; test -f @PACKAGE@-@VERSION@.tar.bz2.sig || exit 1
-       socksify cvs tag -F -r @PACKAGE@-latest \
-               `echo @PACKAGE@-@VERSION@ | tr '.' '-'`
-       socksify perl -e 'use Net::FTP; $$ftp=Net::FTP->new("upload.sourceforge.net.", Debug => 1, Passive => 1 ) || die; $$ftp->login("anonymous", "anonymous") || die; $$ftp->cwd("/incoming") && $$ftp->binary() && $$ftp->hash(1) && $$ftp->put("@PACKAGE@-@VERSION@.tar.bz2") && $$ftp->put("@PACKAGE@-@VERSION@.tar.bz2.sig") && exit 0; die;'
-       ssh headache 'cd torrents.courier-mta.org/pub/@PACKAGE@ && rm -rf @PACKAGE@-@VERSION@ && mkdir @PACKAGE@-@VERSION@ && echo seeder_args=--max_upload_rate 50 >@PACKAGE@-@VERSION@.info && ls -t | sed 1,6d | xargs rm -rf '
-       scp @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig headache:torrents.courier-mta.org/pub/@PACKAGE@/@PACKAGE@-@VERSION@
-
-
-release-dist:
        test -z "$(SFPASSWD)" && exit 1; exit 0
-       ./changelog.pl >changelog.txt
-       emacs releasenotes.txt
-       test -f releasenotes.txt || exit 1
-       socksify ../sftools/release.pl mrsam $(SFPASSWD) courier authlib @VERSION@ releasenotes.txt changelog.txt @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
-       socksify ssh grace.speakeasy.net rm -f courier-mta.org/@PACKAGE@.beta
+       rm -f @PACKAGE@-@VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE@-@VERSION@.tar.bz2; test -f @PACKAGE@-@VERSION@.tar.bz2.sig || exit 1
+       set -e; v="@PACKAGE@/@VERSION@/`date +%Y%m%d%H%M%S`"; git tag -s $$v -m 'Tag version @VERSION@'; cd libs; git tag -s $$v -m 'Tag version @VERSION@'
+       socksify ~/src/sftools/release.pl mrsam $(SFPASSWD) courier authlib @VERSION@ @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
 
 HTMLDOCFILES=$(HTMLFILES) README.authdebug.html README_authlib.html \
-       $(man3:%.3=%.html) $(man1:%.1=%.html)
+       $(man3:%.3=%.html) $(man1:%.1=%.html) userdb/userdb.html userdb/makeuserdb.html userdb/userdbpw.html
 
 htmldoc: $(HTMLDOCFILES)
-       for f in $^; do d=`basename $$f`; test "$$d" = "README.html" && d="index2.html"; xsltproc --nonet $$HOME/www/www.courier-mta.org/xsl/authlib.xsl $$f | perl -ne 's~\$(id):.*\$$~\$(id):'"$$h"'\$$~; print' >html/$$d; done
+       for f in $^; do d=`basename $$f`; test "$$d" = "README.html" && d="index.html"; tidy -i -q --tidy-mark no --doctype transitional --input-encoding utf8 --output-encoding utf8 -asxml <$$f >$$f.tmp ; xsltproc --nonet $$HOME/www/www.courier-mta.org/xsl/authlib.xsl $$f.tmp | perl -ne 's~\$(id):.*\$$~\$(id):'"$$h"'\$$~; print' >$$HOME/www/www.courier-mta.org/authlib/$$d; rm -f $$f.tmp; done