package/monit: do not forcibly build a static binary
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 5 Sep 2014 11:44:41 +0000 (13:44 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 6 Sep 2014 21:31:20 +0000 (23:31 +0200)
Static linking with glibc is not really supported, because of the NSS
libraries that are still to be dynamically-loaded at runtime.

Also, Buildroot explicitly does not support statically linking with
glibc.

Reported-by: Peter Kümmel <syntheticpp@gmx.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/monit/monit-0001-no-force-static.patch [new file with mode: 0644]
package/monit/monit.mk

diff --git a/package/monit/monit-0001-no-force-static.patch b/package/monit/monit-0001-no-force-static.patch
new file mode 100644 (file)
index 0000000..edb619b
--- /dev/null
@@ -0,0 +1,20 @@
+Do not force building a statically-linked binary
+
+Statically-linked binary do not work well with glibc, because it
+still dlopen()s the NSS libraries.
+
+Reported-by: Peter Kümmel <syntheticpp@gmx.net>
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN monit-5.7.orig/Makefile.am monit-5.7/Makefile.am
+--- monit-5.7.orig/Makefile.am 2014-02-20 09:00:42.000000000 +0100
++++ monit-5.7/Makefile.am      2014-09-05 12:49:43.711104001 +0200
+@@ -85,7 +85,7 @@
+                 src/process/sysdep_@ARCH@.c
+  
+ monit_LDADD   = libmonit/libmonit.la
+-monit_LDFLAGS         = -static $(EXTLDFLAGS)
++monit_LDFLAGS         = $(EXTLDFLAGS)
+ man_MANS      = monit.1
index 25bb5a2a6cce980a147c272c696241fac74ce2be..fa3a6d8773568e1ba867a50a651104a957bdbd62 100644 (file)
@@ -8,6 +8,15 @@ MONIT_VERSION = 5.7
 MONIT_SITE = http://mmonit.com/monit/dist
 MONIT_LICENSE = AGPLv3 with OpenSSL exception
 MONIT_LICENSE_FILES = COPYING
+#
+# Touching Makefile.am:
+MONIT_AUTORECONF = YES
+
+# Missing m4/ directory in the source tree
+define MONIT_M4
+       mkdir $(@D)/m4
+endef
+MONIT_POST_PATCH_HOOKS += MONIT_M4
 
 MONIT_CONF_ENV = \
        libmonit_cv_setjmp_available=yes \