syslog-ng 2.1: upstream libdbi does NOT provide pkgconfig .pc file
Hi, syslog-ng 2.1 depends on libdbi >= 0.8.0 with --enable-sql. Unfortunately, it assumes that a pkg-config .pc file for libdbi is in place which the upstream libdbi just does not include. It seems that there is a balabit-modified version of libdbi available (libdbi8_0.8.2bb2-2.tar.gz) which was patched to include a dbi-0.8.pc file. What's the reason for that? Was upstream asked to include that .pc file in their regular releases? What other changes were made to the upstream libdbi to form the balabit version? This is kinda maintenance and dependency hell so far :( Please clear up the situation so I can take care of building a Gentoo package for 2.1 *including* SQL support :) Thanks! -- Regards, Wolfram Schlich <wschlich@gentoo.org> Gentoo Linux * http://dev.gentoo.org/~wschlich/
* Wolfram Schlich <lists@wolfram.schlich.org> [2008-09-18 10:46]:
What other changes were made to the upstream libdbi to form the balabit version?
$ diff -urN libdbi-0.8.2 libdbi8-0.8.2bb2 | wc -l 93688 $ ARGH! :( So this can be considered a fork. The worst case scenario imagineable for the open source community. Why oh why? Please enlighten us :) -- Regards, Wolfram Schlich <wschlich@gentoo.org> Gentoo Linux * http://dev.gentoo.org/~wschlich/
On Thu, 2008-09-18 at 10:50 +0200, Wolfram Schlich wrote:
* Wolfram Schlich <lists@wolfram.schlich.org> [2008-09-18 10:46]:
What other changes were made to the upstream libdbi to form the balabit version?
$ diff -urN libdbi-0.8.2 libdbi8-0.8.2bb2 | wc -l 93688 $
ARGH! :(
So this can be considered a fork. The worst case scenario imagineable for the open source community.
Why oh why? Please enlighten us :)
Most of it is probably the configure script. I'd be happy to clear out the libdbi pecularities wrt syslog-ng 2.1 as well. My patches have already been integrated in libdbi since, so it should be easy to port to the latest libdbi upstream. The things that we did in our version: * we renamed dbi to dbi-0.8 in order not to clash with a local libdbi package, this affected: * .deb packages * dbi-0.8.pc * various files the package installs /usr/lib/libdbd-0.8 for instance * currently the only things that prevents syslog-ng to be compiled against the upstream libdbi are: * we should search for dbi.pc instead of dbi-0.8.pc * the dbi package does not install the .pc file automatically (e.g. there's no Makefile rule to install that), nevertheless the file is generated by its configure script. This patch against syslog-ng will make it look for the upstream libdbi: diff --git a/configure.in b/configure.in index a523776..568b698 100644 --- a/configure.in +++ b/configure.in @@ -182,7 +182,7 @@ dnl libdbi headers/libraries dnl *************************************************************************** AC_CHECK_LIB(dl, dlsym, DL_LIBS="-ldl") -PKG_CHECK_MODULES(LIBDBI, dbi-0.8 >= $LIBDBI_MIN_VERSION,, LIBDBI_LIBS="") +PKG_CHECK_MODULES(LIBDBI, dbi >= $LIBDBI_MIN_VERSION,, LIBDBI_LIBS="") dnl *************************************************************************** After that it should work. Please note that we submitted a couple of patches against libdbi/libdbi-drivers, so make sure that you use the latest CVS version. -- Bazsi
* Balazs Scheidler <bazsi@balabit.hu> [2008-09-18 16:44]:
On Thu, 2008-09-18 at 10:50 +0200, Wolfram Schlich wrote:
* Wolfram Schlich <lists@wolfram.schlich.org> [2008-09-18 10:46]:
What other changes were made to the upstream libdbi to form the balabit version?
$ diff -urN libdbi-0.8.2 libdbi8-0.8.2bb2 | wc -l 93688 $
ARGH! :(
So this can be considered a fork. The worst case scenario imagineable for the open source community.
Why oh why? Please enlighten us :)
Most of it is probably the configure script. I'd be happy to clear out the libdbi pecularities wrt syslog-ng 2.1 as well.
My patches have already been integrated in libdbi since, so it should be easy to port to the latest libdbi upstream.
The things that we did in our version: * we renamed dbi to dbi-0.8 in order not to clash with a local libdbi package, this affected: * .deb packages * dbi-0.8.pc * various files the package installs /usr/lib/libdbd-0.8 for instance * currently the only things that prevents syslog-ng to be compiled against the upstream libdbi are: * we should search for dbi.pc instead of dbi-0.8.pc * the dbi package does not install the .pc file automatically (e.g. there's no Makefile rule to install that), nevertheless the file is generated by its configure script.
This patch against syslog-ng will make it look for the upstream libdbi: [...] After that it should work.
Yep, it does. Thanks! Compiled fine against libdbi 0.8.3.
Please note that we submitted a couple of patches against libdbi/libdbi-drivers, so make sure that you use the latest CVS version.
Hmm. What about 0.8.3, is it sufficient?! Otherwise I'd have to create a CVS snapshot + ebuild for libdbi and libdbi-drivers which I'd prefer not to do ;) What were those patches about anyway? Performance? Is syslog-ng SQL support kinda unusable/unstable without them? Thanks again! -- Regards, Wolfram Schlich <wschlich@gentoo.org> Gentoo Linux * http://dev.gentoo.org/~wschlich/
On Tue, 2008-10-07 at 09:44 +0200, Wolfram Schlich wrote:
Most of it is probably the configure script. I'd be happy to clear out the libdbi pecularities wrt syslog-ng 2.1 as well.
My patches have already been integrated in libdbi since, so it should be easy to port to the latest libdbi upstream.
The things that we did in our version: * we renamed dbi to dbi-0.8 in order not to clash with a local libdbi package, this affected: * .deb packages * dbi-0.8.pc * various files the package installs /usr/lib/libdbd-0.8 for instance * currently the only things that prevents syslog-ng to be compiled against the upstream libdbi are: * we should search for dbi.pc instead of dbi-0.8.pc * the dbi package does not install the .pc file automatically (e.g. there's no Makefile rule to install that), nevertheless the file is generated by its configure script.
This patch against syslog-ng will make it look for the upstream libdbi: [...] After that it should work.
Yep, it does. Thanks! Compiled fine against libdbi 0.8.3.
Please note that we submitted a couple of patches against libdbi/libdbi-drivers, so make sure that you use the latest CVS version.
Hmm. What about 0.8.3, is it sufficient?! Otherwise I'd have to create a CVS snapshot + ebuild for libdbi and libdbi-drivers which I'd prefer not to do ;) What were those patches about anyway? Performance? Is syslog-ng SQL support kinda unusable/unstable without them?
Well, I remember some leak fixes in sqlite3 driver, the ability to return the record type information in sqlite3 (was done Markus), just please check out the CVS changelog, it should contain entries for the changes I've made. I still have some local changes pending, but those are HP-UX related. I hope to submit those as well in the future. -- Bazsi
participants (2)
-
Balazs Scheidler
-
Wolfram Schlich