Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-updates-src > by-pkgid > 73093cb1c8f242ddaece96043c8acbb2 > files > 5

courier-authlib-0.63.0-8.mga1.src.rpm

%define name courier-authlib
%define version 0.63.0
%define release %mkrel 8

Name:		%{name}
Version:	%{version}
Release:	%{release}
Summary:	Courier authentication library
Group:		System/Servers
License:	GPL
URL:		http://www.courier-mta.org
Source0:	http://prdownloads.sourceforge.net/courier/%{name}-%{version}.tar.bz2
Source1:	courier-authlib.sysconftool.m4
Source2:	courier-authlib.authdaemon-init
Patch0:		courier-authlib-0.58.sysconftool.patch
Patch1:		courier-authlib-0.63.0-authpgsql_mem_leak.diff
BuildRequires:	expect
BuildRequires:	libltdl-devel
BuildRequires:	gdbm-devel
BuildRequires:	openldap-devel
BuildRequires:	pam-devel
BuildRequires:	mysql-devel
BuildRequires:	postgresql-devel
Obsoletes:	courier-imap-utils
Obsoletes:	libcourier-authlib0
Conflicts:	courier-imap <= 3.0.8
# because *.so files were moved from courier-authlib-devel (fixes #7727)
Conflicts:	courier-authlib-devel < 0.63.0-7

%description
The Courier authentication library provides authentication
services for other Courier applications.

This package contains the Courier authentication daemon and common
authentication modules:

 o authcustom
 o authpam
 o authpwd
 o authshadow
 o courierauthsaslclient
 o courierauthsasl

%package -n courier-authdaemon
Summary:	Courier authentication daemon
Group:		System/Servers
Requires:	%{name} = %{version}
Requires:	expect
Requires(pre):	rpm-helper

%description -n courier-authdaemon
This package contains the Courier authentication daemon.

%package userdb
Summary:	Userdb support for the Courier authentication library
Group:		System/Servers
Requires(pre):	%{name} = %{version}

%description userdb
This package installs the userdb support for the Courier
authentication library.  Userdb is a simple way to manage virtual
mail accounts using a GDBM-based database file.

Install this package in order to be able to authenticate with
userdb.

%package ldap
Summary:	LDAP support for the Courier authentication library
Group:		System/Servers
Requires(pre):	%{name} = %{version}
Obsoletes:	courier-imap-ldap

%description ldap
This package installs LDAP support for the Courier authentication
library. Install this package in order to be able to authenticate
using LDAP.

%package mysql
Summary:	MySQL support for the Courier authentication library
Group:		System/Servers
Requires(pre):	%{name} = %{version}
Obsoletes:	courier-imap-mysql

%description mysql
This package installs MySQL support for the Courier authentication
library. Install this package in order to be able to authenticate
using MySQL.

%package pgsql
Summary:	MySQL support for the Courier authentication library
Group:		System/Servers
Requires(pre):	%{name} = %{version}
Obsoletes:	courier-imap-pgsql

%description pgsql
This package installs PostgreSQL support for the Courier
authentication library. Install this package in order to be able
to authenticate using PostgreSQL.

%package devel
Summary:	Development libraries for the Courier authentication library
Group:		Development/C
Requires:	%{name} = %{version}

%description devel
This package contains the development libraries and files needed
to compile Courier packages that use this authentication library.
Install this package in order to build the rest of the Courier
packages. After they are built and installed this package can be
removed. Files in this package are not needed at runtime.

%prep
%setup -q -n %{name}-%{version}
%patch0 -p 0 -b .sysconftool
%patch1 -p0 -b .authpgsql_mem_leak

cp %{SOURCE1} .

%build
%configure2_5x \
    --with-syslog=MAIL \
    --disable-ltdl-install \
    --with-db=gdbm \
    --with-random=/dev/urandom \
    --with-mailuser=daemon \
    --with-mailgroup=daemon \
    --with-authdaemonrc=%{_sysconfdir}/courier/authdaemonrc \
    --with-authdaemonvar=%{_localstatedir}/lib/authdaemon \
    --with-makedatprog=%{_sbindir}/makedatprog \
    --with-userdb=%{_sysconfdir}/userdb \
    --with-pkgconfdir=%{_sysconfdir}/courier \
    --with-authuserdb \
    --with-authpam \
    --with-authldap \
    --with-authldaprc=%{_sysconfdir}/courier/authldaprc \
    --with-authpwd \
    --with-authshadow \
    --without-authvchkpw \
    --with-authpgsqlrc=%{_sysconfdir}/courier/authpgsqlrc \
    --with-authpgsql \
    --with-pgsql-libs=%{_libdir} \
    --with-pgsql-includes=%{_includedir}/pgsql \
    --with-authmysqlrc=%{_sysconfdir}/courier/authmysqlrc \
    --with-authmysql \
    --with-mysql-libs=%{_libdir} \
    --with-mysql-includes=%{_includedir}/mysql \
    --with-authcustom
%make
%make authinfo

%check
%{__make} check

%install
rm -rf %{buildroot}
%makeinstall_std

# fix perms
chmod 755 %{buildroot}%{_localstatedir}/lib/authdaemon

install -d %{buildroot}%{_var}/run/authdaemon

install -m 755 sysconftool %{buildroot}%{_libdir}/courier-authlib/
install -m 755 authmigrate %{buildroot}%{_libdir}/courier-authlib/

install -d -m 755 %{buildroot}%{_initrddir}
install -m 755 %{SOURCE2} %{buildroot}%{_initrddir}/courier-authdaemon
mv %{buildroot}%{_libdir}/courier-authlib/authdaemond %{buildroot}%{_sbindir}/authdaemond

mv %{buildroot}%{_libdir}/courier-authlib/makedatprog %{buildroot}%{_sbindir}/makedatprog

# some utils...
install -m 755 authinfo %{buildroot}%{_sbindir}/
install -m 755 authdaemontest %{buildroot}%{_sbindir}/
install -m 755 liblock/lockmail %{buildroot}%{_sbindir}/
install -m 644 liblock/lockmail.1 %{buildroot}%{_mandir}/man1/

# fix configuration
for file in %{buildroot}%{_sysconfdir}/courier/*.dist; do
    mv $file  %{buildroot}%{_sysconfdir}/courier/`basename $file .dist`
done
chmod 644 %{buildroot}%{_sysconfdir}/courier/*

perl -pi \
    -e "s|^authmodulelist=.*|authmodulelist=\"authpam authpwd authshadow\"|g;" \
    -e "s|^authmodulelistorig=.*|authmodulelistorig=\"authpam authpwd authshadow\"|g;" \
    %{buildroot}%{_sysconfdir}/courier/authdaemonrc

cat > README.mdv << EOF
Mageia RPM specific notes

Upgrade
------
Default upgrade procedure consists of shipping new configuration files with
.dist suffix, then running sysconftool script to merge with current
configuration. This packages ships new configuration files with their final
name instead, wich will be saved by rpm as .rpmnew if original ones have been
modified, and run sysconftools script during upgrade automatically.
EOF

%post -n courier-authdaemon
%{_libdir}/courier-authlib/authmigrate >/dev/null
if [ -f %{_sysconfdir}/courier/authdaemonrc.rpmnew ]; then
    %{_libdir}/courier-authlib/sysconftool %{_sysconfdir}/courier/authdaemonrc.rpmnew >/dev/null
fi
%_post_service courier-authdaemon

%preun -n courier-authdaemon
%_preun_service courier-authdaemon

%post userdb
%{_initrddir}/courier-authdaemon condrestart 1>&2;

%postun userdb
if [ "$1" = "0" ]; then
    %{_initrddir}/courier-authdaemon condrestart 1>&2;
fi

%post ldap
%{_libdir}/courier-authlib/authmigrate >/dev/null
if [ -f %{_sysconfdir}/courier/authldaprc.rpmnew ]; then
    %{_libdir}/courier-authlib/sysconftool %{_sysconfdir}/courier/authldaprc.rpmnew >/dev/null
fi
%{_initrddir}/courier-authdaemon condrestart 1>&2;
    
%postun ldap
if [ "$1" = "0" ]; then
    %{_initrddir}/courier-authdaemon condrestart 1>&2;
fi

%post mysql
%{_libdir}/courier-authlib/authmigrate >/dev/null
if [ -f %{_sysconfdir}/courier/authmysqlrc.rpmnew ]; then
    %{_libdir}/courier-authlib/sysconftool %{_sysconfdir}/courier/authmysqlrc.rpmnew >/dev/null
fi
%{_initrddir}/courier-authdaemon condrestart 1>&2;
    
%postun mysql
if [ "$1" = "0" ]; then
    %{_initrddir}/courier-authdaemon condrestart 1>&2;
fi

%pre pgsql
%{_libdir}/courier-authlib/authmigrate >/dev/null

%post pgsql
%{_initrddir}/courier-authdaemon condrestart 1>&2;
    
%postun pgsql
if [ "$1" = "0" ]; then
    %{_initrddir}/courier-authdaemon condrestart 1>&2;
fi

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc README.mdv README README.authdebug.html README.html README_authlib.html
%doc NEWS COPYING* AUTHORS ChangeLog liblock/lockmail.html liblog/courierlogger.html
%dir %{_sysconfdir}/courier
%dir %{_libdir}/courier-authlib
%{_libdir}/courier-authlib/authmigrate
%{_libdir}/courier-authlib/authsystem.passwd
%{_libdir}/courier-authlib/sysconftool
%{_libdir}/courier-authlib/libcourierauthsaslclient.so*
%{_libdir}/courier-authlib/libcourierauthsasl.so*
%{_libdir}/courier-authlib/libcourierauthcommon.so*
%{_libdir}/courier-authlib/libcourierauth.so*
%{_libdir}/courier-authlib/libauthcustom.so*
%{_libdir}/courier-authlib/libauthpam.so*
%{_libdir}/courier-authlib/libauthpwd.so*
%{_libdir}/courier-authlib/libauthshadow.so*
%{_libdir}/courier-authlib/libauthpipe.so*
%{_mandir}/man1/*

%files -n courier-authdaemon
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/courier/authdaemonrc
%{_sbindir}/authdaemond
%{_sbindir}/authdaemontest
%{_sbindir}/authenumerate
%{_sbindir}/authinfo
%{_sbindir}/authtest
%{_sbindir}/courierlogger
%{_sbindir}/lockmail
%{_sbindir}/authpasswd
%{_sbindir}/makedatprog
%{_initrddir}/courier-authdaemon
%{_localstatedir}/lib/authdaemon
%{_var}/run/authdaemon

%files userdb
%defattr(-,root,root)
%doc userdb/makeuserdb.html userdb/userdb.html userdb/userdbpw.html
%{_sbindir}/makeuserdb
%{_sbindir}/pw2userdb
%{_sbindir}/userdb
%{_sbindir}/userdb-test-cram-md5
%{_sbindir}/userdbpw
%{_libdir}/courier-authlib/libauthuserdb.so*
%{_mandir}/man8/*userdb*

%files ldap
%defattr(-,root,root)
%doc README.ldap authldap.schema
%config(noreplace) %{_sysconfdir}/courier/authldaprc
%{_libdir}/courier-authlib/libauthldap.so*

%files mysql
%defattr(-,root,root)
%doc README.authmysql.html README.authmysql.myownquery
%config(noreplace) %{_sysconfdir}/courier/authmysqlrc
%{_libdir}/courier-authlib/libauthmysql.so*

%files pgsql
%defattr(-,root,root)
%doc README.authpostgres.html
%config(noreplace) %{_sysconfdir}/courier/authpgsqlrc
%{_libdir}/courier-authlib/libauthpgsql.so*

%files devel
%defattr(-,root,root)
%doc authlib.html auth_*.html
%{_bindir}/courierauthconfig
%{_libdir}/courier-authlib/*.la
%{_libdir}/courier-authlib/*.a
%{_includedir}/*
%{_mandir}/man3/*


%changelog

* Fri Oct 12 2012 oden <oden> 0.63.0-8.mga1
+ Revision: 304986
- P1: fix a memory leak in authpgsql (upstream)
- whoops. this one doesn't have the %%{_sysconfdir}/ld.so.conf.d/courier-authlib.conf file
- fix #7727 (courier-authlib-devel provides)

* Fri Mar 25 2011 dmorgan <dmorgan> 0.63.0-6.mga1
+ Revision: 77243
- Rebuild against new mysql

* Sun Feb 06 2011 spuhler <spuhler> 0.63.0-5.mga1
+ Revision: 47794
- removed buildroot definition from .spec
-Mandriva RPM specific notes
  +Mageia RPM specific notes
- imported package courier-authlib