]> git.ipfire.org Git - people/arne_f/ipfire-3.x.git/commitdiff
compat-cyrus-sasl: New package.
authorStefan Schantl <stefan.schantl@ipfire.org>
Wed, 27 Apr 2016 09:18:53 +0000 (11:18 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 27 Apr 2016 12:11:42 +0000 (13:11 +0100)
As a result of a *.so bump in the latest cyrus-sasl package
and binaries wich are still linked against the old version
we have to create a compatibility package to cover this
bump.

Fixes #10892.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
compat-cyrus-sasl/compat-cyrus-sasl.nm [new file with mode: 0644]
compat-cyrus-sasl/patches/cyrus-sasl-2.1.23-db5.patch [new file with mode: 0644]

diff --git a/compat-cyrus-sasl/compat-cyrus-sasl.nm b/compat-cyrus-sasl/compat-cyrus-sasl.nm
new file mode 100644 (file)
index 0000000..38dd9d4
--- /dev/null
@@ -0,0 +1,74 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = compat-cyrus-sasl
+version    = 2.1.25
+release    = 2.1
+
+thisapp    = cyrus-sasl-%{version}
+
+groups     = System/Libraries
+url        = http://asg.web.cmu.edu/sasl/sasl-library.html
+license    = BSD
+summary    = The Cyrus SASL library.
+
+description
+       The cyrus-sasl package contains the Cyrus implementation of SASL.
+       SASL is the Simple Authentication and Security Layer, a method for
+       adding authentication support to connection-based protocols.
+end
+
+source_dl  = ftp://ftp.cyrusimap.org/cyrus-sasl/
+
+build
+       requires
+               automake
+               libdb-devel
+               openssl-devel
+               pam-devel
+       end
+
+       prepare_cmds
+               # for aarch64
+               for i in $(find . -name config.guess -or -name config.sub); do
+                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
+               done
+       end
+
+       configure_options += \
+               --sysconfdir=/etc \
+               --with-configdir=%{libdir}/sasl2:/etc/sasl2 \
+               --with-plugindir=%{libdir}/sasl2 \
+               --with-dbpath=/var/lib/sasl/sasldb2 \
+               --with-saslauthd=/var/run/saslauthd \
+               --mandir=/usr/share/man
+
+       PARALLELISMFLAGS = # Disabled
+
+       install
+               # Only install libraries.
+               mkdir -pv %{BUILDROOT}%{libdir}
+               install -m 755 lib/.libs/libsasl2.so.2.0.25 %{BUILDROOT}%{libdir}
+               ln -svf libsasl2.so.2.0.25 %{BUILDROOT}%{libdir}/libpcre.so.2
+       end
+end
+
+packages
+       package %{name}
+               provides
+                       cyrus-sasl = %{thisver}
+                       cyrus-sasl-libs = %{thisver}
+               end
+
+               conflicts
+                       cyrus-sasl <= %{thisver}
+                       cyrus-sasl-libs <= %{thisver}
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/compat-cyrus-sasl/patches/cyrus-sasl-2.1.23-db5.patch b/compat-cyrus-sasl/patches/cyrus-sasl-2.1.23-db5.patch
new file mode 100644 (file)
index 0000000..ff831cd
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/sasldb/db_berkeley.c
++++ b/sasldb/db_berkeley.c
+@@ -100,7 +100,7 @@ static int berkeleydb_open(const sasl_ut
+     ret = db_create(mbdb, NULL, 0);
+     if (ret == 0 && *mbdb != NULL)
+     {
+-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
+       ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
+ #else
+       ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
+--- a/utils/dbconverter-2.c
++++ b/utils/dbconverter-2.c
+@@ -214,7 +214,7 @@ static int berkeleydb_open(const char *p
+     ret = db_create(mbdb, NULL, 0);
+     if (ret == 0 && *mbdb != NULL)
+     {
+-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
+       ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
+ #else
+       ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664);