X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/blobdiff_plain/dd184caf1b0d37f50ea0ddcc68822bd38da32105..0e333c05cada796fa75ceebdfc4b3e20d48f87ec:/courier-authlib.spec diff --git a/courier-authlib.spec b/courier-authlib.spec index 86da0ce..3312d99 100644 --- a/courier-authlib.spec +++ b/courier-authlib.spec @@ -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 - 2017 Double Precision, Inc. See COPYING for # distribution information. # No dist tag from mock; detect mandrake, redhat, etc. the old fashioned way @@ -10,20 +9,22 @@ %define courier_release %{nil} %endif +%define using_systemd %(test -d /etc/systemd && echo 1 || echo 0) + ################################################################################ Name: courier-authlib -Version: 0.60.1 +Version: 0.69.0 Release: 1%{?dist}%{?courier_release} Summary: Courier authentication library Group: System Environment/Daemons -License: GPL +License: GPLv3 URL: http://www.courier-mta.org ################################################################################ -Source: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2 +Source: http://downloads.sourceforge.net/courier/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -31,23 +32,36 @@ 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 %if 0%(rpm -q redhat-release >/dev/null 2>&1 || rpm -q fedora-release >/dev/null 2>&1 || exit 0; echo "1") BuildRequires: redhat-rpm-config +BuildRequires: /usr/bin/ps %endif - +%if %using_systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig +%endif + +%define need_perl_generators %(if rpm -q fedora-release >/dev/null 2>/dev/null; then echo "1"; exit 0; fi; echo "1"; exit 1) + +%if %need_perl_generators +BuildRequires: perl-generators +%endif ################################################################################ @@ -73,7 +87,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 +121,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 +162,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 +172,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 +193,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 +216,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 +244,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,27 +261,55 @@ 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 +if [ $1 -eq 1 ] +then + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi +%else /sbin/chkconfig --del courier-authlib /sbin/chkconfig --add courier-authlib - +%endif %preun -if test -x %{_sbindir}/authdaemond +if test "$1" = "0" then - %{_sbindir}/authdaemond >/dev/null 2>&1 || /bin/true +%if %using_systemd +%systemd_preun courier-authlib.service +%else + /sbin/chkconfig --del courier-authlib +%endif fi -if test "$1" = "0" +%postun +%if %using_systemd +if [ $1 -eq 0 ] then - /sbin/chkconfig --del courier-authlib + /bin/systemctl daemon-reload fi +%systemd_postun_with_restart courier-authlib.service +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -241,8 +318,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 +338,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 @@ -279,4 +364,3 @@ rm -rf $RPM_BUILD_ROOT * Sun Oct 3 2004 Mr. Sam 0.50-1 - Initial build. -