-# $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 - 2017 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.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)
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
################################################################################
%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}
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}
%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
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
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
libauthmysql*)
echo "%{_libdir}/courier-authlib/$fn" >>configfiles.mysql
;;
+ libauthsqlite*)
+ echo "%{_libdir}/courier-authlib/$fn" >>configfiles.sqlite
+ ;;
libauthpgsql*)
echo "%{_libdir}/courier-authlib/$fn" >>configfiles.pgsql
;;
;;
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
%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
%{_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
* Sun Oct 3 2004 Mr. Sam <sam@email-scan.com> 0.50-1
- Initial build.
-