+#
+# Conditional build:
+%bcond_without ldap # do not include LDAP support
+
Summary: Courier authentication library
-Summary(pl): Biblioteka uwierzytelniania Couriera
+Summary(pl.UTF-8): Biblioteka uwierzytelniania Couriera
Name: courier-authlib
-Version: 0.59
-Release: 0.1
+Version: 0.65.0
+Release: 1
License: GPL
Group: Networking/Daemons
-Source0: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
-# Source0-md5: dbfc58a17149fd0f8c0983662ecc8ba8
+Source0: http://downloads.sourceforge.net/courier/%{name}-%{version}.tar.bz2
+# Source0-md5: e9287e33b0e70ea3745517b4d719948d
Source1: %{name}.init
-Patch0: %{name}-build.patch
-Patch1: %{name}-md5sum-passwords.patch
-Patch2: %{name}-authdaemonrc.patch
-Patch3: %{name}-nostatic.patch
-Patch4: %{name}-ltdl.patch
+Patch0: %{name}-md5sum-passwords.patch
+Patch1: %{name}-authdaemonrc.patch
+Patch2: %{name}-nostatic.patch
+Patch3: %{name}-ltdl.patch
URL: http://www.courier-mta.org/authlib/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libltdl-devel
BuildRequires: libtool
BuildRequires: mysql-devel
-BuildRequires: openldap-devel >= 2.3.0
+%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
BuildRequires: pam-devel
BuildRequires: postgresql-devel
BuildRequires: rpmbuild(macros) >= 1.304
+BuildRequires: sqlite3-devel
BuildRequires: sysconftool
BuildRequires: zlib-devel
Requires(post,postun): /sbin/ldconfig
The Courier authentication library provides authentication services
for other Courier applications.
-%description -l pl
-Biblioteka uwierzytelniania Couriera dostarcza us³ugi uwierzytelniania
+%description -l pl.UTF-8
+Biblioteka uwierzytelniania Couriera dostarcza usługi uwierzytelniania
dla innych aplikacji Couriera.
%package libs
Summary: Courier authentication library
-Summary(pl): Biblioteka uwierzytelniania Couriera
+Summary(pl.UTF-8): Biblioteka uwierzytelniania Couriera
Group: Libraries
Requires(post,postun): /sbin/ldconfig
This package contains libcourierauth.so which client programs link
against.
-%description libs -l pl
-Biblioteka uwierzytelniania Couriera dostarcza us³ugi uwierzytelniania
+%description libs -l pl.UTF-8
+Biblioteka uwierzytelniania Couriera dostarcza usługi uwierzytelniania
dla innych aplikacji Couriera.
%package devel
Summary: Development files for the Courier authentication library
-Summary(pl): Pliki programistyczne dla biblioteki uwierzytelniania Couriera
+Summary(pl.UTF-8): Pliki programistyczne dla biblioteki uwierzytelniania Couriera
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: %{name}-authldap = %{version}-%{release}
+%{?with_ldap:Requires: %{name}-authldap = %{version}-%{release}}
Requires: %{name}-authmysql = %{version}-%{release}
Requires: %{name}-authpgsql = %{version}-%{release}
-Requires: %{name}-userdb = %{version}-%{release}
+Requires: %{name}-authuserdb = %{version}-%{release}
+Requires: %{name}-authpipe = %{version}-%{release}
%description devel
This package contains the development files needed to compile Courier
and installed this package can be removed. Files in this package are
not needed at runtime.
-%description devel -l pl
+%description devel -l pl.UTF-8
Ten pakiet zawiera pliki programistyczne potrzebne do kompilacji
-pakietów Couriera u¿ywaj±cych biblioteki uwierzytelniania. Nale¿y go
-zainstalowaæ aby zbudowaæ resztê pakietów Couriera. Po ich zbudowaniu
-i zainstalowaniu ten pakiet mo¿na usun±æ. Pliki z tego pakietu nie s±
-potrzebne w czasie dzia³ania programów.
+pakietów Couriera używających biblioteki uwierzytelniania. Należy go
+zainstalować aby zbudować resztę pakietów Couriera. Po ich zbudowaniu
+i zainstalowaniu ten pakiet można usunąć. Pliki z tego pakietu nie są
+potrzebne w czasie działania programów.
%package authldap
Summary: LDAP support for the Courier authentication library
-Summary(pl): Obs³uga LDAP dla biblioteki uwierzytelniania Couriera
+Summary(pl.UTF-8): Obsługa LDAP dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
Requires(pre,postun): sed >= 4.0
Requires: %{name} = %{version}-%{release}
library. Install this package in order to be able to authenticate
using LDAP.
-%description authldap -l pl
-Ten pakiet dodaje obs³ugê LDAP do biblioteki uwierzytelniania
-Couriera. Nale¿y go zainstalowaæ aby móc uwierzytelniaæ siê z u¿yciem
+%description authldap -l pl.UTF-8
+Ten pakiet dodaje obsługę LDAP do biblioteki uwierzytelniania
+Couriera. Należy go zainstalować aby móc uwierzytelniać się z użyciem
LDAP.
%package authmysql
Summary: MySQL support for the Courier authentication library
-Summary(pl): Obs³uga MySQL dla biblioteki uwierzytelniania Couriera
+Summary(pl.UTF-8): Obsługa MySQL dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
Requires(pre,postun): sed >= 4.0
Requires: %{name} = %{version}-%{release}
library. Install this package in order to be able to authenticate
using MySQL.
-%description authmysql -l pl
-Ten pakiet dodaje obs³ugê MySQL do biblioteki uwierzytelniania
-Couriera. Nale¿y go zainstalowaæ aby móc uwierzytelniaæ siê z u¿yciem
+%description authmysql -l pl.UTF-8
+Ten pakiet dodaje obsługę MySQL do biblioteki uwierzytelniania
+Couriera. Należy go zainstalować aby móc uwierzytelniać się z użyciem
MySQL.
%package authpgsql
Summary: PostgreSQL support for the Courier authentication library
-Summary(pl): Obs³uga PostgreSQL dla biblioteki uwierzytelniania Couriera
+Summary(pl.UTF-8): Obsługa PostgreSQL dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
Requires(pre,postun): sed >= 4.0
Requires: %{name} = %{version}-%{release}
authentication library. Install this package in order to be able to
authenticate using PostgreSQL.
-%description authpgsql -l pl
-Ten pakiet dodaje obs³ugê PostgreSQL do biblioteki uwierzytelniania
-Couriera. Nale¿y go zainstalowaæ aby móc uwierzytelniaæ siê z u¿yciem
+%description authpgsql -l pl.UTF-8
+Ten pakiet dodaje obsługę PostgreSQL do biblioteki uwierzytelniania
+Couriera. Należy go zainstalować aby móc uwierzytelniać się z użyciem
PostgreSQL.
-%package userdb
+%package authpipe
+Summary: External authentication module that communicates via pipes
+Summary(pl.UTF-8): Zewnętrzny moduł uwierzytelniający komunikujący się przez potoki
+Group: Networking/Daemons
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
+Obsoletes: courier-authlib-authpipe
+
+%description authpipe
+This package installs the authpipe module, which is a generic plugin
+that enables authentication requests to be serviced by an external
+program, then communicates through messages on stdin and stdout.
+
+%description authpipe -l pl.UTF-8
+Pakiet ten instaluje moduł authpipe, który jest ogólną wtyczką
+umożliwiającą obsługę żądań uwierzytelnienia przez zewnętrzny program
+komunikujący się poprzez wiadomości wysyłane na stdin i stdout.
+
+%package authsqlite
+Summary: SQLite support for the Courier authentication library
+Summary(pl.UTF-8): Obsługa SQLite dla biblioteki uwierzytelniania Couriera
+Group: Networking/Daemons
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
+
+%description authsqlite
+This package installs SQLite support for the Courier authentication
+library. Install this package in order to be able to authenticate
+using SQLite.
+
+%description authsqlite -l pl.UTF-8
+Ten pakiet dodaje obsługę SQLite do biblioteki uwierzytelniania
+Couriera. Należy go zainstalować aby móc uwierzytelniać się z użyciem
+SQLite.
+
+%package authuserdb
Summary: Userdb support for the Courier authentication library
-Summary(pl): Obs³uga userdb dla biblioteki uwierzytelniania Couriera
+Summary(pl.UTF-8): Obsługa userdb dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
Requires(pre,postun): sed >= 4.0
Requires: %{name} = %{version}-%{release}
+Obsoletes: courier-authlib-userdb
Obsoletes: courier-imap-userdb
Obsoletes: sqwebmail-auth-userdb
-%description userdb
+%description authuserdb
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.
-%description userdb -l pl
-Ten pakiet dodaje obs³ugê userdb do biblioteki uwierzytelniania
-Couriera. Userdb to prosty sposób zarz±dzania wirtualnymi kontami
-pocztowymi przy u¿yciu pliku bazy danych opartej na GDBM.
+%description authuserdb -l pl.UTF-8
+Ten pakiet dodaje obsługę userdb do biblioteki uwierzytelniania
+Couriera. Userdb to prosty sposób zarządzania wirtualnymi kontami
+pocztowymi przy użyciu pliku bazy danych opartej na GDBM.
-Nale¿y go zainstalowaæ aby móc uwierzytelniaæ siê z u¿yciem userdb.
-
-%package pipe
-Summary: External authentication module that communicates via pipes
-Summary(pl): Zewnêtrzny modu³ uwierzytelniaj±cy komunikuj±cy siê przez potoki
-Group: Networking/Daemons
-Requires(pre,postun): sed >= 4.0
-Requires: %{name} = %{version}-%{release}
-
-%description pipe
-This package installs the authpipe module, which is a generic plugin
-that enables authentication requests to be serviced by an external
-program, then communicates through messages on stdin and stdout.
-
-%description pipe -l pl
-Pakiet ten instaluje modu³ authpipe, który jest ogóln± wtyczk±
-umo¿liwiaj±c± obs³ugê ¿±dañ uwierzytelnienia przez zewnêtrzny program
-komunikuj±cy siê poprzez wiadomo¶ci wysy³ane na stdin i stdout.
+Należy go zainstalować aby móc uwierzytelniać się z użyciem userdb.
%package -n openldap-schema-courier
Summary: Courier LDAP schema
-Summary(pl): Schemat LDAP Couriera
+Summary(pl.UTF-8): Schemat LDAP Couriera
Group: Networking/Daemons
Requires(post,postun): sed >= 4.0
Requires: openldap-servers
%description -n openldap-schema-courier
This package contains Courier authldap.schema for openldap.
-%description -n openldap-schema-courier -l pl
+%description -n openldap-schema-courier -l pl.UTF-8
Ten pakiet zawiera schemat Couriera authldap.schema dla openldapa.
%prep
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
rm -rf libltdl
%build
-for d in . gdbmobj bdbobj md5 sha1 libhmac makedat userdb; do
-cd $d
+# Change Makefile.am files and force recreate Makefile.in's.
+OLDDIR=`pwd`
+find -type f -a \( -name configure.in -o -name configure.ac \) | while read FILE; do
+ cd "`dirname "$FILE"`"
+
+ if [ -f Makefile.am ]; then
+ sed -i -e '/_[L]DFLAGS=-static/d' Makefile.am
+ fi
+
%{__libtoolize}
%{__aclocal}
%{__autoconf}
- %{__autoheader}
+ if grep -q AC_CONFIG_HEADER configure.in; then
+ %{__autoheader}
+ fi
%{__automake}
-cd -
+
+ cd "$OLDDIR"
done
%configure \
+ --enable-ltdl-install=no \
+ %{!?with_ldap:--without-authldap} \
--with-db=db \
--with-mailuser=daemon \
--with-mailgroup=daemon
-%{__make} \
+%{__make} -j1 \
LDFLAGS="%{rpmldflags} -lcrypt"
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
+%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/authlib/userdb,%{schemadir},%{_bindir}}
/sbin/ldconfig %{_libexecdir}/courier-authlib
%service -q courier-authlib restart
-%post userdb
+%post authpipe
if [ "$1" = 1 ]; then
# add to authmodulelist list if package is first installed
- %{__sed} -i -e '/^authmodulelist=/{/\buserdb\b/!s/"$/ userdb"/}' /etc/authlib/authdaemonrc
+ %{__sed} -i -e '/^authmodulelist=/{/\bpipe\b/!s/"$/ pipe"/}' /etc/authlib/authdaemonrc
fi
/sbin/ldconfig %{_libexecdir}/courier-authlib
%service -q courier-authlib restart
-%postun userdb
+%postun authpipe
if [ "$1" = 0 ]; then
# remove from authmodulelist if package is removed
- %{__sed} -i -e '/^authmodulelist=/{s/ \?\buserdb\b \?//}' /etc/authlib/authdaemonrc
+ %{__sed} -i -e '/^authmodulelist=/{s/ \?\bpipe\b \?//}' /etc/authlib/authdaemonrc
fi
/sbin/ldconfig %{_libexecdir}/courier-authlib
%service -q courier-authlib restart
-%post pipe
+%post authsqlite
if [ "$1" = 1 ]; then
# add to authmodulelist list if package is first installed
- %{__sed} -i -e '/^authmodulelist=/{/\bpipe\b/!s/"$/ pipe"/}' /etc/authlib/authdaemonrc
+ %{__sed} -i -e '/^authmodulelist=/{/\bauthsqlite\b/!s/"$/ authsqlite"/}' /etc/authlib/authdaemonrc
fi
/sbin/ldconfig %{_libexecdir}/courier-authlib
%service -q courier-authlib restart
-%postun pipe
+%postun authsqlite
if [ "$1" = 0 ]; then
# remove from authmodulelist if package is removed
- %{__sed} -i -e '/^authmodulelist=/{s/ \?\bpipe\b \?//}' /etc/authlib/authdaemonrc
+ %{__sed} -i -e '/^authmodulelist=/{s/ \?\bauthsqlite\b \?//}' /etc/authlib/authdaemonrc
+fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
+
+%post authuserdb
+if [ "$1" = 1 ]; then
+ # add to authmodulelist list if package is first installed
+ %{__sed} -i -e '/^authmodulelist=/{/\buserdb\b/!s/"$/ userdb"/}' /etc/authlib/authdaemonrc
+fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
+
+%postun authuserdb
+if [ "$1" = 0 ]; then
+ # remove from authmodulelist if package is removed
+ %{__sed} -i -e '/^authmodulelist=/{s/ \?\buserdb\b \?//}' /etc/authlib/authdaemonrc
fi
/sbin/ldconfig %{_libexecdir}/courier-authlib
%service -q courier-authlib restart
%service -q courier-authlib restart
fi
-%triggerin -n %{name}-userdb -- courier < 0.48
+%triggerin -n %{name}-authuserdb -- courier < 0.48
if [ -d /etc/courier/userdb ]; then
mv -f /etc/courier/userdb/* /etc/authlib/userdb
makeuserdb
makeuserdb
fi
-%triggerin -n %{name}-userdb -- courier-imap-userdb < 4.0.0
+%triggerin -n %{name}-authuserdb -- courier-imap-userdb < 4.0.0
if [ -d /etc/courier-imap/userdb ]; then
mv -f /etc/courier-imap/userdb/* /etc/authlib/userdb
makeuserdb
makeuserdb
fi
-%triggerin -n %{name}-userdb -- sqwebmail-auth-userdb < 5.0.0
+%triggerin -n %{name}-authuserdb -- sqwebmail-auth-userdb < 5.0.0
if [ -d /etc/sqwebmail/userdb ]; then
mv -f /etc/sqwebmail/userdb/* /etc/authlib/userdb
makeuserdb
%attr(755,root,root) %{_libexecdir}/courier-authlib/authdaemond
%attr(755,root,root) %{_libexecdir}/courier-authlib/authsystem.passwd
%attr(755,root,root) %{_libexecdir}/courier-authlib/makedatprog
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthcustom.so.*.*.*
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpam.so.*.*.*
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthcommon.so.*.*.*
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthsasl.so.*.*.*
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthsaslclient.so.*.*.*
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthcustom.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthcustom.so.0
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpam.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthpam.so.0
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthcommon.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libcourierauthcommon.so.0
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthsasl.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libcourierauthsasl.so.0
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthsaslclient.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libcourierauthsaslclient.so.0
%{_libexecdir}/courier-authlib/libauthcustom.la
%{_libexecdir}/courier-authlib/libauthpam.la
%{_libexecdir}/courier-authlib/libcourierauth.la
%files libs
%defattr(644,root,root,755)
%dir %{_libexecdir}/courier-authlib
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauth.so.*.*.*
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauth.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libcourierauth.so.0
%files devel
%defattr(644,root,root,755)
%{_mandir}/man3/*
%attr(755,root,root) %{_libexecdir}/courier-authlib/*.so
+%if %{with ldap}
%files authldap
%defattr(644,root,root,755)
%doc authldap.schema README.ldap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/authlib/authldaprc
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthldap.so.*.*.*
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthldap.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthldap.so.0
%{_libexecdir}/courier-authlib/libauthldap.la
+%endif
%files authmysql
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/authlib/authmysqlrc
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthmysql.so.*.*.*
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthmysql.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthmysql.so.0
%{_libexecdir}/courier-authlib/libauthmysql.la
%files authpgsql
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/authlib/authpgsqlrc
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpgsql.so.*.*.*
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpgsql.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthpgsql.so.0
%{_libexecdir}/courier-authlib/libauthpgsql.la
-%files userdb
+%files authpipe
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpipe.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthpipe.so.0
+%{_libexecdir}/courier-authlib/libauthpipe.la
+
+%files authsqlite
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/authlib/authsqliterc
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthsqlite.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthsqlite.so.0
+%{_libexecdir}/courier-authlib/libauthsqlite.la
+
+%files authuserdb
%defattr(644,root,root,755)
%attr(700,root,root) %dir %{_sysconfdir}/authlib/userdb
%attr(755,root,root) %{_sbindir}/makeuserdb
%attr(755,root,root) %{_sbindir}/userdb
%attr(755,root,root) %{_sbindir}/userdb-test-cram-md5
%attr(755,root,root) %{_sbindir}/userdbpw
-%attr(755,root,root) %{_sbindir}/vchkpw2userdb
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthuserdb.so.*.*.*
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthuserdb.so
+%attr(755,root,root) %ghost %{_libexecdir}/courier-authlib/libauthuserdb.so.0
%{_libexecdir}/courier-authlib/libauthuserdb.la
%{_mandir}/man8/*userdb*
-%files pipe
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpipe.so.*.*.*
-%{_libexecdir}/courier-authlib/libauthpipe.la
-
+%if %{with ldap}
%files -n openldap-schema-courier
%defattr(644,root,root,755)
%{schemadir}/*.schema
+%endif