From db6645b046c8e2e8f5e0a2056ed1a3c0ab39c5c2028fdee85c2d36f3fa6433d1 Mon Sep 17 00:00:00 2001 From: Tim Serong Date: Mon, 2 Sep 2013 08:49:30 +0000 Subject: [PATCH] Experimental fix-sonames.patch OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/csync2?expand=0&rev=24 --- csync2.spec | 2 + fix-sonames.patch | 104 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 fix-sonames.patch diff --git a/csync2.spec b/csync2.spec index fd2ec5e..41753bd 100644 --- a/csync2.spec +++ b/csync2.spec @@ -36,6 +36,7 @@ Patch3: force-debug-stderr-off-inetd.patch Patch4: bind-to-local-hostname.patch Patch10: add-ac_prog_cpp.patch Patch11: fix-csync2_ssl_cert-filename.patch +Patch12: fix-sonames.patch Requires: openssl Requires: sqlite3 @@ -74,6 +75,7 @@ It is expedient for HA-clusters, HPC-clusters, COWs and server farms. #%patch4 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build export CFLAGS="$RPM_OPT_FLAGS -I/usr/include/pgsql" diff --git a/fix-sonames.patch b/fix-sonames.patch new file mode 100644 index 0000000..ba0b555 --- /dev/null +++ b/fix-sonames.patch @@ -0,0 +1,104 @@ +Index: csync2-2.0+git.1368794815.cf835a7/db_mysql.c +=================================================================== +--- csync2-2.0+git.1368794815.cf835a7.orig/db_mysql.c ++++ csync2-2.0+git.1368794815.cf835a7/db_mysql.c +@@ -53,16 +53,16 @@ static void *dl_handle; + + static void db_mysql_dlopen(void) + { +- csync_debug(2, "Opening shared library libmysqlclient.so\n"); +- dl_handle = dlopen("libmysqlclient.so", RTLD_LAZY); ++ csync_debug(2, "Opening shared library libmysqlclient.so.18\n"); ++ dl_handle = dlopen("libmysqlclient.so.18", RTLD_LAZY); + if (dl_handle == NULL) { + csync_fatal +- ("Could not open libmysqlclient.so: %s\n" ++ ("Could not open libmysqlclient.so.18: %s\n" + "Please install Mysql client library (libmysqlclient) or use other database (sqlite, postgres)\n", + dlerror()); + } + +- csync_debug(2, "Reading symbols from shared library libmysqlclient.so\n"); ++ csync_debug(2, "Reading symbols from shared library libmysqlclient.so.18\n"); + + LOOKUP_SYMBOL(dl_handle, mysql_init); + LOOKUP_SYMBOL(dl_handle, mysql_real_connect); +Index: csync2-2.0+git.1368794815.cf835a7/db_postgres.c +=================================================================== +--- csync2-2.0+git.1368794815.cf835a7.orig/db_postgres.c ++++ csync2-2.0+git.1368794815.cf835a7/db_postgres.c +@@ -58,16 +58,16 @@ static void *dl_handle; + + static void db_postgres_dlopen(void) + { +- csync_debug(2, "Opening shared library libpq.so\n"); ++ csync_debug(2, "Opening shared library libpq.so.5\n"); + +- dl_handle = dlopen("libpq.so", RTLD_LAZY); ++ dl_handle = dlopen("libpq.so.5", RTLD_LAZY); + if (dl_handle == NULL) { + csync_fatal +- ("Could not open libpq.so: %s\n" ++ ("Could not open libpq.so.5: %s\n" + "Please install postgres client library (libpg) or use other database (sqlite, mysql)\n", + dlerror()); + } +- csync_debug(2, "Reading symbols from shared library libpq.so\n"); ++ csync_debug(2, "Reading symbols from shared library libpq.so.5\n"); + + LOOKUP_SYMBOL(dl_handle, PQconnectdb); + LOOKUP_SYMBOL(dl_handle, PQstatus); +Index: csync2-2.0+git.1368794815.cf835a7/db_sqlite.c +=================================================================== +--- csync2-2.0+git.1368794815.cf835a7.orig/db_sqlite.c ++++ csync2-2.0+git.1368794815.cf835a7/db_sqlite.c +@@ -56,16 +56,16 @@ static void *dl_handle; + + static void db_sqlite3_dlopen(void) + { +- csync_debug(2, "Opening shared library libsqlite3.so\n"); ++ csync_debug(2, "Opening shared library libsqlite3.so.0\n"); + +- dl_handle = dlopen("libsqlite3.so", RTLD_LAZY); ++ dl_handle = dlopen("libsqlite3.so.0", RTLD_LAZY); + if (dl_handle == NULL) { + csync_fatal +- ("Could not open libsqlite3.so: %s\n" ++ ("Could not open libsqlite3.so.0: %s\n" + "Please install sqlite3 client library (libsqlite3) or use other database (postgres, mysql)\n", + dlerror()); + } +- csync_debug(2, "Reading symbols from shared library libsqlite3.so\n"); ++ csync_debug(2, "Reading symbols from shared library libsqlite3.so.0\n"); + + LOOKUP_SYMBOL(dl_handle, sqlite3_open); + LOOKUP_SYMBOL(dl_handle, sqlite3_close); +Index: csync2-2.0+git.1368794815.cf835a7/db_sqlite2.c +=================================================================== +--- csync2-2.0+git.1368794815.cf835a7.orig/db_sqlite2.c ++++ csync2-2.0+git.1368794815.cf835a7/db_sqlite2.c +@@ -54,20 +54,17 @@ static void *dl_handle; + + static void db_sqlite_dlopen(void) + { +- csync_debug(2, "Opening shared library libsqlite.so\n"); ++ csync_debug(2, "Opening shared library libsqlite.so.0\n"); + +- dl_handle = dlopen("libsqlite.so", RTLD_LAZY); ++ dl_handle = dlopen("libsqlite.so.0", RTLD_LAZY); + if (dl_handle == NULL) { +- csync_debug(1, "Libsqlite.so not found, trying libsqlite.so.0\n"); +- dl_handle = dlopen("libsqlite.so.0", RTLD_LAZY); +- if (dl_handle == NULL) { + csync_fatal +- ("Could not open libsqlite.so: %s\n" ++ ("Could not open libsqlite.so.0: %s\n" + "Please install sqlite client library (libsqlite) or use other database (postgres, mysql)\n", + dlerror()); + } + } +- csync_debug(2, "Opening shared library libsqlite.so\n"); ++ csync_debug(2, "Opening shared library libsqlite.so.0\n"); + + LOOKUP_SYMBOL(dl_handle, sqlite_open); + LOOKUP_SYMBOL(dl_handle, sqlite_close);