Misc autobuilder fixes
v2 cover Misc autobuilder fixes
Hello,
Second version of the libxmlrpc/xerces fixes. Changes since v1:
- Drop patches that were merged.
- Add hash file for libxmlrpc, as suggested by Yann.
Thomas
Thomas Petazzoni (3):
libxmlrpc: bump to 1.25.30 and add hash file
libxmlrpc: improve curl-config patch
xerces: make sure to use the cross-compiled curl
.../libxmlrpc/0004-use-correct-curl-config.patch | 82 ++++++++++++++++++++-- package/libxmlrpc/libxmlrpc.hash | 2 + package/libxmlrpc/libxmlrpc.mk | 11 ++- package/xerces/xerces.mk | 2 +- 4 files changed, 90 insertions(+), 7 deletions(-) create mode 100644 package/libxmlrpc/libxmlrpc.hash
Signature · 1 line
2.1.0
PATCH v2 1/3 libxmlrpc: bump to 1.25.30 and add hash file
This commit bumps libxmlrpc to the latest available stable version, and adds a hash file.
--- package/libxmlrpc/libxmlrpc.hash | 2 ++ package/libxmlrpc/libxmlrpc.mk | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 package/libxmlrpc/libxmlrpc.hash
package/libxmlrpc/libxmlrpc.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 8ae6ed4ec57d50ed132b1150fc5258346eef3e291501a564f14fa97586902f98 xmlrpc-c-1.25.30.tgz
package/libxmlrpc/libxmlrpc.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LIBXMLRPC_VERSION = 1.25.26 +LIBXMLRPC_VERSION = 1.25.30 LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION) LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c)
Signature · 1 line
2.1.0
PATCH v2 1/3 libxmlrpc: bump to 1.25.30 and add hash file
Thomas, All,
On 2014-12-27 17:25 +0100, Thomas Petazzoni spake thusly:
Quoted 4 lines
This commit bumps libxmlrpc to the latest available stable version, and adds a hash file.
Signed-off-by Thomas Petazzoni <[email protected]>
Hash manually verified to be OK.
Regards,
Yann E. MORIN.
Quoted 34 lines
--- package/libxmlrpc/libxmlrpc.hash | 2 ++ package/libxmlrpc/libxmlrpc.mk | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 package/libxmlrpc/libxmlrpc.hashpackage/libxmlrpc/libxmlrpc.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 8ae6ed4ec57d50ed132b1150fc5258346eef3e291501a564f14fa97586902f98 xmlrpc-c-1.25.30.tgzpackage/libxmlrpc/libxmlrpc.mk +1
-1@@ -4,7 +4,7 @@ # ################################################################################ -LIBXMLRPC_VERSION = 1.25.26 +LIBXMLRPC_VERSION = 1.25.30 LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION) LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c)Signature · 6 lines
2.1.0 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 13 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. | '------------------------------^-------^------------------^--------------------' -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20141227/2c30368e/attachment.asc>
PATCH v2 2/3 libxmlrpc: improve curl-config patch
In reply to Thomas PetazzoniThe curl-config patch that makes sure to not use curl-config from the PATH but the curl-config program specified at configure time was forgetting a number of other places. So we change the strategy, and make the configure.in script define a $CURL_CONFIG variable that can be used in Makefiles where appropriate.
This means we need to run autoconf (but not AUTORECONF = YES since the package uses autoconf but not automake).
This fixes build failures in cases where a curl-config program is in the PATH. Fixes:
http://autobuild.buildroot.org/results/06b/06b7eada721483eb57adde147768a1f306b7d0d7/
(and many similar ones)
--- .../libxmlrpc/0004-use-correct-curl-config.patch | 82 ++++++++++++++++++++-- package/libxmlrpc/libxmlrpc.mk | 9 ++- 2 files changed, 86 insertions(+), 5 deletions(-)
package/libxmlrpc/0004-use-correct-curl-config.patch +78 -4
@@ -1,9 +1,10 @@ Use correct curl-config program -Instead of calling again curl-config in src/Makefile (which ends up +Instead of calling directly curl-config in src/Makefile (which ends up calling the wrong curl-config: the one in the PATH instead of the one -pointed at by the environment variables at configure time), let's use -the CURL_LDADD variable which was computed at configure time. +pointed at by the environment variables at configure time), let's +define a CURL_CONFIG variable that contains the path to the proper +curl-config program, and use it where appropriate. Signed-off-by: Thomas Petazzoni <[email protected]>
@@ -16,7 +17,80 @@ Index: b/src/Makefile TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread - TRANSPORT_LIBDEP += $(shell curl-config --libs) -+ TRANSPORT_LIBDEP += $(CURL_LDADD) ++ TRANSPORT_LIBDEP += $(shell $CURL_CONFIG --libs) endif ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport +Index: b/config.mk.in +=================================================================== +--- a/config.mk.in ++++ b/config.mk.in +@@ -32,6 +32,7 @@ + LSOCKET = @LSOCKET@ + WININET_LDADD = @WININET_LDADD@ + WININET_LIBDIR = @WININET_LIBDIR@ ++CURL_CONFIG = @CURL_CONFIG@ + CURL_LDADD = @CURL_LDADD@ + CURL_LIBDIR = @CURL_LIBDIR@ + LIBWWW_LDADD = @LIBWWW_LDADD@ +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -550,6 +550,8 @@ + dnl So we don't do any check now. If we find out there's a problem with + dnl older Curls, we will revisit that. + ++ AC_SUBST(CURL_CONFIG) ++ + CURL_LDADD=$($CURL_CONFIG --libs) + AC_SUBST(CURL_LDADD) + +Index: b/lib/curl_transport/Makefile +=================================================================== +--- a/lib/curl_transport/Makefile ++++ b/lib/curl_transport/Makefile +@@ -29,7 +29,7 @@ + + $(SRCDIR)/common.mk: srcdir blddir + +-CURL_VERSION := $(shell curl-config --vernum) ++CURL_VERSION := $(shell $CURL_CONFIG --vernum) + + # Some time at or before Curl 7.12, <curl/types.h> became an empty file + # (no-op). Some time after Curl 7.18, <curl/types.h> ceased to exist. +@@ -43,7 +43,7 @@ + CFLAGS_LOCAL += -DNEED_CURL_TYPES_H + endif + +-CURL_INCLUDES := $(shell curl-config --cflags) ++CURL_INCLUDES := $(shell $CURL_CONFIG --cflags) + # We expect that curl-config --cflags just gives us -I options, because + # we need just the -I options for 'make dep'. Plus, it's scary to think + # of what any other compiler flag would do to our compile. +Index: b/src/cpp/test/Makefile +=================================================================== +--- a/src/cpp/test/Makefile ++++ b/src/cpp/test/Makefile +@@ -20,7 +20,7 @@ + LIBS := $(shell $(XMLRPC_C_CONFIG) client --ldadd) + + ifeq ($(MUST_BUILD_CURL_CLIENT),yes) +- LIBS += $(shell curl-config --libs) ++ LIBS += $(shell $CURL_CONFIG --libs) + endif + ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) + LIBS += $(shell libwww-config --libs) +Index: b/tools/common.mk +=================================================================== +--- a/tools/common.mk ++++ b/tools/common.mk +@@ -15,7 +15,7 @@ + CLIENT_LDLIBS += $(shell libwww-config --libs) + endif + ifeq ($(MUST_BUILD_CURL_CLIENT),yes) +- CLIENT_LDLIBS += $(shell curl-config --libs) ++ CLIENT_LDLIBS += $(shell $CURL_CONFIG --libs) + endif + ifeq ($(MUST_BUILD_WININET_CLIENT),yes) + CLIENT_LDLIBS += $(shell wininet-config --libs)
package/libxmlrpc/libxmlrpc.mk +8 -1
@@ -10,10 +10,17 @@ LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Su LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) LIBXMLRPC_LICENSE_FILES = doc/COPYING LIBXMLRPC_INSTALL_STAGING = YES -LIBXMLRPC_DEPENDENCIES = libcurl +LIBXMLRPC_DEPENDENCIES = libcurl host-autoconf LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config LIBXMLRPC_MAKE = $(MAKE1) +# Using autoconf, not automake, so we cannot use AUTORECONF = YES. +define LIBXMLRPC_RUN_AUTOCONF + cd $(@D); $(HOST_DIR)/usr/bin/autoconf +endef + +LIBXMLRPC_PRE_CONFIGURE_HOOKS += LIBXMLRPC_RUN_AUTOCONF + LIBXMLRPC_CONF_OPTS = \ $(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \ $(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
Signature · 1 line
2.1.0
PATCH v2 2/3 libxmlrpc: improve curl-config patch
Thomas, All,
On 2014-12-27 17:25 +0100, Thomas Petazzoni spake thusly:
Quoted 9 lines
The curl-config patch that makes sure to not use curl-config from the PATH but the curl-config program specified at configure time was forgetting a number of other places. So we change the strategy, and make the configure.in script define a $CURL_CONFIG variable that can be used in Makefiles where appropriate.
This means we need to run autoconf (but not AUTORECONF = YES since the package uses autoconf but not automake).
Quoted 7 lines
This fixes build failures in cases where a curl-config program is in the PATH. Fixes:
http://autobuild.buildroot.org/results/06b/06b7eada721483eb57adde147768a1f306b7d0d7/
(and many similar ones)Signed-off-by Thomas Petazzoni <[email protected]>
[tested against one of the autobuild failures, although I was not able to reproduce it beforehand]
Regards,
Yann E. MORIN.
Quoted 135 lines
--- .../libxmlrpc/0004-use-correct-curl-config.patch | 82 ++++++++++++++++++++-- package/libxmlrpc/libxmlrpc.mk | 9 ++- 2 files changed, 86 insertions(+), 5 deletions(-)package/libxmlrpc/0004-use-correct-curl-config.patch +78
-4@@ -1,9 +1,10 @@ Use correct curl-config program -Instead of calling again curl-config in src/Makefile (which ends up +Instead of calling directly curl-config in src/Makefile (which ends up calling the wrong curl-config: the one in the PATH instead of the one -pointed at by the environment variables at configure time), let's use -the CURL_LDADD variable which was computed at configure time. +pointed at by the environment variables at configure time), let's +define a CURL_CONFIG variable that contains the path to the proper +curl-config program, and use it where appropriate. Signed-off-by: Thomas Petazzoni <[email protected]>@@ -16,7 +17,80 @@ Index: b/src/Makefile TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread - TRANSPORT_LIBDEP += $(shell curl-config --libs) -+ TRANSPORT_LIBDEP += $(CURL_LDADD) ++ TRANSPORT_LIBDEP += $(shell $CURL_CONFIG --libs) endif ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport +Index: b/config.mk.in +=================================================================== +--- a/config.mk.in ++++ b/config.mk.in +@@ -32,6 +32,7 @@ + LSOCKET = @LSOCKET@ + WININET_LDADD = @WININET_LDADD@ + WININET_LIBDIR = @WININET_LIBDIR@ ++CURL_CONFIG = @CURL_CONFIG@ + CURL_LDADD = @CURL_LDADD@ + CURL_LIBDIR = @CURL_LIBDIR@ + LIBWWW_LDADD = @LIBWWW_LDADD@ +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -550,6 +550,8 @@ + dnl So we don't do any check now. If we find out there's a problem with + dnl older Curls, we will revisit that. + ++ AC_SUBST(CURL_CONFIG) ++ + CURL_LDADD=$($CURL_CONFIG --libs) + AC_SUBST(CURL_LDADD) + +Index: b/lib/curl_transport/Makefile +=================================================================== +--- a/lib/curl_transport/Makefile ++++ b/lib/curl_transport/Makefile +@@ -29,7 +29,7 @@ + + $(SRCDIR)/common.mk: srcdir blddir + +-CURL_VERSION := $(shell curl-config --vernum) ++CURL_VERSION := $(shell $CURL_CONFIG --vernum) + + # Some time at or before Curl 7.12, <curl/types.h> became an empty file + # (no-op). Some time after Curl 7.18, <curl/types.h> ceased to exist. +@@ -43,7 +43,7 @@ + CFLAGS_LOCAL += -DNEED_CURL_TYPES_H + endif + +-CURL_INCLUDES := $(shell curl-config --cflags) ++CURL_INCLUDES := $(shell $CURL_CONFIG --cflags) + # We expect that curl-config --cflags just gives us -I options, because + # we need just the -I options for 'make dep'. Plus, it's scary to think + # of what any other compiler flag would do to our compile. +Index: b/src/cpp/test/Makefile +=================================================================== +--- a/src/cpp/test/Makefile ++++ b/src/cpp/test/Makefile +@@ -20,7 +20,7 @@ + LIBS := $(shell $(XMLRPC_C_CONFIG) client --ldadd) + + ifeq ($(MUST_BUILD_CURL_CLIENT),yes) +- LIBS += $(shell curl-config --libs) ++ LIBS += $(shell $CURL_CONFIG --libs) + endif + ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) + LIBS += $(shell libwww-config --libs) +Index: b/tools/common.mk +=================================================================== +--- a/tools/common.mk ++++ b/tools/common.mk +@@ -15,7 +15,7 @@ + CLIENT_LDLIBS += $(shell libwww-config --libs) + endif + ifeq ($(MUST_BUILD_CURL_CLIENT),yes) +- CLIENT_LDLIBS += $(shell curl-config --libs) ++ CLIENT_LDLIBS += $(shell $CURL_CONFIG --libs) + endif + ifeq ($(MUST_BUILD_WININET_CLIENT),yes) + CLIENT_LDLIBS += $(shell wininet-config --libs)package/libxmlrpc/libxmlrpc.mk +8
-1@@ -10,10 +10,17 @@ LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Su LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) LIBXMLRPC_LICENSE_FILES = doc/COPYING LIBXMLRPC_INSTALL_STAGING = YES -LIBXMLRPC_DEPENDENCIES = libcurl +LIBXMLRPC_DEPENDENCIES = libcurl host-autoconf LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config LIBXMLRPC_MAKE = $(MAKE1) +# Using autoconf, not automake, so we cannot use AUTORECONF = YES. +define LIBXMLRPC_RUN_AUTOCONF + cd $(@D); $(HOST_DIR)/usr/bin/autoconf +endef + +LIBXMLRPC_PRE_CONFIGURE_HOOKS += LIBXMLRPC_RUN_AUTOCONF + LIBXMLRPC_CONF_OPTS = \ $(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \ $(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \Signature · 6 lines
2.1.0 _______________________________________________ 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. | '------------------------------^-------^------------------^--------------------'
PATCH v2 3/3 xerces: make sure to use the cross-compiled curl
In reply to Thomas PetazzoniWhen curl support is enabled in xerces, and a host curl is available on the system, it might try to use it, so this patch adds --with-curl= to the configure options to explicitly indicate where is the curl library to use.
Should fix:
http://autobuild.buildroot.org/results/c3c/c3c6be45d0f764fb931a46dbf1509ccf2916ecbf/
(We were not able to reproduce specifically this problem, but another similar problem, where curl was detected, but considered as non-working because of the compilation failure of a test program.)
--- package/xerces/xerces.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/xerces/xerces.mk +1 -1
@@ -20,7 +20,7 @@ XERCES_DEPENDENCIES += libiconv endif ifeq ($(BR2_PACKAGE_LIBCURL),y) -XERCES_CONF_OPTS += --enable-netaccessor-curl +XERCES_CONF_OPTS += --enable-netaccessor-curl --with-curl=$(STAGING_DIR)/usr/lib XERCES_DEPENDENCIES += libcurl else XERCES_CONF_OPTS += --disable-network
Signature · 1 line
2.1.0
PATCH v2 3/3 xerces: make sure to use the cross-compiled curl
Thomas, All,
On 2014-12-27 17:25 +0100, Thomas Petazzoni spake thusly:
Quoted 7 lines
When curl support is enabled in xerces, and a host curl is available on the system, it might try to use it, so this patch adds --with-curl= to the configure options to explicitly indicate where is the curl library to use.
Should fix:
Quoted 7 lines
http://autobuild.buildroot.org/results/c3c/c3c6be45d0f764fb931a46dbf1509ccf2916ecbf/
(We were not able to reproduce specifically this problem, but another similar problem, where curl was detected, but considered as non-working because of the compilation failure of a test program.)
Signed-off-by Thomas Petazzoni <[email protected]>
Regards,
Yann E. MORIN.
Quoted 24 lines
--- package/xerces/xerces.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/xerces/xerces.mk +1
-1@@ -20,7 +20,7 @@ XERCES_DEPENDENCIES += libiconv endif ifeq ($(BR2_PACKAGE_LIBCURL),y) -XERCES_CONF_OPTS += --enable-netaccessor-curl +XERCES_CONF_OPTS += --enable-netaccessor-curl --with-curl=$(STAGING_DIR)/usr/lib XERCES_DEPENDENCIES += libcurl else XERCES_CONF_OPTS += --disable-networkSignature · 6 lines
2.1.0 _______________________________________________ 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. | '------------------------------^-------^------------------^--------------------'
v2 cover Misc autobuilder fixes
In reply to Thomas PetazzoniHello,
Quoted 4 lines · Thomas Petazzoni
Thomas Petazzoni (3):
libxmlrpc: bump to 1.25.30 and add hash file
libxmlrpc: improve curl-config patch
xerces: make sure to use the cross-compiled curl
Patches applied. Thanks Yann for the review/acks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com