Skip to contentSkip to conversation

syslog-ng: use bundled libbson

PATCH New Baruch Siach 3 participants 5 messages Apr 20, 2017 – Apr 21, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 syslog-ng: use bundled libbson

libbson is a dependency of the mongo-c-driver that syslog-ng uses. Buildroot doesn't package mongo-c-driver so syslog-ng uses the bundled one. The bundled mongo-c-driver in turn may optionally use a bundled libbson. When Buildroot builds libbson mongo-c-driver detects that and does not configure its bundled libbson. This breaks the build of the syslog-ng mongodb module because it adds the bundled libbson to the headers search path.

Always use the mongo-c-driver bundled libbson. Anyone concerned with the size impact should add a standalone mongo-c-driver to Buildroot.

Fixes:
http://autobuild.buildroot.net/results/843/84331e9a168d8bdf2cceca8e9e1480611c1ecaed/
http://autobuild.buildroot.net/results/b5b/b5bad64abbf5764faf2a7129a1a25ad75c34980b/
http://autobuild.buildroot.net/results/3c3/3c32f4eb7436da06f3fb59f928363959df2a5e86/

---
 package/syslog-ng/syslog-ng.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/syslog-ng/syslog-ng.mk +1 -1
index 192a52bafbd1..cc068bd87e03 100644
@@ -13,7 +13,7 @@ SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \
 # rabbit-mq needs -lrt
 SYSLOG_NG_CONF_ENV = LIBS=-lrt
 SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \
-	--disable-java --disable-java-modules
+	--disable-java --disable-java-modules --with-libbson=bundled
 
 # We override busybox's S01logging init script
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/1 syslog-ng: use bundled libbson

Hello,

Quoted 15 lines · Baruch Siach

libbson is a dependency of the mongo-c-driver that syslog-ng uses. Buildroot doesn't package mongo-c-driver so syslog-ng uses the bundled one. The bundled mongo-c-driver in turn may optionally use a bundled libbson. When Buildroot builds libbson mongo-c-driver detects that and does not configure its bundled libbson. This breaks the build of the syslog-ng mongodb module because it adds the bundled libbson to the headers search path.

Always use the mongo-c-driver bundled libbson. Anyone concerned with the size impact should add a standalone mongo-c-driver to Buildroot.

Fixes:
http://autobuild.buildroot.net/results/843/84331e9a168d8bdf2cceca8e9e1480611c1ecaed/
http://autobuild.buildroot.net/results/b5b/b5bad64abbf5764faf2a7129a1a25ad75c34980b/
http://autobuild.buildroot.net/results/3c3/3c32f4eb7436da06f3fb59f928363959df2a5e86/

Quoted 5 lines
---
 package/syslog-ng/syslog-ng.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Thanks for the patch. However, wouldn't it make more sense to disable the mongo-c-driver of syslog-ng completely, until someone packages the appropriate dependencies?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 syslog-ng: use bundled libbson

Quoted 24 lines · Thomas Petazzoni

Hello,

Quoted 15 lines · Baruch Siach

libbson is a dependency of the mongo-c-driver that syslog-ng uses. Buildroot doesn't package mongo-c-driver so syslog-ng uses the bundled one. The bundled mongo-c-driver in turn may optionally use a bundled libbson. When Buildroot builds libbson mongo-c-driver detects that and does not configure its bundled libbson. This breaks the build of the syslog-ng mongodb module because it adds the bundled libbson to the headers search path.

Always use the mongo-c-driver bundled libbson. Anyone concerned with the size impact should add a standalone mongo-c-driver to Buildroot.

Fixes:
http://autobuild.buildroot.net/results/843/84331e9a168d8bdf2cceca8e9e1480611c1ecaed/
http://autobuild.buildroot.net/results/b5b/b5bad64abbf5764faf2a7129a1a25ad75c34980b/
http://autobuild.buildroot.net/results/3c3/3c32f4eb7436da06f3fb59f928363959df2a5e86/

Quoted 5 lines
---
 package/syslog-ng/syslog-ng.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 4 lines

Thanks for the patch. However, wouldn't it make more sense to disable the mongo-c-driver of syslog-ng completely, until someone packages the appropriate dependencies?

I'm fine with either approach.

#3 lore raw

PATCH 1/1 syslog-ng: use bundled libbson

In reply to Thomas Petazzoni

Hi Thomas,

Quoted 22 lines · Thomas Petazzoni
Quoted 15 lines · Baruch Siach

libbson is a dependency of the mongo-c-driver that syslog-ng uses. Buildroot doesn't package mongo-c-driver so syslog-ng uses the bundled one. The bundled mongo-c-driver in turn may optionally use a bundled libbson. When Buildroot builds libbson mongo-c-driver detects that and does not configure its bundled libbson. This breaks the build of the syslog-ng mongodb module because it adds the bundled libbson to the headers search path.

Always use the mongo-c-driver bundled libbson. Anyone concerned with the size impact should add a standalone mongo-c-driver to Buildroot.

Fixes:
http://autobuild.buildroot.net/results/843/84331e9a168d8bdf2cceca8e9e1480611c1ecaed/
http://autobuild.buildroot.net/results/b5b/b5bad64abbf5764faf2a7129a1a25ad75c34980b/
http://autobuild.buildroot.net/results/3c3/3c32f4eb7436da06f3fb59f928363959df2a5e86/

Quoted 5 lines
---
 package/syslog-ng/syslog-ng.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 3 lines

Thanks for the patch. However, wouldn't it make more sense to disable the mongo-c-driver of syslog-ng completely, until someone packages the appropriate dependencies?

The bundled mongo-c-driver and libbson seem to build fine with syslog-ng. It's only the recent introduction of libbson in Buildroot that broke the build. So the only drawback of forcing the bundled libbson is the loss of possible size reduction opportunity. As I noted in the commit log, anyone worried about that should package mongo-c-driver. But I don't think this is a reason to disable the mongodb module.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
#4 lore raw

PATCH 1/1 syslog-ng: use bundled libbson

Hello,

Quoted 10 lines · Baruch Siach
Quoted 3 lines

Thanks for the patch. However, wouldn't it make more sense to disable the mongo-c-driver of syslog-ng completely, until someone packages the appropriate dependencies?

The bundled mongo-c-driver and libbson seem to build fine with syslog-ng. It's only the recent introduction of libbson in Buildroot that broke the build. So the only drawback of forcing the bundled libbson is the loss of possible size reduction opportunity. As I noted in the commit log, anyone worried about that should package mongo-c-driver. But I don't think this is a reason to disable the mongodb module.

Well, our policy is normally to avoid using bundled libraries. So if syslog-ng needs a dependency that isn't packaged in Buildroot, then this syslog-ng feature should be disabled rather than using bundled libraries.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com