Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox