概要
Vine LinuxではCD1枚に収めるというポリシーがあるため、PostgreSQLはVinePlusという「VineLinux対応アプリケーション集」に追い出されている。cyrus-saslは基本パッケージに含まれるものであるため、外部パッケージであるPostgreSQLが使えるようにビルドされていない。
postfixとcyrus-imapdからPostgreSQLを利用するために、PostgreSQL対応のsyrus-saslを作成する。
やること
- cyrus-saslのソースを取得する
- specファイルを編集する
- ビルドしてインストールする
cyrus-saslのソースを取得する
- $ apt-get source cyrus-sasl
specファイルを編集する
まずソースをインストールする。
- $ rpm -i cyrus-sasl-2.1.18-0vl5.src.rpm
~/rpm/SPECS/cyrus-sasl-vl.specを編集する。
--- cyrus-sasl-vl.spec 2006-04-28 16:35:58.000000000 +0900
+++ cyrus-sasl-vl.spec.new 2007-03-03 09:51:45.000000000 +0900
@@ -1,5 +1,5 @@
%define version 2.1.18
-%define release 0vl5
+%define release 0vl5fl3
%define cs1_version 1.5.28
%define _plugindir %{_libdir}/sasl
%define _plugindir2 %{_libdir}/sasl2
@@ -35,7 +35,7 @@
Buildroot: %{_tmppath}/%{name}-root
BuildPrereq: autoconf, automake, libtool
# Note: berkeley db for sasl2, gdbm for sasl1.
-BuildPrereq: db4-devel, gdbm-devel, openssl-devel, pam-devel
+BuildPrereq: db4-devel, gdbm-devel, openssl-devel, pam-devel, postgresql-devel
BuildPrereq: pkgconfig
Prereq: /sbin/ldconfig, chkconfig
@@ -81,6 +81,15 @@
The %{name}-md5 package contains the Cyrus SASL plugins which support
CRAM-MD5 and DIGEST-MD5 authentication schemes.
+%package pgsql
+Requires: %{name} = %{version}-%{release}
+Group: System Environment/Libraries
+Summary: pgsql support for Cyrus SASL.
+
+%description pgsql
+The %{name}-pgsql package contains the Cyrus SASL plugins which support
+pgsql authentication schemes.
+
%prep
%setup -q -c -a 2
pushd cyrus-sasl-%{cs1_version}
@@ -147,6 +156,8 @@
--enable-cram \
--enable-digest \
--enable-plain \
+ --enable-sql \
+ --with-pgsql \
--enable-login
make sasldir=%{_plugindir}
popd
@@ -165,6 +176,8 @@
--enable-cram \
--enable-digest \
--enable-plain \
+ --enable-sql \
+ --with-pgsql \
--enable-login
# --enable-auth-sasldb -- EXPERIMENTAL
make sasldir=%{_plugindir2}
@@ -275,6 +288,11 @@
%{_plugindir2}/*digestmd5*.so*
%{_plugindir2}/*digestmd5*.la
+%files pgsql
+%defattr(-,root,root)
+%{_plugindir2}/*sql*.so*
+%{_plugindir2}/*sql*.la
+
%files devel
%defattr(-,root,root)
%doc %{name}-%{version}/%{cs1_version}-devel
@@ -294,6 +312,7 @@
%{_plugindir2}/*anonymous*.a
%{_plugindir2}/*crammd5*.a
%{_plugindir2}/*digestmd5*.a
+%{_plugindir2}/*sql*.a
%{_plugindir2}/*login*.a
%{_plugindir2}/*plain*.a
%{_plugindir2}/*sasldb*.a
ビルドしてインストールする
ビルドする
- $ cd ~/rpm/SPECS/
- $ rpm -ba cyrus-sasl-vl.spec
インストールする
- $ su -
- # cd ~XXXXX/rpm/RPMS/i386/
- # rpm -Uvh cyrus-sasl-2.1.18-0vl5fl3.i386.rpm cyrus-sasl-md5-2.1.18-0vl5fl3.i386.rpm cyrus-sasl-plain-2.1.18-0vl5fl3.i386.rpm cyrus-sasl-pgsql-2.1.18-0vl5fl3.i386.rpm
問題点
なぜかMySQLも有効にするとうまく動作しなかった。とりあえずPostgreSQLしか使わない予定なので放置してみる。

コメントする