All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] update libglib2 and libsoup
@ 2012-02-27 12:38 Sven Neumann
  2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
  To: buildroot


This is a patchset that updates libglib2 and libsoup to the latest
stable versions.

SSL/TLS support in libsoup does not any longer use libgcrypt directly
but relies on GIO modules that are provided by glib-networking. Thus
a new package "glib-networking" is introduced.

Packages using libsoup with SSL support don't need to be changed;
the BR2_PACKAGE_LIBSOUP_SSL option takes care of selecting the new
glib-networking package and compiling it with libgcrypt support.

There's also a patch included for gamin that is needed to make it
compile with the latest libglib2.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30
  2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
  2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
  To: buildroot

G_CONST_RETURN is deprecated in glib 2.30 so remove occurences
to avoid build failures.

Patch taken from http://patches.openembedded.org/patch/13079/

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 package/gamin/gamin-0.1.10-no-const-return.patch |   57 ++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)
 create mode 100644 package/gamin/gamin-0.1.10-no-const-return.patch

diff --git a/package/gamin/gamin-0.1.10-no-const-return.patch b/package/gamin/gamin-0.1.10-no-const-return.patch
new file mode 100644
index 0000000..3e6e905
--- /dev/null
+++ b/package/gamin/gamin-0.1.10-no-const-return.patch
@@ -0,0 +1,57 @@
+G_CONST_RETURN is deprecated in glib 2.30 so remove to to avoid
+build failures.
+
+Upstream-Status: Pending
+
+Index: gamin-0.1.10/server/gam_node.c
+===================================================================
+--- gamin-0.1.10.orig/server/gam_node.c	2011-10-12 15:25:45.217178314 +0100
++++ gamin-0.1.10/server/gam_node.c	2011-10-12 15:26:17.807178293 +0100
+@@ -122,7 +122,7 @@
+  * it has finished with the string.  If it must keep it longer, it
+  * should makes its own copy.  The returned string must not be freed.
+  */
+-G_CONST_RETURN char *
++const char *
+ gam_node_get_path(GamNode * node)
+ {
+     g_assert(node);
+Index: gamin-0.1.10/server/gam_node.h
+===================================================================
+--- gamin-0.1.10.orig/server/gam_node.h	2011-10-12 15:25:46.857178269 +0100
++++ gamin-0.1.10/server/gam_node.h	2011-10-12 15:26:28.637178297 +0100
+@@ -58,7 +58,7 @@
+ void                  gam_node_set_is_dir          (GamNode         *node,
+ 						   gboolean        is_dir);
+ 	
+-G_CONST_RETURN char  *gam_node_get_path            (GamNode         *node);
++const char  *gam_node_get_path            (GamNode         *node);
+ 
+ GList                *gam_node_get_subscriptions   (GamNode         *node);
+ 
+Index: gamin-0.1.10/server/gam_subscription.c
+===================================================================
+--- gamin-0.1.10.orig/server/gam_subscription.c	2011-10-12 15:25:40.497177525 +0100
++++ gamin-0.1.10/server/gam_subscription.c	2011-10-12 15:26:39.867178304 +0100
+@@ -141,7 +141,7 @@
+  * @param sub the GamSubscription
+  * @returns The path being monitored.  It should not be freed.
+  */
+-G_CONST_RETURN char *
++const char *
+ gam_subscription_get_path(GamSubscription * sub)
+ {
+     if (sub == NULL)
+Index: gamin-0.1.10/server/gam_subscription.h
+===================================================================
+--- gamin-0.1.10.orig/server/gam_subscription.h	2011-10-12 15:25:28.507178266 +0100
++++ gamin-0.1.10/server/gam_subscription.h	2011-10-12 15:25:58.817178285 +0100
+@@ -21,7 +21,7 @@
+ 
+ int                  gam_subscription_get_reqno    (GamSubscription *sub);
+ 
+-G_CONST_RETURN char *gam_subscription_get_path     (GamSubscription *sub);
++const char *gam_subscription_get_path     (GamSubscription *sub);
+ 
+ GamListener         *gam_subscription_get_listener (GamSubscription *sub);
+ 
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
  2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
  2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
  2012-02-27 23:34   ` Peter Korsgaard
  2012-02-27 12:38 ` [Buildroot] [PATCH 3/4] glib-networking: new package Sven Neumann
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
  To: buildroot

Update to latest stable release and add a dependency on libffi which
is needed by GObject.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
---
 package/libglib2/Config.in                         |    1 +
 ...b2-fix-compilation-with-no-builtin-atomic.patch |   25 --------------------
 package/libglib2/libglib2.mk                       |   14 +++++-----
 3 files changed, 8 insertions(+), 32 deletions(-)
 delete mode 100644 package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch

diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in
index 3d42430..d1d7231 100644
--- a/package/libglib2/Config.in
+++ b/package/libglib2/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	select BR2_PACKAGE_LIBFFI
 	select BR2_PACKAGE_ZLIB
 	depends on BR2_USE_WCHAR # gettext
 	help
diff --git a/package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch b/package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch
deleted file mode 100644
index 39c0510..0000000
--- a/package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 58096320ea0888c4fbbff318839017a4d2e82703 Mon Sep 17 00:00:00 2001
-From: Lionel Landwerlin <llandwerlin@gmail.com>
-Date: Sat, 6 Nov 2010 14:56:15 +0100
-Subject: [PATCH] glib: fix compilation with no builtin atomic operations compilers
-
-Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
----
- glib/gatomic.c |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/glib/gatomic.c b/glib/gatomic.c
-index 845c866..01468ce 100644
---- a/glib/gatomic.c
-+++ b/glib/gatomic.c
-@@ -881,6 +881,7 @@ g_atomic_pointer_compare_and_exchange (volatile gpointer G_GNUC_MAY_ALIAS *atomi
- #endif /* DEFINE_WITH_WIN32_INTERLOCKED */
- 
- #ifdef DEFINE_WITH_MUTEXES
-+# include "gthread.h"
- /* We have to use the slow, but safe locking method */
- static GMutex *g_atomic_mutex; 
- 
--- 
-1.7.2.3
-
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 0832ac3..a35e525 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -3,8 +3,8 @@
 # libglib2
 #
 #############################################################
-LIBGLIB2_VERSION_MAJOR = 2.28
-LIBGLIB2_VERSION_MINOR = 8
+LIBGLIB2_VERSION_MAJOR = 2.30
+LIBGLIB2_VERSION_MINOR = 2
 LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).$(LIBGLIB2_VERSION_MINOR)
 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.bz2
 LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
@@ -13,7 +13,7 @@ LIBGLIB2_INSTALL_STAGING = YES
 LIBGLIB2_INSTALL_TARGET = YES
 LIBGLIB2_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
 
-LIBGLIB2_CONF_ENV =	\
+LIBGLIB2_CONF_ENV = \
 		ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
 		glib_cv_uscore=no ac_cv_func_strtod=yes \
 		ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \
@@ -48,17 +48,17 @@ HOST_LIBGLIB2_CONF_OPT = \
 		--disable-gtk-doc \
 		--enable-debug=no \
 
-LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
+LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
 
-HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-zlib
+HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-libffi host-zlib
 
 ifneq ($(BR2_ENABLE_LOCALE),y)
-LIBGLIB2_DEPENDENCIES+=libiconv
+LIBGLIB2_DEPENDENCIES += libiconv
 endif
 
 ifeq ($(BR2_PACKAGE_LIBICONV),y)
 LIBGLIB2_CONF_OPT += --with-libiconv=gnu
-LIBGLIB2_DEPENDENCIES+=libiconv
+LIBGLIB2_DEPENDENCIES += libiconv
 endif
 
 define LIBGLIB2_REMOVE_DEV_FILES
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/4] glib-networking: new package
  2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
  2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
  2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
  2012-02-27 12:38 ` [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1 Sven Neumann
  2012-02-28  8:22 ` [Buildroot] update libglib2 and libsoup Peter Korsgaard
  4 siblings, 0 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
  To: buildroot

glib-networking provides network-related GIO modules for glib.
It is used by newer versions of libsoup to implement SSL/TLS
support.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
---
 package/Config.in                          |    1 +
 package/glib-networking/Config.in          |   11 +++++++++++
 package/glib-networking/glib-networking.mk |   22 ++++++++++++++++++++++
 3 files changed, 34 insertions(+), 0 deletions(-)
 create mode 100644 package/glib-networking/Config.in
 create mode 100644 package/glib-networking/glib-networking.mk

diff --git a/package/Config.in b/package/Config.in
index 8a7c9c4..41cbb8c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -344,6 +344,7 @@ source "package/jsmin/Config.in"
 endmenu
 
 menu "Networking"
+source "package/glib-networking/Config.in"
 source "package/libcgi/Config.in"
 source "package/libcgicc/Config.in"
 source "package/libcurl/Config.in"
diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in
new file mode 100644
index 0000000..16f0d4a
--- /dev/null
+++ b/package/glib-networking/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_GLIB_NETWORKING
+	bool "glib-networking"
+	depends on BR2_USE_WCHAR # glib2
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	help
+	  Network-related GIO modules for glib.
+
+comment "glib-networking requires a toolchain with WCHAR support"
+	depends on !BR2_USE_WCHAR
diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk
new file mode 100644
index 0000000..b1ad621
--- /dev/null
+++ b/package/glib-networking/glib-networking.mk
@@ -0,0 +1,22 @@
+#############################################################
+#
+# glib-networking
+#
+#############################################################
+
+GLIB_NETWORKING_MAJOR_VERSION = 2.30
+GLIB_NETWORLING_MINOR_VERSION = 2
+GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_MAJOR_VERSION).$(GLIB_NETWORLING_MINOR_VERSION)
+GLIB_NETWORKING_SITE = http://ftp.gnome.org/pub/gnome/sources/glib-networking/$(GLIB_NETWORKING_MAJOR_VERSION)
+GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz
+
+GLIB_NETWORKING_INSTALL_STAGING = YES
+
+GLIB_NETWORKING_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config libglib2
+
+ifeq ($(BR2_PACKAGE_GNUTLS),y)
+GLIB_NETWORKING_DEPENDENCIES += gnutls
+GLIB_NETWORKING_CONF_OPT = --with-libgcrypt-prefix=$(STAGING_DIR)/usr
+endif
+
+$(eval $(call AUTOTARGETS))
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1
  2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
                   ` (2 preceding siblings ...)
  2012-02-27 12:38 ` [Buildroot] [PATCH 3/4] glib-networking: new package Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
  2012-02-28  8:22 ` [Buildroot] update libglib2 and libsoup Peter Korsgaard
  4 siblings, 0 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
  To: buildroot

Update to latest stable release. SSL support now depends on
glib-networking with gnutls support instead of using gnutls
directly.

Remove libsoup-CVE-2011-2054.patch, this is fixed upstream.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
---
 package/libsoup/Config.in                   |    1 +
 package/libsoup/libsoup-CVE-2011-2054.patch |   32 ---------------------------
 package/libsoup/libsoup.mk                  |   19 ++++++---------
 3 files changed, 9 insertions(+), 43 deletions(-)
 delete mode 100644 package/libsoup/libsoup-CVE-2011-2054.patch

diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in
index 347687c..eee6ade 100644
--- a/package/libsoup/Config.in
+++ b/package/libsoup/Config.in
@@ -14,6 +14,7 @@ config BR2_PACKAGE_LIBSOUP
 
 config BR2_PACKAGE_LIBSOUP_SSL
 	bool "https support"
+	select BR2_PACKAGE_GLIB_NETWORKING
 	select BR2_PACKAGE_GNUTLS
 	depends on BR2_PACKAGE_LIBSOUP
 	help
diff --git a/package/libsoup/libsoup-CVE-2011-2054.patch b/package/libsoup/libsoup-CVE-2011-2054.patch
deleted file mode 100644
index 0dc5ecc..0000000
--- a/package/libsoup/libsoup-CVE-2011-2054.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4617b6ef6dd21931a0153070c5b5ff7ef21b46f8 Mon Sep 17 00:00:00 2001
-From: Dan Winship <danw@gnome.org>
-Date: Wed, 29 Jun 2011 10:04:06 -0400
-Subject: [PATCH] SoupServer: fix to not allow smuggling ".." into path
-
-When SoupServer:raw-paths was set (the default), it was possible to
-sneak ".." segments into the path passed to the SoupServerHandler,
-which could then end up tricking some handlers into retrieving
-arbitrary files from the filesystem. Fix that.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=653258
-
-diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
-index d56efd1..7225337 100644
---- a/libsoup/soup-server.c
-+++ b/libsoup/soup-server.c
-@@ -779,6 +779,15 @@ got_headers (SoupMessage *req, SoupClientContext *client)
- 
- 		uri = soup_message_get_uri (req);
- 		decoded_path = soup_uri_decode (uri->path);
-+
-+		if (strstr (decoded_path, "/../") ||
-+		    g_str_has_suffix (decoded_path, "/..")) {
-+			/* Introducing new ".." segments is not allowed */
-+			g_free (decoded_path);
-+			soup_message_set_status (req, SOUP_STATUS_BAD_REQUEST);
-+			return;
-+		}
-+
- 		soup_uri_set_path (uri, decoded_path);
- 		g_free (decoded_path);
- 	}
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 147b220..6572585 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -4,10 +4,11 @@
 #
 #############################################################
 
-LIBSOUP_MAJOR_VERSION:=2.32
-LIBSOUP_VERSION:=$(LIBSOUP_MAJOR_VERSION).2
-LIBSOUP_SOURCE:=libsoup-$(LIBSOUP_VERSION).tar.bz2
-LIBSOUP_SITE:=http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_MAJOR_VERSION)
+LIBSOUP_MAJOR_VERSION = 2.36
+LIBSOUP_MINOR_VERSION = 1
+LIBSOUP_VERSION = $(LIBSOUP_MAJOR_VERSION).$(LIBSOUP_MINOR_VERSION)
+LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.bz2
+LIBSOUP_SITE = http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_MAJOR_VERSION)
 LIBSOUP_INSTALL_STAGING = YES
 
 LIBSOUP_CONF_ENV = ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY)
@@ -16,18 +17,14 @@ ifneq ($(BR2_INET_IPV6),y)
 LIBSOUP_CONF_ENV += soup_cv_ipv6=no
 endif
 
-LIBSOUP_CONF_OPT = \
-	--disable-explicit-deps \
-	--disable-glibtest	\
-	--without-gnome
+LIBSOUP_CONF_OPT = --disable-glibtest --without-gnome
 
 LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2
 
 ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
-LIBSOUP_DEPENDENCIES += gnutls
-LIBSOUP_CONF_OPT += --enable-ssl --with-libgcrypt-prefix=$(STAGING_DIR)/usr
+LIBSOUP_DEPENDENCIES += glib-networking
 else
-LIBSOUP_CONF_OPT += --disable-ssl
+LIBSOUP_CONF_OPT += --disable-tls-check
 endif
 
 $(eval $(call AUTOTARGETS))
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
  2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
@ 2012-02-27 23:34   ` Peter Korsgaard
  2012-02-28 13:39     ` Sven Neumann
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Korsgaard @ 2012-02-27 23:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:

 Sven> Update to latest stable release and add a dependency on libffi which
 Sven> is needed by GObject.

Looks like we'll need to fiddle with _CONF_ENV:

checking for qsort_r... yes
checking if qsort_r uses glibc compatible argument order... configure: error: in `/home/peko/source/buildroot/output/build/libglib2-2.30.2':
configure: error: cannot run test program while cross compiling
See `config.log' for more details

This is default internal toolchain config, ARM A8.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] update libglib2 and libsoup
  2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
                   ` (3 preceding siblings ...)
  2012-02-27 12:38 ` [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1 Sven Neumann
@ 2012-02-28  8:22 ` Peter Korsgaard
  4 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2012-02-28  8:22 UTC (permalink / raw)
  To: buildroot

>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:

 Sven> This is a patchset that updates libglib2 and libsoup to the latest
 Sven> stable versions.

 Sven> SSL/TLS support in libsoup does not any longer use libgcrypt directly
 Sven> but relies on GIO modules that are provided by glib-networking. Thus
 Sven> a new package "glib-networking" is introduced.

 Sven> Packages using libsoup with SSL support don't need to be changed;
 Sven> the BR2_PACKAGE_LIBSOUP_SSL option takes care of selecting the new
 Sven> glib-networking package and compiling it with libgcrypt support.

 Sven> There's also a patch included for gamin that is needed to make it
 Sven> compile with the latest libglib2.

Committed series to next after fixing up glib build, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
  2012-02-27 23:34   ` Peter Korsgaard
@ 2012-02-28 13:39     ` Sven Neumann
  2012-02-28 20:34       ` Peter Korsgaard
  0 siblings, 1 reply; 9+ messages in thread
From: Sven Neumann @ 2012-02-28 13:39 UTC (permalink / raw)
  To: buildroot

On Tue, 2012-02-28 at 00:34 +0100, Peter Korsgaard wrote:
> >>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:
> 
>  Sven> Update to latest stable release and add a dependency on libffi which
>  Sven> is needed by GObject.
> 
> Looks like we'll need to fiddle with _CONF_ENV:
> 
> checking for qsort_r... yes
> checking if qsort_r uses glibc compatible argument order... configure: error: in `/home/peko/source/buildroot/output/build/libglib2-2.30.2':
> configure: error: cannot run test program while cross compiling
> See `config.log' for more details
> 
> This is default internal toolchain config, ARM A8.

I have just changed my buildroot environment to use the default uclibc
configuration and now the build of libglib2 fails (with your build fix
applied):

gqsort.c: In function 'g_qsort_with_data':
gqsort.c:65:3: warning: implicit declaration of function 'qsort_r' [-Wimplicit-function-declaration]


The problem is that you we pass glib_cv_have_qsort_r=yes to the
configure script now. This is supposed to be only of relevance if we are
building for glibc. But the glib configure script looks like this:


dnl don't use AC_CHECK_FUNCS here, otherwise HAVE_QSORT_R will
dnl be automatically defined, which we don't want to do
dnl until we have checked this function is actually usable
AC_CHECK_FUNC([qsort_r])

# BSD has a qsort_r with wrong argument order
if test x$ac_cv_func_qsort_r = xyes ; then
  AC_CACHE_CHECK([if qsort_r uses glibc compatible argument order],
glib_cv_have_qsort_r, [
  AC_RUN_IFELSE([AC_LANG_SOURCE([[
// [test program deleted]
  }]])],[glib_cv_have_qsort_r=yes],[glib_cv_have_qsort_r=no])])
fi

if test x$glib_cv_have_qsort_r = xyes ; then
  AC_DEFINE(HAVE_QSORT_R, 1, [Define to 1 if you have the 'qsort_r'
function])
fi


So in the end what is tested is the value of glib_cv_have_qsort_r. With
your fix this is now set even though uclibc does not provide qsort_r.


Regards,
Sven

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
  2012-02-28 13:39     ` Sven Neumann
@ 2012-02-28 20:34       ` Peter Korsgaard
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2012-02-28 20:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:

Hi,

 Sven> So in the end what is tested is the value of glib_cv_have_qsort_r. With
 Sven> your fix this is now set even though uclibc does not provide qsort_r.

It does, but only from 0.9.33 and onwards. Sorry, didn't notice that it
was relatively new. Will fix.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-02-28 20:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
2012-02-27 23:34   ` Peter Korsgaard
2012-02-28 13:39     ` Sven Neumann
2012-02-28 20:34       ` Peter Korsgaard
2012-02-27 12:38 ` [Buildroot] [PATCH 3/4] glib-networking: new package Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1 Sven Neumann
2012-02-28  8:22 ` [Buildroot] update libglib2 and libsoup Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.