diff options
-rw-r--r-- | testing/csync2/01-csync2-sqlite3.patch | 518 | ||||
-rw-r--r-- | testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch | 24 | ||||
-rw-r--r-- | testing/csync2/APKBUILD | 44 |
3 files changed, 586 insertions, 0 deletions
diff --git a/testing/csync2/01-csync2-sqlite3.patch b/testing/csync2/01-csync2-sqlite3.patch new file mode 100644 index 000000000..364dcca79 --- /dev/null +++ b/testing/csync2/01-csync2-sqlite3.patch @@ -0,0 +1,518 @@ +diff -ruN csync2-1.34.vanilla/action.c csync2-1.34/action.c +--- csync2-1.34.vanilla/action.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/action.c 2008-06-12 15:36:47.000000000 +0200 +@@ -69,7 +69,7 @@ + "SELECT filename from action WHERE command = '%s' " + "and logfile = '%s'", command, logfile) + { +- textlist_add(&tl, SQL_V[0], 0); ++ textlist_add(&tl, SQL_V(0), 0); + } SQL_END; + + mark = strstr(command_clr, "%%"); +@@ -130,7 +130,7 @@ + SQL_BEGIN("Checking for sceduled commands", + "SELECT command, logfile FROM action GROUP BY command, logfile") + { +- textlist_add2(&tl, SQL_V[0], SQL_V[1], 0); ++ textlist_add2(&tl, SQL_V(0), SQL_V(1), 0); + } SQL_END; + + for (t = tl; t != 0; t = t->next) +diff -ruN csync2-1.34.vanilla/check.c csync2-1.34/check.c +--- csync2-1.34.vanilla/check.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/check.c 2008-06-12 15:36:47.000000000 +0200 +@@ -159,7 +159,7 @@ + "SELECT filename from file where " + "filename = '%s' %s ORDER BY filename", url_encode(file), where_rec) + { +- const char *filename = url_decode(SQL_V[0]); ++ const char *filename = url_decode(SQL_V(0)); + if ( lstat_strict(prefixsubst(filename), &st) != 0 || csync_check_pure(filename) ) + textlist_add(&tl, filename, 0); + } SQL_END; +@@ -213,8 +213,9 @@ + + if ( check_type>0 && lstat_strict(prefixsubst(file), &st) != 0 ) { + if ( ignnoent ) return 0; ++ perror("blup"); + csync_fatal("This should not happen: " +- "Can't stat %s.\n", file); ++ "Can't stat %s %s %d %d %d.\n", prefixsubst(file), file,stat(file,&st),lstat_strict(file,&st),errno); + } + + switch ( check_type ) +@@ -231,7 +232,7 @@ + "filename = '%s'", url_encode(file)) + { + if ( !csync_cmpchecktxt(checktxt, +- url_decode(SQL_V[0])) ) { ++ url_decode(SQL_V(0))) ) { + csync_debug(2, "File has changed: %s\n", file); + this_is_dirty = 1; + } +diff -ruN csync2-1.34.vanilla/config.h.in csync2-1.34/config.h.in +--- csync2-1.34.vanilla/config.h.in 2007-07-24 23:04:24.000000000 +0200 ++++ csync2-1.34/config.h.in 2008-06-12 15:36:47.000000000 +0200 +@@ -6,8 +6,8 @@ + /* Define to 1 if you have the `rsync' library (-lrsync). */ + #undef HAVE_LIBRSYNC + +-/* Define to 1 if you have the `sqlite' library (-lsqlite). */ +-#undef HAVE_LIBSQLITE ++/* Define to 1 if you have the `sqlite3' library (-lsqlite3). */ ++#undef HAVE_LIBSQLITE3 + + /* Name of package */ + #undef PACKAGE +diff -ruN csync2-1.34.vanilla/configure csync2-1.34/configure +--- csync2-1.34.vanilla/configure 2007-07-24 23:04:25.000000000 +0200 ++++ csync2-1.34/configure 2008-06-12 15:36:47.000000000 +0200 +@@ -3671,13 +3671,13 @@ + + else + +-{ echo "$as_me:$LINENO: checking for sqlite_exec in -lsqlite" >&5 +-echo $ECHO_N "checking for sqlite_exec in -lsqlite... $ECHO_C" >&6; } +-if test "${ac_cv_lib_sqlite_sqlite_exec+set}" = set; then ++{ echo "$as_me:$LINENO: checking for sqlite3_exec in -lsqlite3" >&5 ++echo $ECHO_N "checking for sqlite3_exec in -lsqlite3... $ECHO_C" >&6; } ++if test "${ac_cv_lib_sqlite3_sqlite3_exec+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lsqlite $LIBS" ++LIBS="-lsqlite3 $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -3691,11 +3691,11 @@ + #ifdef __cplusplus + extern "C" + #endif +-char sqlite_exec (); ++char sqlite3_exec (); + int + main () + { +-return sqlite_exec (); ++return sqlite3_exec (); + ; + return 0; + } +@@ -3718,30 +3718,30 @@ + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then +- ac_cv_lib_sqlite_sqlite_exec=yes ++ ac_cv_lib_sqlite3_sqlite3_exec=yes + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- ac_cv_lib_sqlite_sqlite_exec=no ++ ac_cv_lib_sqlite3_sqlite3_exec=no + fi + + rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite_sqlite_exec" >&5 +-echo "${ECHO_T}$ac_cv_lib_sqlite_sqlite_exec" >&6; } +-if test $ac_cv_lib_sqlite_sqlite_exec = yes; then ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_exec" >&5 ++echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_exec" >&6; } ++if test $ac_cv_lib_sqlite3_sqlite3_exec = yes; then + cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBSQLITE 1 ++#define HAVE_LIBSQLITE3 1 + _ACEOF + +- LIBS="-lsqlite $LIBS" ++ LIBS="-lsqlite3 $LIBS" + + else +- { { echo "$as_me:$LINENO: error: libsqlite is required" >&5 +-echo "$as_me: error: libsqlite is required" >&2;} ++ { { echo "$as_me:$LINENO: error: libsqlite3 is required" >&5 ++echo "$as_me: error: libsqlite3 is required" >&2;} + { (exit 1); exit 1; }; } + fi + +diff -ruN csync2-1.34.vanilla/configure.ac csync2-1.34/configure.ac +--- csync2-1.34.vanilla/configure.ac 2007-07-24 23:04:19.000000000 +0200 ++++ csync2-1.34/configure.ac 2008-06-12 15:36:47.000000000 +0200 +@@ -47,7 +47,7 @@ + AS_HELP_STRING([--with-libsqlite-source=source-tar-file], + [build this libsqlite and link statically against it (hack! hack!)]), + AC_SUBST([libsqlite_source_file], $withval), +- AC_CHECK_LIB([sqlite], [sqlite_exec], , [AC_MSG_ERROR(libsqlite is required)]) ++ AC_CHECK_LIB([sqlite3], [sqlite3_exec], , [AC_MSG_ERROR(libsqlite3 is required)]) + ) + AM_CONDITIONAL([PRIVATE_LIBSQLITE], [test -n "$libsqlite_source_file"]) + +diff -ruN csync2-1.34.vanilla/conn.c csync2-1.34/conn.c +--- csync2-1.34.vanilla/conn.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/conn.c 2008-06-12 15:36:47.000000000 +0200 +@@ -181,7 +181,7 @@ + "SELECT certdata FROM x509_cert WHERE peername = '%s'", + url_encode(peername)) + { +- if (!strcmp(SQL_V[0], certdata)) ++ if (!strcmp(SQL_V(0), certdata)) + cert_is_ok = 1; + else + cert_is_ok = 0; +diff -ruN csync2-1.34.vanilla/csync2.c csync2-1.34/csync2.c +--- csync2-1.34.vanilla/csync2.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/csync2.c 2008-06-12 15:36:47.000000000 +0200 +@@ -582,8 +582,8 @@ + SQL_BEGIN("Check all hints", + "SELECT filename, recursive FROM hint") + { +- textlist_add(&tl, url_decode(SQL_V[0]), +- atoi(SQL_V[1])); ++ textlist_add(&tl, url_decode(SQL_V(0)), ++ atoi(SQL_V(1))); + } SQL_END; + + for (t = tl; t != 0; t = t->next) { +@@ -659,7 +659,7 @@ + "SELECT filename FROM file WHERE filename = '%s' %s", + url_encode(realname), where_rec) + { +- char *filename = strdup(url_encode(SQL_V[0])); ++ char *filename = strdup(url_encode(SQL_V(0))); + csync_mark(filename, 0, 0); + free(filename); + } SQL_END; +@@ -695,7 +695,7 @@ + SQL_BEGIN("DB Dump - Hint", + "SELECT recursive, filename FROM hint ORDER BY filename") + { +- printf("%s\t%s\n", SQL_V[0], url_decode(SQL_V[1])); ++ printf("%s\t%s\n", SQL_V(0), url_decode(SQL_V(1))); + retval = -1; + } SQL_END; + break; +@@ -705,8 +705,8 @@ + SQL_BEGIN("DB Dump - File", + "SELECT checktxt, filename FROM file ORDER BY filename") + { +- if (csync_find_next(0, url_decode(SQL_V[1]))) { +- printf("%s\t%s\n", url_decode(SQL_V[0]), url_decode(SQL_V[1])); ++ if (csync_find_next(0, url_decode(SQL_V(1)))) { ++ printf("%s\t%s\n", url_decode(SQL_V(0)), url_decode(SQL_V(1))); + retval = -1; + } + } SQL_END; +@@ -717,8 +717,8 @@ + SQL_BEGIN("DB Dump - File", + "SELECT checktxt, filename FROM file ORDER BY filename") + { +- if ( csync_match_file_host(url_decode(SQL_V[1]), argv[optind], argv[optind+1], 0) ) { +- printf("%s\t%s\n", url_decode(SQL_V[0]), url_decode(SQL_V[1])); ++ if ( csync_match_file_host(url_decode(SQL_V(1)), argv[optind], argv[optind+1], 0) ) { ++ printf("%s\t%s\n", url_decode(SQL_V(0)), url_decode(SQL_V(1))); + retval = -1; + } + } SQL_END; +@@ -769,9 +769,9 @@ + SQL_BEGIN("DB Dump - Dirty", + "SELECT force, myname, peername, filename FROM dirty ORDER BY filename") + { +- if (csync_find_next(0, url_decode(SQL_V[3]))) { +- printf("%s\t%s\t%s\t%s\n", atoi(SQL_V[0]) ? "force" : "chary", +- url_decode(SQL_V[1]), url_decode(SQL_V[2]), url_decode(SQL_V[3])); ++ if (csync_find_next(0, url_decode(SQL_V(3)))) { ++ printf("%s\t%s\t%s\t%s\n", atoi(SQL_V(0)) ? "force" : "chary", ++ url_decode(SQL_V(1)), url_decode(SQL_V(2)), url_decode(SQL_V(3))); + retval = -1; + } + } SQL_END; +diff -ruN csync2-1.34.vanilla/csync2.h csync2-1.34/csync2.h +--- csync2-1.34.vanilla/csync2.h 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/csync2.h 2008-06-12 15:36:47.000000000 +0200 +@@ -22,6 +22,7 @@ + #define CSYNC2_H 1 + + #define _GNU_SOURCE ++#define _FILE_OFFSET_BITS 64 + + #include "config.h" + #include <stdio.h> +@@ -91,19 +92,24 @@ + extern int csync_db_next(void *vmx, const char *err, + int *pN, const char ***pazValue, const char ***pazColName); + extern void csync_db_fin(void *vmx, const char *err); ++extern void * csync_db_colblob(void *stmtx,int col); ++ + + #define SQL(e, s, ...) csync_db_sql(e, s, ##__VA_ARGS__) + ++#define SQL_V(col) \ ++ (csync_db_colblob(SQL_VM,col)) ++ + #define SQL_BEGIN(e, s, ...) \ + { \ + char *SQL_ERR = e; \ + void *SQL_VM = csync_db_begin(SQL_ERR, s, ##__VA_ARGS__); \ + int SQL_COUNT = 0; \ + while (1) { \ +- const char **SQL_V, **SQL_N; \ ++ const char **notSQL_V, **notSQL_N; \ + int SQL_C; \ + if ( !csync_db_next(SQL_VM, SQL_ERR, \ +- &SQL_C, &SQL_V, &SQL_N) ) break; \ ++ &SQL_C, ¬SQL_V, ¬SQL_N) ) break; \ + SQL_COUNT++; + + #define SQL_FIN }{ +diff -ruN csync2-1.34.vanilla/daemon.c csync2-1.34/daemon.c +--- csync2-1.34.vanilla/daemon.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/daemon.c 2008-06-12 15:36:47.000000000 +0200 +@@ -443,8 +443,8 @@ + strcmp(tag[2], "-") ? url_encode(tag[2]) : "", + strcmp(tag[2], "-") ? "'" : "") + { +- if ( csync_match_file_host(url_decode(SQL_V[1]), tag[1], peer, (const char **)&tag[3]) ) +- conn_printf("%s\t%s\n", SQL_V[0], SQL_V[1]); ++ if ( csync_match_file_host(url_decode(SQL_V(1)), tag[1], peer, (const char **)&tag[3]) ) ++ conn_printf("%s\t%s\n", SQL_V(0), SQL_V(1)); + } SQL_END; + break; + +diff -ruN csync2-1.34.vanilla/db.c csync2-1.34/db.c +--- csync2-1.34.vanilla/db.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/db.c 2008-06-12 15:36:47.000000000 +0200 +@@ -19,7 +19,7 @@ + */ + + #include "csync2.h" +-#include <sqlite.h> ++#include <sqlite3.h> + #include <stdio.h> + #include <stdarg.h> + #include <stdlib.h> +@@ -33,7 +33,7 @@ + int db_blocking_mode = 1; + int db_sync_mode = 1; + +-static sqlite *db = 0; ++static sqlite3 *db = 0; + + static int get_dblock_timeout() + { +@@ -128,44 +128,46 @@ + + void csync_db_open(const char *file) + { +- db = sqlite_open(file, 0, 0); +- if ( db == 0 ) +- csync_fatal("Can't open database: %s\n", file); ++ int r; ++ //db = sqlite_open(file, 0, 0); ++ r=sqlite3_open(file, &db); ++ if ( db == 0 || r) ++ csync_fatal("Can't open database: %s, result %d\n", file,r); + + /* ignore errors on table creation */ + in_sql_query++; +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE file (" + " filename, checktxt," + " UNIQUE ( filename ) ON CONFLICT REPLACE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE dirty (" + " filename, force, myname, peername," + " UNIQUE ( filename, peername ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE hint (" + " filename, recursive," + " UNIQUE ( filename, recursive ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE action (" + " filename, command, logfile," + " UNIQUE ( filename, command ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE x509_cert (" + " peername, certdata," + " UNIQUE ( peername ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); + if (!db_sync_mode) +- sqlite_exec(db, "PRAGMA synchronous = OFF", 0, 0, 0); ++ sqlite3_exec(db, "PRAGMA synchronous = OFF", 0, 0, 0); + in_sql_query--; + } + +@@ -178,7 +180,7 @@ + SQL("COMMIT TRANSACTION", "COMMIT TRANSACTION"); + tqueries_counter = -10; + } +- sqlite_close(db); ++ sqlite3_close(db); + begin_commit_recursion--; + db = 0; + } +@@ -199,7 +201,7 @@ + csync_debug(2, "SQL: %s\n", sql); + + while (1) { +- rc = sqlite_exec(db, sql, 0, 0, 0); ++ rc = sqlite3_exec(db, sql, 0, 0, 0); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +@@ -216,7 +218,8 @@ + + void* csync_db_begin(const char *err, const char *fmt, ...) + { +- sqlite_vm *vm; ++ //sqlite_vm *vm; ++ sqlite3_stmt *stmt; + char *sql; + va_list ap; + int rc, busyc = 0; +@@ -231,7 +234,7 @@ + csync_debug(2, "SQL: %s\n", sql); + + while (1) { +- rc = sqlite_compile(db, sql, 0, &vm, 0); ++ rc = sqlite3_prepare(db, sql, 0, &stmt, 0); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +@@ -242,19 +245,21 @@ + csync_fatal("Database Error: %s [%d]: %s\n", err, rc, sql); + free(sql); + +- return vm; ++ return stmt; + } + +-int csync_db_next(void *vmx, const char *err, ++int csync_db_next(void *stmtx, const char *err, + int *pN, const char ***pazValue, const char ***pazColName) + { +- sqlite_vm *vm = vmx; ++ //sqlite_vm *vm = vmx; ++ sqlite3_stmt *stmt = stmtx; + int rc, busyc = 0; + + csync_debug(4, "Trying to fetch a row from the database.\n"); + + while (1) { +- rc = sqlite_step(vm, pN, pazValue, pazColName); ++ //rc = sqlite_step(vm, pN, pazValue, pazColName); ++ rc = sqlite3_step(stmt); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +@@ -267,16 +272,21 @@ + + return rc == SQLITE_ROW; + } ++void * csync_db_colblob(void *stmtx,int col) { ++ sqlite3_stmt *stmt = stmtx; ++ return sqlite3_column_blob(stmt,col); ++} + +-void csync_db_fin(void *vmx, const char *err) ++void csync_db_fin(void *stmtx, const char *err) + { +- sqlite_vm *vm = vmx; ++ //sqlite_vm *vm = vmx; ++ sqlite3_stmt *stmt=stmtx; + int rc, busyc = 0; + + csync_debug(2, "SQL Query finished.\n"); + + while (1) { +- rc = sqlite_finalize(vm, 0); ++ rc = sqlite3_finalize(stmt); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +--- src/csync2-1.34/update.c ++++ new/update.c +@@ -545,12 +545,12 @@ + "SELECT filename, myname, force FROM dirty WHERE peername = '%s' " + "ORDER by filename ASC", url_encode(peername)) + { +- const char *filename = url_decode(SQL_V[0]); ++ const char *filename = url_decode(SQL_V(0)); + int i, use_this = patnum == 0; + for (i=0; i<patnum && !use_this; i++) + if ( compare_files(filename, patlist[i], recursive) ) use_this = 1; + if (use_this) +- textlist_add2(&tl, filename, url_decode(SQL_V[1]), atoi(SQL_V[2])); ++ textlist_add2(&tl, filename, url_decode(SQL_V(1)), atoi(SQL_V(2))); + } SQL_END; + + /* just return if there are no files to update */ +@@ -626,7 +626,7 @@ + SQL_BEGIN("Get hosts from dirty table", + "SELECT peername FROM dirty GROUP BY peername ORDER BY random()") + { +- textlist_add(&tl, url_decode(SQL_V[0]), 0); ++ textlist_add(&tl, url_decode(SQL_V(0)), 0); + } SQL_END; + + for (t = tl; t != 0; t = t->next) { +@@ -798,7 +798,7 @@ + filename ? url_encode(filename) : "", + filename ? "'" : "") + { +- char *l_file = strdup(url_decode(SQL_V[1])), *l_checktxt = strdup(url_decode(SQL_V[0])); ++ char *l_file = strdup(url_decode(SQL_V(1))), *l_checktxt = strdup(url_decode(SQL_V(0))); + if ( csync_match_file_host(l_file, myname, peername, 0) ) { + if ( remote_eof ) { + got_remote_eof: +@@ -936,17 +936,17 @@ + const struct csync_group *g = 0; + const struct csync_group_host *h; + +- const char *filename = url_decode(SQL_V[0]); ++ const char *filename = url_decode(SQL_V(0)); + + while ((g=csync_find_next(g, filename)) != 0) { +- if (!strcmp(g->myname, SQL_V[1])) ++ if (!strcmp(g->myname, SQL_V(1))) + for (h = g->host; h; h = h->next) { +- if (!strcmp(h->hostname, SQL_V[2])) ++ if (!strcmp(h->hostname, SQL_V(2))) + goto this_dirty_record_is_ok; + } + } + +- textlist_add2(&tl, SQL_V[0], SQL_V[2], 0); ++ textlist_add2(&tl, SQL_V(0), SQL_V(2), 0); + + this_dirty_record_is_ok: + ; +@@ -962,8 +962,8 @@ + SQL_BEGIN("Query file DB", + "SELECT filename FROM file") + { +- if (!csync_find_next(0, url_decode(SQL_V[0]))) +- textlist_add(&tl, SQL_V[0], 0); ++ if (!csync_find_next(0, url_decode(SQL_V(0)))) ++ textlist_add(&tl, SQL_V(0), 0); + } SQL_END; + for (t = tl; t != 0; t = t->next) { + csync_debug(1, "Removing %s from file db.\n", t->value); diff --git a/testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch b/testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch new file mode 100644 index 000000000..b9e1d2726 --- /dev/null +++ b/testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch @@ -0,0 +1,24 @@ +--- old/configure.ac ++++ new/configure.ac +@@ -59,16 +59,11 @@ + if test "$enable_gnutls" != no + then + +- # Check for gnuTLS. +- AM_PATH_LIBGNUTLS(1.0.0, , [ AC_MSG_ERROR([[gnutls not found; install gnutls, gnutls-openssl and libtasn1 packages for your system or run configure with --disable-gnutls]]) ]) +- +- # This is a bloody hack for fedora core +- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" +- LIBS="$LIBS $LIBGNUTLS_LIBS -ltasn1" +- +- # Check gnuTLS SSL compatibility lib. +- AC_CHECK_LIB([gnutls-openssl], [SSL_new], , [AC_MSG_ERROR([[gnutls-openssl not found; install gnutls, gnutls-openssl and libtasn1 packages for your system or run configure with --disable-gnutls]])]) +- ++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls, [ ++ CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gnutls libssl`" ++ LIBS="$LIBS `$PKG_CONFIG --libs gnutls libssl` -DHAVE_LIBGNUTLS_OPENSSL" ++ ]) ++ + fi + + AC_CONFIG_FILES([Makefile]) diff --git a/testing/csync2/APKBUILD b/testing/csync2/APKBUILD new file mode 100644 index 000000000..6c4096a63 --- /dev/null +++ b/testing/csync2/APKBUILD @@ -0,0 +1,44 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=csync2 +pkgver=1.34 +pkgrel=0 +pkgdesc="a cluster synchronization tool" +url="http://oss.linbit.com/csync2/" +license="GPL-2+" +depends= +makedepends="librsync-dev gnutls-dev sqlite-dev autoconf automake" +install= +subpackages="$pkgname-doc" +source="http://oss.linbit.com/csync2/csync2-$pkgver.tar.gz + 01-csync2-sqlite3.patch + 02-csync2-1.34-gnutls_pkgconfig.patch + " + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + for i in ../*.patch; do + msg "Applying $i" + patch -p1 -i $i || return 1 + done + autoreconf --install --force +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="efc8a3548996b79cef2ad76af5e93cd8 csync2-1.34.tar.gz +35ba1bb1aafd87741c7ef55bdfb2e212 01-csync2-sqlite3.patch +31b2ed6a7bb424ccdbf1486223eca323 02-csync2-1.34-gnutls_pkgconfig.patch" |