X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/blobdiff_plain/330026da191ad124643fae36d739652130ea9e79..6d167bb1539ec7eeffd77bef20b73fee3761af63:/courier-authlib.spec.in diff --git a/courier-authlib.spec.in b/courier-authlib.spec.in index 8ef104e..5256fdd 100644 --- a/courier-authlib.spec.in +++ b/courier-authlib.spec.in @@ -1,6 +1,5 @@ -# $Id: courier-authlib.spec.in,v 1.12 2007/10/07 02:50:45 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 @@ -10,6 +9,8 @@ %define courier_release %{nil} %endif +%define using_systemd %(test -d /etc/systemd && echo 1 || echo 0) + ################################################################################ Name: courier-authlib @@ -18,7 +19,7 @@ Release: 1%{?dist}%{?courier_release} Summary: Courier authentication library Group: System Environment/Daemons -License: GPL +License: GPLv3 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: mysql-devel zlib-devel +BuildRequires: mysql-devel zlib-devel sqlite-devel BuildRequires: postgresql-devel BuildRequires: gdbm-devel BuildRequires: pam-devel @@ -45,9 +46,13 @@ BuildRequires: %{_includedir}/ltdl.h 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 +%endif ################################################################################ @@ -73,7 +78,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} @@ -107,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. +%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} @@ -137,7 +153,7 @@ 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} -s %{_smp_mflags} @@ -147,12 +163,14 @@ 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 @@ -166,6 +184,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 @@ -188,6 +207,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 @@ -198,6 +235,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 ;; @@ -212,28 +252,56 @@ 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 + +/bin/systemctl daemon-reload || : +/bin/systemctl enable courier-authlib.service &> /dev/null || : +%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 + /bin/systemctl stop courier-authlib.service + /bin/systemctl disable courier-authlib.service +%else + /sbin/chkconfig --del courier-authlib +%endif fi +%postun +%if %using_systemd +/bin/systemctl daemon-reload || : +%endif + %clean rm -rf $RPM_BUILD_ROOT @@ -241,8 +309,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 @@ -256,14 +329,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