Backport to wheezy
[hcoop/debian/courier-authlib.git] / courier-authlib.spec
index 0673c9d..408fbab 100644 (file)
@@ -1,6 +1,5 @@
-# $Id: courier-authlib.spec.in,v 1.18 2009/12/18 04:24:20 mrsam Exp $
 #
 #
-# Copyright 1998 - 2008 Double Precision, Inc.  See COPYING for
+# Copyright 1998 - 2010 Double Precision, Inc.  See COPYING for
 # distribution information.
 
 # No dist tag from mock; detect mandrake, redhat, etc. the old fashioned way
 # distribution information.
 
 # No dist tag from mock; detect mandrake, redhat, etc. the old fashioned way
 %define courier_release %{nil}
 %endif
 
 %define courier_release %{nil}
 %endif
 
+%define using_systemd %(test -d /etc/systemd && echo 1 || echo 0)
+
 ################################################################################
 
 Name:           courier-authlib
 ################################################################################
 
 Name:           courier-authlib
-Version:        0.63.0
+Version:        0.66.1
 Release:        1%{?dist}%{?courier_release}
 Summary:        Courier authentication library
 
 Group:          System Environment/Daemons
 Release:        1%{?dist}%{?courier_release}
 Summary:        Courier authentication library
 
 Group:          System Environment/Daemons
-License:        GPL
+License:        GPLv3
 URL:            http://www.courier-mta.org
 
 ################################################################################
 URL:            http://www.courier-mta.org
 
 ################################################################################
@@ -31,7 +32,7 @@ BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:      libtool
 BuildRequires:      openldap-devel
 
 BuildRequires:      libtool
 BuildRequires:      openldap-devel
-BuildRequires:      mysql-devel zlib-devel
+BuildRequires:      mysql-devel zlib-devel sqlite-devel
 BuildRequires:      postgresql-devel
 BuildRequires:      gdbm-devel
 BuildRequires:      pam-devel
 BuildRequires:      postgresql-devel
 BuildRequires:      gdbm-devel
 BuildRequires:      pam-devel
@@ -45,16 +46,13 @@ BuildRequires:      %{_includedir}/ltdl.h
 BuildRequires:      redhat-rpm-config
 %endif
 
 BuildRequires:      redhat-rpm-config
 %endif
 
-
+%if %using_systemd
+Requires(post):     /bin/systemctl
+Requires(preun):    /bin/systemctl
+%else
 Requires(post):     /sbin/chkconfig
 Requires(preun):    /sbin/chkconfig
 Requires(post):     /sbin/chkconfig
 Requires(preun):    /sbin/chkconfig
-
-# Provides by symlinks in this release, for compatibility with 0.60,
-# will be removed in 0.62. This is temporary hack:
-
-%define dummysuffix %(test "%{_lib}" = "lib64" && echo '()(64bit)')
-
-Provides: libcourierauth.so.0%{dummysuffix} libcourierauthsasl.so.0%{dummysuffix} libcourierauthsaslclient.so.0%{dummysuffix} libcourierauthcommon.so.0%{dummysuffix}
+%endif
 
 ################################################################################
 
 
 ################################################################################
 
@@ -80,7 +78,7 @@ are not needed at runtime.
 
 %package userdb
 
 
 %package userdb
 
-Summary:    userdb support for the Courier authentication library
+Summary:    Userdb support for the Courier authentication library
 Group:      System Environment/Daemons
 Requires:   courier-authlib = 0:%{version}-%{release}
 
 Group:      System Environment/Daemons
 Requires:   courier-authlib = 0:%{version}-%{release}
 
@@ -114,11 +112,22 @@ Requires:   courier-authlib = 0:%{version}-%{release}
 This package installs MySQL support for the Courier authentication library.
 Install this package in order to be able to authenticate using MySQL.
 
 This package installs MySQL support for the Courier authentication library.
 Install this package in order to be able to authenticate using MySQL.
 
+%package sqlite
+
+Summary:    SQLite support for the Courier authentication library
+Group:      System Environment/Daemons
+Requires:   courier-authlib = 0:%{version}-%{release}
+
+%description sqlite
+This package installs SQLite support for the Courier authentication library.
+Install this package in order to be able to authenticate using an SQLite-based
+database file.
+
 ################################################################################
 
 %package pgsql
 
 ################################################################################
 
 %package pgsql
 
-Summary:    MySQL support for the Courier authentication library
+Summary:    PostgreSQL support for the Courier authentication library
 Group:      System Environment/Daemons
 Requires:   courier-authlib = 0:%{version}-%{release}
 
 Group:      System Environment/Daemons
 Requires:   courier-authlib = 0:%{version}-%{release}
 
@@ -144,7 +153,7 @@ program, then communicates through messages on stdin and stdout.
 
 %prep
 %setup -q
 
 %prep
 %setup -q
-%configure -C --with-redhat
+PATH=/usr/bin:$PATH %configure -C --with-redhat
 
 %build
 %{__make} -s %{_smp_mflags}
 
 %build
 %{__make} -s %{_smp_mflags}
@@ -175,6 +184,7 @@ cat >configfiles.base <<EOF
 EOF
 
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.mysql
 EOF
 
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.mysql
+echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.sqlite
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.ldap
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.pgsql
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.userdb
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.ldap
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.pgsql
 echo "%defattr(-,$mailuser,$mailgroup,-)" >configfiles.userdb
@@ -197,6 +207,24 @@ done
 for f in $RPM_BUILD_ROOT%{_libdir}/courier-authlib/*
 do
        fn=`basename $f`
 for f in $RPM_BUILD_ROOT%{_libdir}/courier-authlib/*
 do
        fn=`basename $f`
+
+       # Remove *.la for authentication modules, keep the ones
+       # for client libraries. Do this before we sort them into buckets,
+       # below.
+
+       case "$fn" in
+       *.la)
+               case "$fn" in
+               libcourierauth*)
+                       ;;
+               *)
+                       rm -f "$f"
+                       ;;
+               esac
+               continue
+               ;;
+       esac
+
        case "$fn" in
        libauthpipe*)
                echo "%{_libdir}/courier-authlib/$fn" >>configfiles.pipe
        case "$fn" in
        libauthpipe*)
                echo "%{_libdir}/courier-authlib/$fn" >>configfiles.pipe
@@ -207,6 +235,9 @@ do
        libauthmysql*)
                echo "%{_libdir}/courier-authlib/$fn" >>configfiles.mysql
                ;;
        libauthmysql*)
                echo "%{_libdir}/courier-authlib/$fn" >>configfiles.mysql
                ;;
+       libauthsqlite*)
+               echo "%{_libdir}/courier-authlib/$fn" >>configfiles.sqlite
+               ;;
        libauthpgsql*)
                echo "%{_libdir}/courier-authlib/$fn" >>configfiles.pgsql
                ;;
        libauthpgsql*)
                echo "%{_libdir}/courier-authlib/$fn" >>configfiles.pgsql
                ;;
@@ -221,27 +252,56 @@ do
                ;;
        esac
 done
                ;;
        esac
 done
+%if %using_systemd
+%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}
+%{__install} -m 555 courier-authlib.sysvinit $RPM_BUILD_ROOT%{_datadir}
+
+%{__mkdir_p} $RPM_BUILD_ROOT/lib/systemd/system
+%{__install} -m 644 courier-authlib.service $RPM_BUILD_ROOT/lib/systemd/system
+%else
 %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
 %{__install} -m 555 courier-authlib.sysvinit \
 %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
 %{__install} -m 555 courier-authlib.sysvinit \
-        $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/courier-authlib
+        $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/courier-authlib
+%endif
 
 %post
 %{_libexecdir}/courier-authlib/sysconftool %{_sysconfdir}/authlib/*.dist >/dev/null
 
 %post
 %{_libexecdir}/courier-authlib/sysconftool %{_sysconfdir}/authlib/*.dist >/dev/null
+%if %using_systemd
+if test -f /etc/init.d/courier-authlib
+then
+# Upgrade to systemd
+
+        /sbin/chkconfig --del courier-authlib
+        /bin/systemctl stop courier-authlib.service || :
+fi
 
 
+/bin/systemctl daemon-reload || :
+/bin/systemctl enable courier-authlib.service &> /dev/null || :
+%else
 /sbin/chkconfig --del courier-authlib
 /sbin/chkconfig --add courier-authlib
 /sbin/chkconfig --del courier-authlib
 /sbin/chkconfig --add courier-authlib
-
+%endif
 %preun
 if test -x %{_sbindir}/authdaemond
 then
 %preun
 if test -x %{_sbindir}/authdaemond
 then
-       %{_sbindir}/authdaemond >/dev/null 2>&1 || /bin/true
+       %{_sbindir}/authdaemond stop >/dev/null 2>&1 || /bin/true
 fi
 
 if test "$1" = "0"
 then
 fi
 
 if test "$1" = "0"
 then
-       /sbin/chkconfig --del courier-authlib
+%if %using_systemd
+        /bin/systemctl stop courier-authlib.service
+        /bin/systemctl disable courier-authlib.service
+%else
+        /sbin/chkconfig --del courier-authlib
+%endif
 fi
 
 fi
 
+%postun
+%if %using_systemd
+/bin/systemctl daemon-reload || :
+%endif
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -250,7 +310,12 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(-,root,root,-)
 %doc README README*html README.authmysql.myownquery README.ldap
 %doc NEWS COPYING* AUTHORS ChangeLog
 %defattr(-,root,root,-)
 %doc README README*html README.authmysql.myownquery README.ldap
 %doc NEWS COPYING* AUTHORS ChangeLog
+%if %using_systemd
+/lib/systemd/system/*
+%attr(755, bin, bin) %{_datadir}/courier-authlib.sysvinit
+%else
 /etc/rc.d/init.d/*
 /etc/rc.d/init.d/*
+%endif
 %ghost %attr(600, root, root) %{_localstatedir}/spool/authdaemon/pid.lock
 %ghost %attr(644, root, root) %{_localstatedir}/spool/authdaemon/pid
 %ghost %attr(-, root, root) %{_localstatedir}/spool/authdaemon/socket
 %ghost %attr(600, root, root) %{_localstatedir}/spool/authdaemon/pid.lock
 %ghost %attr(644, root, root) %{_localstatedir}/spool/authdaemon/pid
 %ghost %attr(-, root, root) %{_localstatedir}/spool/authdaemon/socket
@@ -264,6 +329,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/courierauthconfig
 %{_includedir}/*
 %{_mandir}/man3/*
 %{_bindir}/courierauthconfig
 %{_includedir}/*
 %{_mandir}/man3/*
+%{_libdir}/courier-authlib/*.la
 %doc authlib.html auth_*.html
 
 %files -f configfiles.ldap ldap
 %doc authlib.html auth_*.html
 
 %files -f configfiles.ldap ldap
@@ -272,6 +338,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -f configfiles.mysql mysql
 
 
 %files -f configfiles.mysql mysql
 
+%files -f configfiles.sqlite sqlite
+
 %files -f configfiles.pgsql pgsql
 
 %files -f configfiles.pipe pipe
 %files -f configfiles.pgsql pgsql
 
 %files -f configfiles.pipe pipe