Skip to contentSkip to conversation

package/rsyslog: Autoreconf is not necessary anymore

PATCH New Bernd Kuhls 3 participants 13 messages Apr 11, 2015 – Aug 9, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 package/rsyslog: Autoreconf is not necessary anymore

Buildroot contains no patches for this package anymore.

---
 package/rsyslog/rsyslog.mk |    2 --
 1 file changed, 2 deletions(-)
package/rsyslog/rsyslog.mk +0 -2
index c6758eb..7d49ed1 100644
@@ -16,8 +16,6 @@ RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \
 	pmaixforwardedfrom pmciscoios pmcisconames pmlastmsg pmsnare
 RSYSLOG_CONF_OPTS = --disable-generate-man-pages \
 	$(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x))
-# For mysql and pgsql support patches
-RSYSLOG_AUTORECONF = YES
 
 # Build after BusyBox
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Configure misses libm and libpthread when checking for postgresql. Patching configure.ac did not fix the problem so we patch configure directly, therefore autoreconf is not necessary.

Fixes
http://autobuild.buildroot.net/results/81e/81e6dd9d5bce3ecaa11765fb94ca538991b1e174/
http://autobuild.buildroot.net/results/0bd/0bdde92bd0e0fa163c4b6579ff69b7f6e61a8b19/
http://autobuild.buildroot.net/results/cab/cabf2352307de58ff357ee59bf273ee487a2b716/
http://autobuild.buildroot.net/results/8a3/8a31c815f113f610fb2cdbc4d27e5ade492be354/
http://autobuild.buildroot.net/results/d0f/d0fe409d23117ea2cea640b8d7ff6dbb7c33943a/
http://autobuild.buildroot.net/results/3ca/3ca2a7a38cf48e69fed888aecb8782687ad48c99/
http://autobuild.buildroot.net/results/3d3/3d326ba195682b6650ebabcedbe4b5d4fb5cf116/
http://autobuild.buildroot.net/results/456/456e75367b3a8e2eb9ad82478f3522e89f658912/
http://autobuild.buildroot.net/results/1b7/1b745408187b7655ae22942572367d7ed911973b/

---
 package/rsyslog/0001-pgsql.patch |   12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 package/rsyslog/0001-pgsql.patch
package/rsyslog/0001-pgsql.patch new file +12 -0
new file mode 100644
index 0000000..15b1b93
@@ -0,0 +1,12 @@
+diff -uNr rsyslog-8.9.0.org/configure rsyslog-8.9.0/configure
+--- rsyslog-8.9.0.org/configure	2015-04-07 15:08:47.000000000 +0200
++++ rsyslog-8.9.0/configure	2015-04-11 09:44:23.649214912 +0200
+@@ -17385,7 +17385,7 @@
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpq -L`$PG_CONFIG --libdir`
++LIBS="-lm -lpthread -lpq -L`$PG_CONFIG --libdir`
+    $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Bernd, All,

On 2015-04-11 09:52 +0200, Bernd Kuhls spake thusly:

Quoted 3 lines

Configure misses libm and libpthread when checking for postgresql. Patching configure.ac did not fix the problem so we patch configure directly, therefore autoreconf is not necessary.

Well, I'd still prefer we do a fix that has a chance to be accepted upstream...

However...

Quoted 25 lines

Fixes
http://autobuild.buildroot.net/results/81e/81e6dd9d5bce3ecaa11765fb94ca538991b1e174/
http://autobuild.buildroot.net/results/0bd/0bdde92bd0e0fa163c4b6579ff69b7f6e61a8b19/
http://autobuild.buildroot.net/results/cab/cabf2352307de58ff357ee59bf273ee487a2b716/
http://autobuild.buildroot.net/results/8a3/8a31c815f113f610fb2cdbc4d27e5ade492be354/
http://autobuild.buildroot.net/results/d0f/d0fe409d23117ea2cea640b8d7ff6dbb7c33943a/
http://autobuild.buildroot.net/results/3ca/3ca2a7a38cf48e69fed888aecb8782687ad48c99/
http://autobuild.buildroot.net/results/3d3/3d326ba195682b6650ebabcedbe4b5d4fb5cf116/
http://autobuild.buildroot.net/results/456/456e75367b3a8e2eb9ad82478f3522e89f658912/
http://autobuild.buildroot.net/results/1b7/1b745408187b7655ae22942572367d7ed911973b/

---
 package/rsyslog/0001-pgsql.patch |   12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 package/rsyslog/0001-pgsql.patch
package/rsyslog/0001-pgsql.patch new file +2 -0
new file mode 100644
index 0000000..15b1b93
@@ -0,0 +1,12 @@
+diff -uNr rsyslog-8.9.0.org/configure rsyslog-8.9.0/configure
+--- rsyslog-8.9.0.org/configure	2015-04-07 15:08:47.000000000 +0200

package/rsyslog/0001-pgsql.patch line 12

Quoted 10 lines
package/rsyslog/0001-pgsql.patch new file +10 -0
++++ rsyslog-8.9.0/configure	2015-04-11 09:44:23.649214912 +0200
+@@ -17385,7 +17385,7 @@
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpq -L`$PG_CONFIG --libdir`
++LIBS="-lm -lpthread -lpq -L`$PG_CONFIG --libdir`
+    $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */

... why not this:

package/rsyslog/rsyslog.mk +3 -0
index c6758eb..8941a2b 100644
@@ -48,6 +48,7 @@ ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
 RSYSLOG_DEPENDENCIES += postgresql
 RSYSLOG_CONF_OPTS += --enable-pgsql
 RSYSLOG_CONF_ENV += ac_cv_prog_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config
+RSYSLOG_LIBS += -lm -lpthread
 else
 RSYSLOG_CONF_OPTS += --disable-pgsql
 endif
@@ -59,6 +60,8 @@ else
 RSYSLOG_CONF_OPTS += --disable-uuid
 endif
 
+RSYSLOG_CONF_ENV += LIBS="$(RSYSLOG_LIBS)"
+
 define RSYSLOG_INSTALL_INIT_SYSV
 	$(INSTALL) -m 0755 -D package/rsyslog/S01logging \
 		$(TARGET_DIR)/etc/init.d/S01logging

As far as I could test, it also fixes the issue for us (but is ugly, I think Thomas does not like this too much...).

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 2 lines · Bernd Kuhls

Configure misses libm and libpthread when checking for postgresql. Patching configure.ac did not fix the problem so we patch configure directly,

Hum, why?

It seems a bit backward to remove AUTORECONF = YES to then add a patch that modifies the configure script directly.

Thomas

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

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Thomas Petazzoni <[email protected]> wrote in news:20150411124226.726fde30 at free-electrons.com:

Quoted 11 lines

Dear Bernd Kuhls,

Quoted 3 lines · Bernd Kuhls

Configure misses libm and libpthread when checking for postgresql. Patching configure.ac did not fix the problem so we patch configure directly,

Hum, why?

It seems a bit backward to remove AUTORECONF = YES to then add a patch that modifies the configure script directly.

Hi,

I tried to add "-lm -lpthread" to line 615 in configure.ac:

- PGSQL_LIBS="-L$PG_CONFIG --libdir -lpq"
+ PGSQL_LIBS="-L$PG_CONFIG --libdir -lm -lpthread -lpq"

Original configure, line 17388, looks like this before autoreconf

LIBS="-lpq -L$PG_CONFIG --libdir

and, as line 17865, it still looks the same causing postgresql detection to fail...

Please note that -lpq is on the first position in this variable, I have no idea how to change this line in configure without patching that file directly.

Regards, Bernd

#5 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Bernd, All,

On 2015-04-11 13:38 +0200, Bernd Kuhls spake thusly:

Quoted 25 lines

Thomas Petazzoni <[email protected]> wrote in news:20150411124226.726fde30 at free-electrons.com:

Quoted 11 lines

Dear Bernd Kuhls,

Quoted 3 lines · Bernd Kuhls

Configure misses libm and libpthread when checking for postgresql. Patching configure.ac did not fix the problem so we patch configure directly,

Hum, why?

It seems a bit backward to remove AUTORECONF = YES to then add a patch that modifies the configure script directly.

Hi,

I tried to add "-lm -lpthread" to line 615 in configure.ac:

(quoted diff) +1 -1
-     PGSQL_LIBS="-L`$PG_CONFIG --libdir` -lpq"
+     PGSQL_LIBS="-L`$PG_CONFIG --libdir` -lm -lpthread -lpq"

Original configure, line 17388, looks like this before autoreconf

Quoted 8 lines

LIBS="-lpq -L$PG_CONFIG --libdir

and, as line 17865, it still looks the same causing postgresql detection to fail...

Please note that -lpq is on the first position in this variable, I have no idea how to change this line in configure without patching that file directly.

That's because this line is generated from the 5th argument to AC_CHECK_LIB, which contains the 'other-libraries':

https://www.gnu.org/software/autoconf/manual/autoconf.html#Libraries

If linking with library results in unresolved symbols that would be resolved by linking with additional libraries, give those libraries as the other-libraries argument, separated by spaces: e.g., -lXt -lX11. Otherwise, this macro may fail to detect that library is present, because linking the test program can fail with unresolved symbols. The other-libraries argument should be limited to cases where it is desirable to test for one library in the presence of another that is not already in LIBS.

The part you wanted change is the third argument of AC_CHECK_LIB, which is the 'action-if-found', and thus gets run only if the check is OK, which can occure, given that those extra libs are not passed in 'other-libraries'.

The correct and definitive solution would be to fully use pg_config to get the libraries we need to link to.

Unfortunately, pg_config is a binary, so we provide our own minimalist one, which does not implement --libs.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Dear Yann E. MORIN,

Quoted 2 lines · Yann E. MORIN

Unfortunately, pg_config is a binary, so we provide our own minimalist one, which does not implement --libs.

So, shouldn't we simply implement --libs in our own pg_config implementation?

Thomas

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

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Thomas, Bernd, All,

On 2015-04-11 14:15 +0200, Thomas Petazzoni spake thusly:

Quoted 6 lines · Yann E. MORIN
Quoted 2 lines

Unfortunately, pg_config is a binary, so we provide our own minimalist one, which does not implement --libs.

So, shouldn't we simply implement --libs in our own pg_config implementation?

Well, I thought that was pretty much obvious we should, yes.

However, I've had a quick look, and it's not that easy... :-(

For example, regarding the issue we're actually trying to solve: the check rsyslog's ./configure does is eventually using _isnan() which is in -lm, but nothing in the NEEDED of libpq.so suggests -lm is needed, not even in the dependency chain (i.e. NEEDEDs of NEEDEDs...)

So, I can have a deeper and longer look, but that will be later. Unless Bernd beats me to it, that is. ;-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Am Sat, 11 Apr 2015 14:23:23 +0200 schrieb Yann E. MORIN:

Quoted 2 lines

So, I can have a deeper and longer look, but that will be later. Unless Bernd beats me to it, that is. ;-)

Hi Yann,

this is not necessary anymore because the pgsql-rsyslog problem was fixed with this commit on May 14th by Baruch:

http://git.buildroot.net/buildroot/commit/package/postgresql?
id=3d3f70b567718ae308b5704ddd7d107c4849309e

I marked my patch as superseded.

Regards, Bernd

#9 lore raw

PATCH 2/3 package/rsyslog: Fix linking against postgresql

Bernd,

Quoted 7 lines · Bernd Kuhls

this is not necessary anymore because the pgsql-rsyslog problem was fixed with this commit on May 14th by Baruch:

http://git.buildroot.net/buildroot/commit/package/postgresql?
id=3d3f70b567718ae308b5704ddd7d107c4849309e

I marked my patch as superseded.

Good. Thanks for following up on this patch!

Thomas

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

PATCH 3/3 package/rsyslog: bump version to 8.9.0

In reply to Bernd Kuhls
---
 package/rsyslog/rsyslog.hash |    2 +-
 package/rsyslog/rsyslog.mk   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/rsyslog/rsyslog.hash +1 -1
index bd35019..5f9e0ed 100644
@@ -1,2 +1,2 @@
 # From http://www.rsyslog.com/downloads/download-v8-stable/
-sha256	147a7e474665af7a817ac18d7924e26448350a77572e7fd9cfe284cb6291a0eb	rsyslog-8.8.0.tar.gz
+sha256	eab00e8e758cd9dd33b3e2cf6af80297d1951dc7db37bd723a6488a35d577adc	rsyslog-8.9.0.tar.gz
package/rsyslog/rsyslog.mk +1 -1
index 7d49ed1..261f59d 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-RSYSLOG_VERSION = 8.8.0
+RSYSLOG_VERSION = 8.9.0
 RSYSLOG_SITE = http://rsyslog.com/files/download/rsyslog
 RSYSLOG_LICENSE = GPLv3 LGPLv3 Apache-2.0
 RSYSLOG_LICENSE_FILES = COPYING COPYING.LESSER COPYING.ASL20
Signature · 1 line
1.7.10.4
#11 lore raw

PATCH 3/3 package/rsyslog: bump version to 8.9.0

Dear Bernd Kuhls,

Quoted 6 lines · Bernd Kuhls
---
 package/rsyslog/rsyslog.hash |    2 +-
 package/rsyslog/rsyslog.mk   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Applied, thanks.

Thomas

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

PATCH 1/3 package/rsyslog: Autoreconf is not necessary anymore

In reply to Bernd Kuhls

Bernd, All,

On 2015-04-11 09:52 +0200, Bernd Kuhls spake thusly:

Quoted 3 lines

Buildroot contains no patches for this package anymore.

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 package/rsyslog/rsyslog.mk |    2 --
 1 file changed, 2 deletions(-)
package/rsyslog/rsyslog.mk +0 -2
index c6758eb..7d49ed1 100644
@@ -16,8 +16,6 @@ RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \
 	pmaixforwardedfrom pmciscoios pmcisconames pmlastmsg pmsnare
 RSYSLOG_CONF_OPTS = --disable-generate-man-pages \
 	$(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x))
-# For mysql and pgsql support patches
-RSYSLOG_AUTORECONF = YES
 
 # Build after BusyBox
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
Signature · 6 lines
1.7.10.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'