X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/blobdiff_plain/d9898ee81388d1eff40cf71e85d9ce9b5c1401fe..refs/tags/upstream/0.66.4:/courier-authlib.spec diff --git a/courier-authlib.spec b/courier-authlib.spec index d599314..ca551a1 100644 --- a/courier-authlib.spec +++ b/courier-authlib.spec @@ -1,22 +1,25 @@ -# $Id: courier-authlib.spec.in,v 1.8 2007/04/22 18:38:04 mrsam Exp $ # -# Copyright 1998 - 2006 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 %if 0%{!?dist:1} %define courier_release %(test -e /etc/mandrake-release -o -e /etc/mandriva-release && release="mdk" ; if test $? != 0; then release="`rpm -q --queryformat='.rh%{VERSION}' redhat-release 2>/dev/null`" ; if test $? != 0 ; then release="`rpm -q --queryformat='.fc%{VERSION}' fedora-release 2>/dev/null`" ; if test $? != 0 ; then release="" ; fi ; fi ; fi ; echo "$release") +%else +%define courier_release %{nil} %endif +%define using_systemd %(test -d /etc/systemd && echo 1 || echo 0) + ################################################################################ Name: courier-authlib -Version: 0.59.3 -Release: 10%{courier_release} +Version: 0.66.4 +Release: 1%{?dist}%{?courier_release} Summary: Courier authentication library Group: System Environment/Daemons -License: GPL +License: GPLv3 URL: http://www.courier-mta.org ################################################################################ @@ -29,12 +32,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 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: expect BuildRequires: gcc-c++ +BuildRequires: redhat-rpm-config +BuildRequires: courier-unicode-devel BuildRequires: %{_includedir}/ltdl.h @@ -42,9 +47,14 @@ BuildRequires: %{_includedir}/ltdl.h BuildRequires: redhat-rpm-config %endif - +%if %using_systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig +%endif ################################################################################ @@ -70,7 +80,7 @@ are not needed at runtime. %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} @@ -104,11 +114,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. +%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 -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} @@ -134,22 +155,24 @@ program, then communicates through messages on stdin and stdout. %prep %setup -q -%configure --with-redhat +PATH=/usr/bin:$PATH %configure -C --with-redhat %build -%{__make} %{_smp_mflags} +%{__make} -s %{_smp_mflags} %install rm -rf $RPM_BUILD_ROOT MAKEFLAGS= %{__make} -j 1 install DESTDIR=$RPM_BUILD_ROOT %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/courier-authlib/*.a %{__install} -m 555 sysconftool $RPM_BUILD_ROOT%{_libexecdir}/courier-authlib -%{__install} -m 555 authmigrate $RPM_BUILD_ROOT%{_libexecdir}/courier-authlib ./courierauthconfig --configfiles >configtmp -. configtmp +. ./configtmp -./authmksock $RPM_BUILD_ROOT%{_localstatedir}/spool/authdaemon/socket || exit 1 +d=`pwd` +cd $RPM_BUILD_ROOT%{_localstatedir}/spool/authdaemon || exit 1 +$d/authmksock ./socket || exit 1 +cd $d || exit 1 touch $RPM_BUILD_ROOT%{_localstatedir}/spool/authdaemon/pid.lock || exit 1 touch $RPM_BUILD_ROOT%{_localstatedir}/spool/authdaemon/pid || exit 1 %{__chmod} 777 $RPM_BUILD_ROOT%{_localstatedir}/spool/authdaemon/socket || exit 1 @@ -163,6 +186,7 @@ cat >configfiles.base <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 @@ -185,6 +209,24 @@ done 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 @@ -195,6 +237,9 @@ do libauthmysql*) echo "%{_libdir}/courier-authlib/$fn" >>configfiles.mysql ;; + libauthsqlite*) + echo "%{_libdir}/courier-authlib/$fn" >>configfiles.sqlite + ;; libauthpgsql*) echo "%{_libdir}/courier-authlib/$fn" >>configfiles.pgsql ;; @@ -209,28 +254,53 @@ do ;; 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 \ - $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/authmigrate >/dev/null %{_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 +%systemd_post courier-authlib.service +%else /sbin/chkconfig --del courier-authlib /sbin/chkconfig --add courier-authlib - +%endif %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 - /sbin/chkconfig --del courier-authlib +%if %using_systemd +%systemd_preun courier-authlib.service +%else + /sbin/chkconfig --del courier-authlib +%endif fi +%postun +%if %using_systemd +%systemd_postun_with_restart courier-authlib.service +%endif + %clean rm -rf $RPM_BUILD_ROOT @@ -238,8 +308,13 @@ rm -rf $RPM_BUILD_ROOT %files -f configfiles.base %defattr(-,root,root,-) %doc README README*html README.authmysql.myownquery README.ldap -%doc NEWS COPYING* AUTHORS ChangeLog authldap.schema +%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/* +%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 @@ -253,14 +328,17 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/courierauthconfig %{_includedir}/* %{_mandir}/man3/* +%{_libdir}/courier-authlib/*.la %doc authlib.html auth_*.html %files -f configfiles.ldap ldap %defattr(-,root,root,-) -%doc authldap.schema +%doc authldap.schema authldap.ldif %files -f configfiles.mysql mysql +%files -f configfiles.sqlite sqlite + %files -f configfiles.pgsql pgsql %files -f configfiles.pipe pipe