Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [autobuild.buildroot.net] Your build results for 2017-05-02
From: Thomas Petazzoni @ 2017-05-04 15:46 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1493912093.7376.14.camel@synopsys.com>

Hello,

On Thu, 4 May 2017 15:34:55 +0000, Alexey Brodkin wrote:

> Unfortunately in the beginning of the current toolchain development cycle
> we decided to stay on uClibc-ng 1.0.17 + backported ARC-related patches
> due to different reasons and given we're now on rc2 stage there's no chance
> to switch to any other version unfortunately. I hope next dev cycle we'll use just
> latest upstream uClibc-ng release.

OK. Can you make sure to enable wordexp as well?

> We're talking only about __prebuilt__ ARC toolchain right?
> Because Buildroot-built tools use latest uClibc-ng with correct config.

Wow, I just discovered that our autobuilders were not properly setup.
They are not supposed to test the Synopsys pre-built toolchain, but a
Buildroot pre-built toolchain. But they are testing the Synopsys
pre-built toolchain.

To clarify things, we have three toolchain possibilities:

 - The internal toolchain backend, Buildroot builds the entire
   toolchain from scratch for every build. This is what the base
   configuration
   http://autobuild.buildroot.net/toolchains/configs/br-arc-full-internal.config
   is doing.

 - The external toolchain backend that uses a custom toolchain, itself
   built by Buildroot. This one I have rebuilt recently with uClibc-ng
   1.0.24 and wordexp. It is the toolchain configuration supposed to be
   tested by
   http://autobuild.buildroot.net/toolchains/configs/br-arcle-hs38.config.
   Except that this file lacks BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y, so
   instead of using the custom toolchain specified in this defconfig,
   it uses the Synopsys pre-built toolchain. Weird that Arnout's check
   that all lines of the base configuration are still present in the
   final configuration doesn't detect this.

 - The external toolchain backend that uses the Synopsys provided
   pre-built toolchain, through the toolchain-external-synopsys-arc
   package. This is *NOT* supposed to be tested by the autobuilders
   currently.

> Ideally I'd prefer to update affected packages so they are disabled for
> ARC prebuilt tools with some easily greppable comment like:
> ----------------->8-----------------  
> ?xxx yyy zzz # arc_prebuilt lacks wordexp
> ----------------->8-----------------  
> that will help us to track missing parts we need to work on in the future.
> Otherwise we may just disable autobuilder for ARC prebuilt tools because:
> 
> 1) There's no such thing as prebuilt engineering builds i.e. autobuilder
> ? ?only will test either RCs or final releases of ARC prebuilt tools which
> ? ?IMHO makes not much sense as that's a bit too late, rgiht?
> 
> 2) We know there're differences in ARC prebuilt tools from what gets built in
> ? ?Buildroot still having ARC prebuilt tools is a nice opportunity to
> ? ?simplify life for some people who prefers to not build toolchain
> ? ?themselves and for basic stuff it usually works quite fine.

Sorry, but I don't understand what you suggested here. In the light of
my explanation above, could you clarify what you mean by "ARC prebuilt
tools" ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [autobuild.buildroot.net] Your build results for 2017-05-02
From: Alexey Brodkin @ 2017-05-04 15:57 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170504174635.3d7f060c@free-electrons.com>

Hi Thomas,

On Thu, 2017-05-04 at 17:46 +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu, 4 May 2017 15:34:55 +0000, Alexey Brodkin wrote:
> 
> > 
> > Unfortunately in the beginning of the current toolchain development cycle
> > we decided to stay on uClibc-ng 1.0.17 + backported ARC-related patches
> > due to different reasons and given we're now on rc2 stage there's no chance
> > to switch to any other version unfortunately. I hope next dev cycle we'll use just
> > latest upstream uClibc-ng release.
> 
> OK. Can you make sure to enable wordexp as well?

I'll try to :)

> 
> > 
> > We're talking only about __prebuilt__ ARC toolchain right?
> > Because Buildroot-built tools use latest uClibc-ng with correct config.
> 
> Wow, I just discovered that our autobuilders were not properly setup.
> They are not supposed to test the Synopsys pre-built toolchain, but a
> Buildroot pre-built toolchain. But they are testing the Synopsys
> pre-built toolchain.

Yeah, I was really surprised ARC prebuilt tools are now tested
by BR autobuilder - I was sure it was disabled quite some time ago
but then I thought for some reason it got added back again :)

> To clarify things, we have three toolchain possibilities:
> 
> ?- The internal toolchain backend, Buildroot builds the entire
> ???toolchain from scratch for every build. This is what the base
> ???configuration
> ???https://urldefense.proofpoint.com/v2/url?u=http-3A__autobuild.buildroot.net_toolchains_configs_br-2Darc-2Dfull-2Dinternal.config&d=DwIFaQ&c=DPL6_
> X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=lI2tCqR-PmGs3JqLc-
> Snnhmqzt6zHKZM_7hqymaPhQM&s=IcnEnd9QveBxXM9nhFjGxcVn_aw5IOBaVZ6TR9HLVog&e=?
> ???is doing.
> 
> ?- The external toolchain backend that uses a custom toolchain, itself
> ???built by Buildroot. This one I have rebuilt recently with uClibc-ng
> ???1.0.24 and wordexp. It is the toolchain configuration supposed to be
> ???tested by
> ???https://urldefense.proofpoint.com/v2/url?u=http-3A__autobuild.buildroot.net_toolchains_configs_br-2Darcle-2Dhs38.config&d=DwIFaQ&c=DPL6_X_6JkXFx7
> AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=lI2tCqR-PmGs3JqLc-
> Snnhmqzt6zHKZM_7hqymaPhQM&s=vIRYBsKYcVzHuV5wdpe9R3huxW1q_X_Lz3MQXD1XEWo&e= .
> ???Except that this file lacks BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y, so
> ???instead of using the custom toolchain specified in this defconfig,
> ???it uses the Synopsys pre-built toolchain. Weird that Arnout's check
> ???that all lines of the base configuration are still present in the
> ???final configuration doesn't detect this.
> 
> ?- The external toolchain backend that uses the Synopsys provided
> ???pre-built toolchain, through the toolchain-external-synopsys-arc
> ???package. This is *NOT* supposed to be tested by the autobuilders
> ???currently.
> 
> > 
> > Ideally I'd prefer to update affected packages so they are disabled for
> > ARC prebuilt tools with some easily greppable comment like:
> > ----------------->8-----------------??
> > ?xxx yyy zzz # arc_prebuilt lacks wordexp
> > ----------------->8-----------------??
> > that will help us to track missing parts we need to work on in the future.
> > Otherwise we may just disable autobuilder for ARC prebuilt tools because:
> > 
> > 1) There's no such thing as prebuilt engineering builds i.e. autobuilder
> > ? ?only will test either RCs or final releases of ARC prebuilt tools which
> > ? ?IMHO makes not much sense as that's a bit too late, rgiht?
> > 
> > 2) We know there're differences in ARC prebuilt tools from what gets built in
> > ? ?Buildroot still having ARC prebuilt tools is a nice opportunity to
> > ? ?simplify life for some people who prefers to not build toolchain
> > ? ?themselves and for basic stuff it usually works quite fine.
> 
> Sorry, but I don't understand what you suggested here. In the light of
> my explanation above, could you clarify what you mean by "ARC prebuilt
> tools" ?

Scratch it then :)

If ARC prebuilt tools are not used by BR autobuilder there's no sense in
touching packages affected by these tools.

-Alexey

^ permalink raw reply

* [Buildroot] [PATCH] lttng-tools: disable on uClibc
From: Thomas Petazzoni @ 2017-05-04 15:59 UTC (permalink / raw)
  To: buildroot

lttng-tools has been broken on uClibc since a long time due to dlmopen()
and LM_ID_BASE not being implemented. The issue has been reported to the
upstream lttng developers more than two months ago [1], and no fix has
been provided. Therefore, it's time to disable it on uClibc.

Fixes:

  http://autobuild.buildroot.net/results/f9e82a87618bcdcd46d670697b5ac75836f7250d/

[1] https://lists.lttng.org/pipermail/lttng-dev/2017-February/026921.html

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/lttng-tools/Config.in | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in
index 187e424..4b7712a 100644
--- a/package/lttng-tools/Config.in
+++ b/package/lttng-tools/Config.in
@@ -4,6 +4,8 @@ config BR2_PACKAGE_LTTNG_TOOLS
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on !BR2_STATIC_LIBS # uses dlfcn
+	# uclibc does not implement dlmopen()/LM_ID_BASE
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC
 	select BR2_PACKAGE_LIBURCU
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_POPT
@@ -27,6 +29,7 @@ config BR2_PACKAGE_LTTNG_TOOLS
 
 	  http://lttng.org
 
-comment "lttng-tools needs a toolchain w/ threads, dynamic library"
+comment "lttng-tools needs a glibc or musl toolchain w/ threads, dynamic library"
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
-	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
+		BR2_TOOLCHAIN_USES_UCLIBC
-- 
2.7.4

^ permalink raw reply related

* [Buildroot] [PATCH] luajit: bump to version 2.0.5
From: Thomas Petazzoni @ 2017-05-04 16:00 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170502075622.22153-1-francois.perrad@gadz.org>

Hello,

On Tue,  2 May 2017 09:56:22 +0200, Francois Perrad wrote:
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/luajit/0001-no-bin-symlink.patch | 10 +++++-----
>  package/luajit/0003-install-so.patch     | 22 ----------------------
>  package/luajit/luajit.hash               |  2 +-
>  package/luajit/luajit.mk                 |  2 +-
>  4 files changed, 7 insertions(+), 29 deletions(-)
>  delete mode 100644 package/luajit/0003-install-so.patch

This commit has broken the build of the luvi package, see:

  http://autobuild.buildroot.net/results/3ee/3eef12dbe07fb375e87b2b2898dcc5ef0c11e7a5/build-end.log

Reverting the luajit bump fixes the issue.

Could you have a look ?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [PATCH] libnl: bump to version 3.3.0
From: Baruch Siach @ 2017-05-04 18:05 UTC (permalink / raw)
  To: buildroot

Drop upstream patches. Renumber remaining patches.

Add a revert of upstream patch to fix static build. Upstream pull request
(#141) is pending.

Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 ...bs.private-field-in-libnl-pkg-config-fil.patch} |   0
 .../0001-fix-libc-kernel-headers-conflict.patch    | 756 ---------------------
 ...usl-workaround-to-the-libc-compat.h-copy.patch} |   0
 ...rt-build-enable-building-cli-during-tests.patch | 115 ++++
 ...usage-of-strerror_l-if-it-doesn-t-exist-i.patch | 106 ---
 package/libnl/libnl.hash                           |   5 +-
 package/libnl/libnl.mk                             |   6 +-
 7 files changed, 119 insertions(+), 869 deletions(-)
 rename package/libnl/{0002-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch => 0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch} (100%)
 delete mode 100644 package/libnl/0001-fix-libc-kernel-headers-conflict.patch
 rename package/libnl/{0003-Add-musl-workaround-to-the-libc-compat.h-copy.patch => 0002-Add-musl-workaround-to-the-libc-compat.h-copy.patch} (100%)
 create mode 100644 package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch
 delete mode 100644 package/libnl/0004-lib-escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch

diff --git a/package/libnl/0002-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch b/package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch
similarity index 100%
rename from package/libnl/0002-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch
rename to package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch
diff --git a/package/libnl/0001-fix-libc-kernel-headers-conflict.patch b/package/libnl/0001-fix-libc-kernel-headers-conflict.patch
deleted file mode 100644
index d9dfc6e1832a..000000000000
--- a/package/libnl/0001-fix-libc-kernel-headers-conflict.patch
+++ /dev/null
@@ -1,756 +0,0 @@
-Fix libc kernel headers conflict
-
-Add missing kernel headers to fix conflicts with toolchain provided kernel
-headers of older versions.
-
-This patch is equivalent to upstream commit 6c7f4215003 ("build: distribute
-in.h in6.h libc-compat.h"). These files are present in upstream git repo, but
-are missing from the distributed tarball.
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-
---- /dev/null
-+++ b/include/linux-private/linux/in.h
-@@ -0,0 +1,299 @@
-+/*
-+ * INET		An implementation of the TCP/IP protocol suite for the LINUX
-+ *		operating system.  INET is implemented using the  BSD Socket
-+ *		interface as the means of communication with the user level.
-+ *
-+ *		Definitions of the Internet Protocol.
-+ *
-+ * Version:	@(#)in.h	1.0.1	04/21/93
-+ *
-+ * Authors:	Original taken from the GNU Project <netinet/in.h> file.
-+ *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
-+ *
-+ *		This program is free software; you can redistribute it and/or
-+ *		modify it under the terms of the GNU General Public License
-+ *		as published by the Free Software Foundation; either version
-+ *		2 of the License, or (at your option) any later version.
-+ */
-+#ifndef _LINUX_IN_H
-+#define _LINUX_IN_H
-+
-+#include <linux/types.h>
-+#include <linux/libc-compat.h>
-+#include <linux/socket.h>
-+
-+#if __UAPI_DEF_IN_IPPROTO
-+/* Standard well-defined IP protocols.  */
-+enum {
-+  IPPROTO_IP = 0,		/* Dummy protocol for TCP		*/
-+#define IPPROTO_IP		IPPROTO_IP
-+  IPPROTO_ICMP = 1,		/* Internet Control Message Protocol	*/
-+#define IPPROTO_ICMP		IPPROTO_ICMP
-+  IPPROTO_IGMP = 2,		/* Internet Group Management Protocol	*/
-+#define IPPROTO_IGMP		IPPROTO_IGMP
-+  IPPROTO_IPIP = 4,		/* IPIP tunnels (older KA9Q tunnels use 94) */
-+#define IPPROTO_IPIP		IPPROTO_IPIP
-+  IPPROTO_TCP = 6,		/* Transmission Control Protocol	*/
-+#define IPPROTO_TCP		IPPROTO_TCP
-+  IPPROTO_EGP = 8,		/* Exterior Gateway Protocol		*/
-+#define IPPROTO_EGP		IPPROTO_EGP
-+  IPPROTO_PUP = 12,		/* PUP protocol				*/
-+#define IPPROTO_PUP		IPPROTO_PUP
-+  IPPROTO_UDP = 17,		/* User Datagram Protocol		*/
-+#define IPPROTO_UDP		IPPROTO_UDP
-+  IPPROTO_IDP = 22,		/* XNS IDP protocol			*/
-+#define IPPROTO_IDP		IPPROTO_IDP
-+  IPPROTO_TP = 29,		/* SO Transport Protocol Class 4	*/
-+#define IPPROTO_TP		IPPROTO_TP
-+  IPPROTO_DCCP = 33,		/* Datagram Congestion Control Protocol */
-+#define IPPROTO_DCCP		IPPROTO_DCCP
-+  IPPROTO_IPV6 = 41,		/* IPv6-in-IPv4 tunnelling		*/
-+#define IPPROTO_IPV6		IPPROTO_IPV6
-+  IPPROTO_RSVP = 46,		/* RSVP Protocol			*/
-+#define IPPROTO_RSVP		IPPROTO_RSVP
-+  IPPROTO_GRE = 47,		/* Cisco GRE tunnels (rfc 1701,1702)	*/
-+#define IPPROTO_GRE		IPPROTO_GRE
-+  IPPROTO_ESP = 50,		/* Encapsulation Security Payload protocol */
-+#define IPPROTO_ESP		IPPROTO_ESP
-+  IPPROTO_AH = 51,		/* Authentication Header protocol	*/
-+#define IPPROTO_AH		IPPROTO_AH
-+  IPPROTO_MTP = 92,		/* Multicast Transport Protocol		*/
-+#define IPPROTO_MTP		IPPROTO_MTP
-+  IPPROTO_BEETPH = 94,		/* IP option pseudo header for BEET	*/
-+#define IPPROTO_BEETPH		IPPROTO_BEETPH
-+  IPPROTO_ENCAP = 98,		/* Encapsulation Header			*/
-+#define IPPROTO_ENCAP		IPPROTO_ENCAP
-+  IPPROTO_PIM = 103,		/* Protocol Independent Multicast	*/
-+#define IPPROTO_PIM		IPPROTO_PIM
-+  IPPROTO_COMP = 108,		/* Compression Header Protocol		*/
-+#define IPPROTO_COMP		IPPROTO_COMP
-+  IPPROTO_SCTP = 132,		/* Stream Control Transport Protocol	*/
-+#define IPPROTO_SCTP		IPPROTO_SCTP
-+  IPPROTO_UDPLITE = 136,	/* UDP-Lite (RFC 3828)			*/
-+#define IPPROTO_UDPLITE		IPPROTO_UDPLITE
-+  IPPROTO_MPLS = 137,		/* MPLS in IP (RFC 4023)		*/
-+#define IPPROTO_MPLS		IPPROTO_MPLS
-+  IPPROTO_RAW = 255,		/* Raw IP packets			*/
-+#define IPPROTO_RAW		IPPROTO_RAW
-+  IPPROTO_MAX
-+};
-+#endif
-+
-+#if __UAPI_DEF_IN_ADDR
-+/* Internet address. */
-+struct in_addr {
-+	__be32	s_addr;
-+};
-+#endif
-+
-+#define IP_TOS		1
-+#define IP_TTL		2
-+#define IP_HDRINCL	3
-+#define IP_OPTIONS	4
-+#define IP_ROUTER_ALERT	5
-+#define IP_RECVOPTS	6
-+#define IP_RETOPTS	7
-+#define IP_PKTINFO	8
-+#define IP_PKTOPTIONS	9
-+#define IP_MTU_DISCOVER	10
-+#define IP_RECVERR	11
-+#define IP_RECVTTL	12
-+#define	IP_RECVTOS	13
-+#define IP_MTU		14
-+#define IP_FREEBIND	15
-+#define IP_IPSEC_POLICY	16
-+#define IP_XFRM_POLICY	17
-+#define IP_PASSSEC	18
-+#define IP_TRANSPARENT	19
-+
-+/* BSD compatibility */
-+#define IP_RECVRETOPTS	IP_RETOPTS
-+
-+/* TProxy original addresses */
-+#define IP_ORIGDSTADDR       20
-+#define IP_RECVORIGDSTADDR   IP_ORIGDSTADDR
-+
-+#define IP_MINTTL       21
-+#define IP_NODEFRAG     22
-+#define IP_CHECKSUM	23
-+#define IP_BIND_ADDRESS_NO_PORT	24
-+
-+/* IP_MTU_DISCOVER values */
-+#define IP_PMTUDISC_DONT		0	/* Never send DF frames */
-+#define IP_PMTUDISC_WANT		1	/* Use per route hints	*/
-+#define IP_PMTUDISC_DO			2	/* Always DF		*/
-+#define IP_PMTUDISC_PROBE		3       /* Ignore dst pmtu      */
-+/* Always use interface mtu (ignores dst pmtu) but don't set DF flag.
-+ * Also incoming ICMP frag_needed notifications will be ignored on
-+ * this socket to prevent accepting spoofed ones.
-+ */
-+#define IP_PMTUDISC_INTERFACE		4
-+/* weaker version of IP_PMTUDISC_INTERFACE, which allos packets to get
-+ * fragmented if they exeed the interface mtu
-+ */
-+#define IP_PMTUDISC_OMIT		5
-+
-+#define IP_MULTICAST_IF			32
-+#define IP_MULTICAST_TTL 		33
-+#define IP_MULTICAST_LOOP 		34
-+#define IP_ADD_MEMBERSHIP		35
-+#define IP_DROP_MEMBERSHIP		36
-+#define IP_UNBLOCK_SOURCE		37
-+#define IP_BLOCK_SOURCE			38
-+#define IP_ADD_SOURCE_MEMBERSHIP	39
-+#define IP_DROP_SOURCE_MEMBERSHIP	40
-+#define IP_MSFILTER			41
-+#define MCAST_JOIN_GROUP		42
-+#define MCAST_BLOCK_SOURCE		43
-+#define MCAST_UNBLOCK_SOURCE		44
-+#define MCAST_LEAVE_GROUP		45
-+#define MCAST_JOIN_SOURCE_GROUP		46
-+#define MCAST_LEAVE_SOURCE_GROUP	47
-+#define MCAST_MSFILTER			48
-+#define IP_MULTICAST_ALL		49
-+#define IP_UNICAST_IF			50
-+
-+#define MCAST_EXCLUDE	0
-+#define MCAST_INCLUDE	1
-+
-+/* These need to appear somewhere around here */
-+#define IP_DEFAULT_MULTICAST_TTL        1
-+#define IP_DEFAULT_MULTICAST_LOOP       1
-+
-+/* Request struct for multicast socket ops */
-+
-+#if __UAPI_DEF_IP_MREQ
-+struct ip_mreq  {
-+	struct in_addr imr_multiaddr;	/* IP multicast address of group */
-+	struct in_addr imr_interface;	/* local IP address of interface */
-+};
-+
-+struct ip_mreqn {
-+	struct in_addr	imr_multiaddr;		/* IP multicast address of group */
-+	struct in_addr	imr_address;		/* local IP address of interface */
-+	int		imr_ifindex;		/* Interface index */
-+};
-+
-+struct ip_mreq_source {
-+	__be32		imr_multiaddr;
-+	__be32		imr_interface;
-+	__be32		imr_sourceaddr;
-+};
-+
-+struct ip_msfilter {
-+	__be32		imsf_multiaddr;
-+	__be32		imsf_interface;
-+	__u32		imsf_fmode;
-+	__u32		imsf_numsrc;
-+	__be32		imsf_slist[1];
-+};
-+
-+#define IP_MSFILTER_SIZE(numsrc) \
-+	(sizeof(struct ip_msfilter) - sizeof(__u32) \
-+	+ (numsrc) * sizeof(__u32))
-+
-+struct group_req {
-+	__u32				 gr_interface;	/* interface index */
-+	struct __kernel_sockaddr_storage gr_group;	/* group address */
-+};
-+
-+struct group_source_req {
-+	__u32				 gsr_interface;	/* interface index */
-+	struct __kernel_sockaddr_storage gsr_group;	/* group address */
-+	struct __kernel_sockaddr_storage gsr_source;	/* source address */
-+};
-+
-+struct group_filter {
-+	__u32				 gf_interface;	/* interface index */
-+	struct __kernel_sockaddr_storage gf_group;	/* multicast address */
-+	__u32				 gf_fmode;	/* filter mode */
-+	__u32				 gf_numsrc;	/* number of sources */
-+	struct __kernel_sockaddr_storage gf_slist[1];	/* interface index */
-+};
-+
-+#define GROUP_FILTER_SIZE(numsrc) \
-+	(sizeof(struct group_filter) - sizeof(struct __kernel_sockaddr_storage) \
-+	+ (numsrc) * sizeof(struct __kernel_sockaddr_storage))
-+#endif
-+
-+#if __UAPI_DEF_IN_PKTINFO
-+struct in_pktinfo {
-+	int		ipi_ifindex;
-+	struct in_addr	ipi_spec_dst;
-+	struct in_addr	ipi_addr;
-+};
-+#endif
-+
-+/* Structure describing an Internet (IP) socket address. */
-+#if  __UAPI_DEF_SOCKADDR_IN
-+#define __SOCK_SIZE__	16		/* sizeof(struct sockaddr)	*/
-+struct sockaddr_in {
-+  __kernel_sa_family_t	sin_family;	/* Address family		*/
-+  __be16		sin_port;	/* Port number			*/
-+  struct in_addr	sin_addr;	/* Internet address		*/
-+
-+  /* Pad to size of `struct sockaddr'. */
-+  unsigned char		__pad[__SOCK_SIZE__ - sizeof(short int) -
-+			sizeof(unsigned short int) - sizeof(struct in_addr)];
-+};
-+#define sin_zero	__pad		/* for BSD UNIX comp. -FvK	*/
-+#endif
-+
-+#if __UAPI_DEF_IN_CLASS
-+/*
-+ * Definitions of the bits in an Internet address integer.
-+ * On subnets, host and network parts are found according
-+ * to the subnet mask, not these masks.
-+ */
-+#define	IN_CLASSA(a)		((((long int) (a)) & 0x80000000) == 0)
-+#define	IN_CLASSA_NET		0xff000000
-+#define	IN_CLASSA_NSHIFT	24
-+#define	IN_CLASSA_HOST		(0xffffffff & ~IN_CLASSA_NET)
-+#define	IN_CLASSA_MAX		128
-+
-+#define	IN_CLASSB(a)		((((long int) (a)) & 0xc0000000) == 0x80000000)
-+#define	IN_CLASSB_NET		0xffff0000
-+#define	IN_CLASSB_NSHIFT	16
-+#define	IN_CLASSB_HOST		(0xffffffff & ~IN_CLASSB_NET)
-+#define	IN_CLASSB_MAX		65536
-+
-+#define	IN_CLASSC(a)		((((long int) (a)) & 0xe0000000) == 0xc0000000)
-+#define	IN_CLASSC_NET		0xffffff00
-+#define	IN_CLASSC_NSHIFT	8
-+#define	IN_CLASSC_HOST		(0xffffffff & ~IN_CLASSC_NET)
-+
-+#define	IN_CLASSD(a)		((((long int) (a)) & 0xf0000000) == 0xe0000000)
-+#define	IN_MULTICAST(a)		IN_CLASSD(a)
-+#define IN_MULTICAST_NET	0xF0000000
-+
-+#define	IN_EXPERIMENTAL(a)	((((long int) (a)) & 0xf0000000) == 0xf0000000)
-+#define	IN_BADCLASS(a)		IN_EXPERIMENTAL((a))
-+
-+/* Address to accept any incoming messages. */
-+#define	INADDR_ANY		((unsigned long int) 0x00000000)
-+
-+/* Address to send to all hosts. */
-+#define	INADDR_BROADCAST	((unsigned long int) 0xffffffff)
-+
-+/* Address indicating an error return. */
-+#define	INADDR_NONE		((unsigned long int) 0xffffffff)
-+
-+/* Network number for local host loopback. */
-+#define	IN_LOOPBACKNET		127
-+
-+/* Address to loopback in software to local host.  */
-+#define	INADDR_LOOPBACK		0x7f000001	/* 127.0.0.1   */
-+#define	IN_LOOPBACK(a)		((((long int) (a)) & 0xff000000) == 0x7f000000)
-+
-+/* Defines for Multicast INADDR */
-+#define INADDR_UNSPEC_GROUP   	0xe0000000U	/* 224.0.0.0   */
-+#define INADDR_ALLHOSTS_GROUP 	0xe0000001U	/* 224.0.0.1   */
-+#define INADDR_ALLRTRS_GROUP    0xe0000002U	/* 224.0.0.2 */
-+#define INADDR_MAX_LOCAL_GROUP  0xe00000ffU	/* 224.0.0.255 */
-+#endif
-+
-+/* <asm/byteorder.h> contains the htonl type stuff.. */
-+#include <asm/byteorder.h> 
-+
-+
-+#endif /* _LINUX_IN_H */
---- /dev/null
-+++ b/include/linux-private/linux/in6.h
-@@ -0,0 +1,293 @@
-+/*
-+ *	Types and definitions for AF_INET6 
-+ *	Linux INET6 implementation 
-+ *
-+ *	Authors:
-+ *	Pedro Roque		<roque@di.fc.ul.pt>	
-+ *
-+ *	Sources:
-+ *	IPv6 Program Interfaces for BSD Systems
-+ *      <draft-ietf-ipngwg-bsd-api-05.txt>
-+ *
-+ *	Advanced Sockets API for IPv6
-+ *	<draft-stevens-advanced-api-00.txt>
-+ *
-+ *	This program is free software; you can redistribute it and/or
-+ *      modify it under the terms of the GNU General Public License
-+ *      as published by the Free Software Foundation; either version
-+ *      2 of the License, or (at your option) any later version.
-+ */
-+
-+#ifndef _LINUX_IN6_H
-+#define _LINUX_IN6_H
-+
-+#include <linux/types.h>
-+#include <linux/libc-compat.h>
-+
-+/*
-+ *	IPv6 address structure
-+ */
-+
-+#if __UAPI_DEF_IN6_ADDR
-+struct in6_addr {
-+	union {
-+		__u8		u6_addr8[16];
-+#if __UAPI_DEF_IN6_ADDR_ALT
-+		__be16		u6_addr16[8];
-+		__be32		u6_addr32[4];
-+#endif
-+	} in6_u;
-+#define s6_addr			in6_u.u6_addr8
-+#if __UAPI_DEF_IN6_ADDR_ALT
-+#define s6_addr16		in6_u.u6_addr16
-+#define s6_addr32		in6_u.u6_addr32
-+#endif
-+};
-+#endif /* __UAPI_DEF_IN6_ADDR */
-+
-+#if __UAPI_DEF_SOCKADDR_IN6
-+struct sockaddr_in6 {
-+	unsigned short int	sin6_family;    /* AF_INET6 */
-+	__be16			sin6_port;      /* Transport layer port # */
-+	__be32			sin6_flowinfo;  /* IPv6 flow information */
-+	struct in6_addr		sin6_addr;      /* IPv6 address */
-+	__u32			sin6_scope_id;  /* scope id (new in RFC2553) */
-+};
-+#endif /* __UAPI_DEF_SOCKADDR_IN6 */
-+
-+#if __UAPI_DEF_IPV6_MREQ
-+struct ipv6_mreq {
-+	/* IPv6 multicast address of group */
-+	struct in6_addr ipv6mr_multiaddr;
-+
-+	/* local IPv6 address of interface */
-+	int		ipv6mr_ifindex;
-+};
-+#endif /* __UAPI_DEF_IVP6_MREQ */
-+
-+#define ipv6mr_acaddr	ipv6mr_multiaddr
-+
-+struct in6_flowlabel_req {
-+	struct in6_addr	flr_dst;
-+	__be32	flr_label;
-+	__u8	flr_action;
-+	__u8	flr_share;
-+	__u16	flr_flags;
-+	__u16 	flr_expires;
-+	__u16	flr_linger;
-+	__u32	__flr_pad;
-+	/* Options in format of IPV6_PKTOPTIONS */
-+};
-+
-+#define IPV6_FL_A_GET	0
-+#define IPV6_FL_A_PUT	1
-+#define IPV6_FL_A_RENEW	2
-+
-+#define IPV6_FL_F_CREATE	1
-+#define IPV6_FL_F_EXCL		2
-+#define IPV6_FL_F_REFLECT	4
-+#define IPV6_FL_F_REMOTE	8
-+
-+#define IPV6_FL_S_NONE		0
-+#define IPV6_FL_S_EXCL		1
-+#define IPV6_FL_S_PROCESS	2
-+#define IPV6_FL_S_USER		3
-+#define IPV6_FL_S_ANY		255
-+
-+
-+/*
-+ *	Bitmask constant declarations to help applications select out the 
-+ *	flow label and priority fields.
-+ *
-+ *	Note that this are in host byte order while the flowinfo field of
-+ *	sockaddr_in6 is in network byte order.
-+ */
-+
-+#define IPV6_FLOWINFO_FLOWLABEL		0x000fffff
-+#define IPV6_FLOWINFO_PRIORITY		0x0ff00000
-+
-+/* These definitions are obsolete */
-+#define IPV6_PRIORITY_UNCHARACTERIZED	0x0000
-+#define IPV6_PRIORITY_FILLER		0x0100
-+#define IPV6_PRIORITY_UNATTENDED	0x0200
-+#define IPV6_PRIORITY_RESERVED1		0x0300
-+#define IPV6_PRIORITY_BULK		0x0400
-+#define IPV6_PRIORITY_RESERVED2		0x0500
-+#define IPV6_PRIORITY_INTERACTIVE	0x0600
-+#define IPV6_PRIORITY_CONTROL		0x0700
-+#define IPV6_PRIORITY_8			0x0800
-+#define IPV6_PRIORITY_9			0x0900
-+#define IPV6_PRIORITY_10		0x0a00
-+#define IPV6_PRIORITY_11		0x0b00
-+#define IPV6_PRIORITY_12		0x0c00
-+#define IPV6_PRIORITY_13		0x0d00
-+#define IPV6_PRIORITY_14		0x0e00
-+#define IPV6_PRIORITY_15		0x0f00
-+
-+/*
-+ *	IPV6 extension headers
-+ */
-+#if __UAPI_DEF_IPPROTO_V6
-+#define IPPROTO_HOPOPTS		0	/* IPv6 hop-by-hop options	*/
-+#define IPPROTO_ROUTING		43	/* IPv6 routing header		*/
-+#define IPPROTO_FRAGMENT	44	/* IPv6 fragmentation header	*/
-+#define IPPROTO_ICMPV6		58	/* ICMPv6			*/
-+#define IPPROTO_NONE		59	/* IPv6 no next header		*/
-+#define IPPROTO_DSTOPTS		60	/* IPv6 destination options	*/
-+#define IPPROTO_MH		135	/* IPv6 mobility header		*/
-+#endif /* __UAPI_DEF_IPPROTO_V6 */
-+
-+/*
-+ *	IPv6 TLV options.
-+ */
-+#define IPV6_TLV_PAD1		0
-+#define IPV6_TLV_PADN		1
-+#define IPV6_TLV_ROUTERALERT	5
-+#define IPV6_TLV_JUMBO		194
-+#define IPV6_TLV_HAO		201	/* home address option */
-+
-+/*
-+ *	IPV6 socket options
-+ */
-+#if __UAPI_DEF_IPV6_OPTIONS
-+#define IPV6_ADDRFORM		1
-+#define IPV6_2292PKTINFO	2
-+#define IPV6_2292HOPOPTS	3
-+#define IPV6_2292DSTOPTS	4
-+#define IPV6_2292RTHDR		5
-+#define IPV6_2292PKTOPTIONS	6
-+#define IPV6_CHECKSUM		7
-+#define IPV6_2292HOPLIMIT	8
-+#define IPV6_NEXTHOP		9
-+#define IPV6_AUTHHDR		10	/* obsolete */
-+#define IPV6_FLOWINFO		11
-+
-+#define IPV6_UNICAST_HOPS	16
-+#define IPV6_MULTICAST_IF	17
-+#define IPV6_MULTICAST_HOPS	18
-+#define IPV6_MULTICAST_LOOP	19
-+#define IPV6_ADD_MEMBERSHIP	20
-+#define IPV6_DROP_MEMBERSHIP	21
-+#define IPV6_ROUTER_ALERT	22
-+#define IPV6_MTU_DISCOVER	23
-+#define IPV6_MTU		24
-+#define IPV6_RECVERR		25
-+#define IPV6_V6ONLY		26
-+#define IPV6_JOIN_ANYCAST	27
-+#define IPV6_LEAVE_ANYCAST	28
-+
-+/* IPV6_MTU_DISCOVER values */
-+#define IPV6_PMTUDISC_DONT		0
-+#define IPV6_PMTUDISC_WANT		1
-+#define IPV6_PMTUDISC_DO		2
-+#define IPV6_PMTUDISC_PROBE		3
-+/* same as IPV6_PMTUDISC_PROBE, provided for symetry with IPv4
-+ * also see comments on IP_PMTUDISC_INTERFACE
-+ */
-+#define IPV6_PMTUDISC_INTERFACE		4
-+/* weaker version of IPV6_PMTUDISC_INTERFACE, which allows packets to
-+ * get fragmented if they exceed the interface mtu
-+ */
-+#define IPV6_PMTUDISC_OMIT		5
-+
-+/* Flowlabel */
-+#define IPV6_FLOWLABEL_MGR	32
-+#define IPV6_FLOWINFO_SEND	33
-+
-+#define IPV6_IPSEC_POLICY	34
-+#define IPV6_XFRM_POLICY	35
-+#endif
-+
-+/*
-+ * Multicast:
-+ * Following socket options are shared between IPv4 and IPv6.
-+ *
-+ * MCAST_JOIN_GROUP		42
-+ * MCAST_BLOCK_SOURCE		43
-+ * MCAST_UNBLOCK_SOURCE		44
-+ * MCAST_LEAVE_GROUP		45
-+ * MCAST_JOIN_SOURCE_GROUP	46
-+ * MCAST_LEAVE_SOURCE_GROUP	47
-+ * MCAST_MSFILTER		48
-+ */
-+
-+/*
-+ * Advanced API (RFC3542) (1)
-+ *
-+ * Note: IPV6_RECVRTHDRDSTOPTS does not exist. see net/ipv6/datagram.c.
-+ */
-+
-+#define IPV6_RECVPKTINFO	49
-+#define IPV6_PKTINFO		50
-+#define IPV6_RECVHOPLIMIT	51
-+#define IPV6_HOPLIMIT		52
-+#define IPV6_RECVHOPOPTS	53
-+#define IPV6_HOPOPTS		54
-+#define IPV6_RTHDRDSTOPTS	55
-+#define IPV6_RECVRTHDR		56
-+#define IPV6_RTHDR		57
-+#define IPV6_RECVDSTOPTS	58
-+#define IPV6_DSTOPTS		59
-+#define IPV6_RECVPATHMTU	60
-+#define IPV6_PATHMTU		61
-+#define IPV6_DONTFRAG		62
-+#if 0	/* not yet */
-+#define IPV6_USE_MIN_MTU	63
-+#endif
-+
-+/*
-+ * Netfilter (1)
-+ *
-+ * Following socket options are used in ip6_tables;
-+ * see include/linux/netfilter_ipv6/ip6_tables.h.
-+ *
-+ * IP6T_SO_SET_REPLACE / IP6T_SO_GET_INFO		64
-+ * IP6T_SO_SET_ADD_COUNTERS / IP6T_SO_GET_ENTRIES	65
-+ */
-+
-+/*
-+ * Advanced API (RFC3542) (2)
-+ */
-+#define IPV6_RECVTCLASS		66
-+#define IPV6_TCLASS		67
-+
-+/*
-+ * Netfilter (2)
-+ *
-+ * Following socket options are used in ip6_tables;
-+ * see include/linux/netfilter_ipv6/ip6_tables.h.
-+ *
-+ * IP6T_SO_GET_REVISION_MATCH	68
-+ * IP6T_SO_GET_REVISION_TARGET	69
-+ * IP6T_SO_ORIGINAL_DST		80
-+ */
-+
-+#define IPV6_AUTOFLOWLABEL	70
-+/* RFC5014: Source address selection */
-+#define IPV6_ADDR_PREFERENCES	72
-+
-+#define IPV6_PREFER_SRC_TMP		0x0001
-+#define IPV6_PREFER_SRC_PUBLIC		0x0002
-+#define IPV6_PREFER_SRC_PUBTMP_DEFAULT	0x0100
-+#define IPV6_PREFER_SRC_COA		0x0004
-+#define IPV6_PREFER_SRC_HOME		0x0400
-+#define IPV6_PREFER_SRC_CGA		0x0008
-+#define IPV6_PREFER_SRC_NONCGA		0x0800
-+
-+/* RFC5082: Generalized Ttl Security Mechanism */
-+#define IPV6_MINHOPCOUNT		73
-+
-+#define IPV6_ORIGDSTADDR        74
-+#define IPV6_RECVORIGDSTADDR    IPV6_ORIGDSTADDR
-+#define IPV6_TRANSPARENT        75
-+#define IPV6_UNICAST_IF         76
-+
-+/*
-+ * Multicast Routing:
-+ * see include/uapi/linux/mroute6.h.
-+ *
-+ * MRT6_BASE			200
-+ * ...
-+ * MRT6_MAX
-+ */
-+#endif /* _LINUX_IN6_H */
---- /dev/null
-+++ b/include/linux-private/linux/libc-compat.h
-@@ -0,0 +1,143 @@
-+/*
-+ * Compatibility interface for userspace libc header coordination:
-+ *
-+ * Define compatibility macros that are used to control the inclusion or
-+ * exclusion of UAPI structures and definitions in coordination with another
-+ * userspace C library.
-+ *
-+ * This header is intended to solve the problem of UAPI definitions that
-+ * conflict with userspace definitions. If a UAPI header has such conflicting
-+ * definitions then the solution is as follows:
-+ *
-+ * * Synchronize the UAPI header and the libc headers so either one can be
-+ *   used and such that the ABI is preserved. If this is not possible then
-+ *   no simple compatibility interface exists (you need to write translating
-+ *   wrappers and rename things) and you can't use this interface.
-+ *
-+ * Then follow this process:
-+ *
-+ * (a) Include libc-compat.h in the UAPI header.
-+ *      e.g. #include <linux/libc-compat.h>
-+ *     This include must be as early as possible.
-+ *
-+ * (b) In libc-compat.h add enough code to detect that the comflicting
-+ *     userspace libc header has been included first.
-+ *
-+ * (c) If the userspace libc header has been included first define a set of
-+ *     guard macros of the form __UAPI_DEF_FOO and set their values to 1, else
-+ *     set their values to 0.
-+ *
-+ * (d) Back in the UAPI header with the conflicting definitions, guard the
-+ *     definitions with:
-+ *     #if __UAPI_DEF_FOO
-+ *       ...
-+ *     #endif
-+ *
-+ * This fixes the situation where the linux headers are included *after* the
-+ * libc headers. To fix the problem with the inclusion in the other order the
-+ * userspace libc headers must be fixed like this:
-+ *
-+ * * For all definitions that conflict with kernel definitions wrap those
-+ *   defines in the following:
-+ *   #if !__UAPI_DEF_FOO
-+ *     ...
-+ *   #endif
-+ *
-+ * This prevents the redefinition of a construct already defined by the kernel.
-+ */
-+#ifndef _LIBC_COMPAT_H
-+#define _LIBC_COMPAT_H
-+
-+/* We have included glibc headers... */
-+#if defined(__GLIBC__)
-+
-+/* Coordinate with glibc netinet/in.h header. */
-+#if defined(_NETINET_IN_H)
-+
-+/* GLIBC headers included first so don't define anything
-+ * that would already be defined. */
-+#define __UAPI_DEF_IN_ADDR		0
-+#define __UAPI_DEF_IN_IPPROTO		0
-+#define __UAPI_DEF_IN_PKTINFO		0
-+#define __UAPI_DEF_IP_MREQ		0
-+#define __UAPI_DEF_SOCKADDR_IN		0
-+#define __UAPI_DEF_IN_CLASS		0
-+
-+#define __UAPI_DEF_IN6_ADDR		0
-+/* The exception is the in6_addr macros which must be defined
-+ * if the glibc code didn't define them. This guard matches
-+ * the guard in glibc/inet/netinet/in.h which defines the
-+ * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
-+#if defined(__USE_MISC) || defined (__USE_GNU)
-+#define __UAPI_DEF_IN6_ADDR_ALT		0
-+#else
-+#define __UAPI_DEF_IN6_ADDR_ALT		1
-+#endif
-+#define __UAPI_DEF_SOCKADDR_IN6		0
-+#define __UAPI_DEF_IPV6_MREQ		0
-+#define __UAPI_DEF_IPPROTO_V6		0
-+#define __UAPI_DEF_IPV6_OPTIONS		0
-+#define __UAPI_DEF_IN6_PKTINFO		0
-+#define __UAPI_DEF_IP6_MTUINFO		0
-+
-+#else
-+
-+/* Linux headers included first, and we must define everything
-+ * we need. The expectation is that glibc will check the
-+ * __UAPI_DEF_* defines and adjust appropriately. */
-+#define __UAPI_DEF_IN_ADDR		1
-+#define __UAPI_DEF_IN_IPPROTO		1
-+#define __UAPI_DEF_IN_PKTINFO		1
-+#define __UAPI_DEF_IP_MREQ		1
-+#define __UAPI_DEF_SOCKADDR_IN		1
-+#define __UAPI_DEF_IN_CLASS		1
-+
-+#define __UAPI_DEF_IN6_ADDR		1
-+/* We unconditionally define the in6_addr macros and glibc must
-+ * coordinate. */
-+#define __UAPI_DEF_IN6_ADDR_ALT		1
-+#define __UAPI_DEF_SOCKADDR_IN6		1
-+#define __UAPI_DEF_IPV6_MREQ		1
-+#define __UAPI_DEF_IPPROTO_V6		1
-+#define __UAPI_DEF_IPV6_OPTIONS		1
-+#define __UAPI_DEF_IN6_PKTINFO		1
-+#define __UAPI_DEF_IP6_MTUINFO		1
-+
-+#endif /* _NETINET_IN_H */
-+
-+/* Definitions for xattr.h */
-+#if defined(_SYS_XATTR_H)
-+#define __UAPI_DEF_XATTR		0
-+#else
-+#define __UAPI_DEF_XATTR		1
-+#endif
-+
-+/* If we did not see any headers from any supported C libraries,
-+ * or we are being included in the kernel, then define everything
-+ * that we need. */
-+#else /* !defined(__GLIBC__) */
-+
-+/* Definitions for in.h */
-+#define __UAPI_DEF_IN_ADDR		1
-+#define __UAPI_DEF_IN_IPPROTO		1
-+#define __UAPI_DEF_IN_PKTINFO		1
-+#define __UAPI_DEF_IP_MREQ		1
-+#define __UAPI_DEF_SOCKADDR_IN		1
-+#define __UAPI_DEF_IN_CLASS		1
-+
-+/* Definitions for in6.h */
-+#define __UAPI_DEF_IN6_ADDR		1
-+#define __UAPI_DEF_IN6_ADDR_ALT		1
-+#define __UAPI_DEF_SOCKADDR_IN6		1
-+#define __UAPI_DEF_IPV6_MREQ		1
-+#define __UAPI_DEF_IPPROTO_V6		1
-+#define __UAPI_DEF_IPV6_OPTIONS		1
-+#define __UAPI_DEF_IN6_PKTINFO		1
-+#define __UAPI_DEF_IP6_MTUINFO		1
-+
-+/* Definitions for xattr.h */
-+#define __UAPI_DEF_XATTR		1
-+
-+#endif /* __GLIBC__ */
-+
-+#endif /* _LIBC_COMPAT_H */
diff --git a/package/libnl/0003-Add-musl-workaround-to-the-libc-compat.h-copy.patch b/package/libnl/0002-Add-musl-workaround-to-the-libc-compat.h-copy.patch
similarity index 100%
rename from package/libnl/0003-Add-musl-workaround-to-the-libc-compat.h-copy.patch
rename to package/libnl/0002-Add-musl-workaround-to-the-libc-compat.h-copy.patch
diff --git a/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch b/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch
new file mode 100644
index 000000000000..f715bb83f9dc
--- /dev/null
+++ b/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch
@@ -0,0 +1,115 @@
+From 68f8393bd356a3d0598cf77e1044b7e8b98aa4d8 Mon Sep 17 00:00:00 2001
+Message-Id: <68f8393bd356a3d0598cf77e1044b7e8b98aa4d8.1493920165.git.baruch@tkos.co.il>
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Thu, 4 May 2017 15:56:14 +0300
+Subject: [PATCH] Revert "build: enable building cli during tests"
+
+This reverts commit 3cb28534d34392ceec4adead0cfa97039796ccb7.
+
+Contrary to what 3cb28534d commit log claims, the cli programs depend on
+dynamic libraries support of the toolchain. Enabling cli programs
+unconditionally breaks static build as follows:
+
+In file included from lib/cli/cls/basic.c:12:0:
+./include/netlink/cli/utils.h:25:19: fatal error: dlfcn.h: No such file or directory
+compilation terminated.
+Makefile:3666: recipe for target 'lib/cli/cls/lib_cli_cls_basic_la-basic.lo' failed
+make[1]: *** [lib/cli/cls/lib_cli_cls_basic_la-basic.lo] Error 1
+
+Revert that commit to restore the ability of static only build of libnl, and
+its dependencies.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: https://github.com/thom311/libnl/pull/141
+
+ Makefile.am | 21 ++++++---------------
+ 1 file changed, 6 insertions(+), 15 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 1b95a559304f..279548394650 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,8 +3,6 @@
+ ACLOCAL_AMFLAGS = -I m4
+ 
+ lib_LTLIBRARIES =
+-noinst_LTLIBRARIES =
+-check_LTLIBRARIES =
+ 
+ check_PROGRAMS =
+ check_programs =
+@@ -500,6 +498,8 @@ EXTRA_lib_libnl_xfrm_3_la_DEPENDENCIES = \
+ lib_libnl_xfrm_3_la_LIBADD = \
+ 	lib/libnl-3.la
+ 
++if ENABLE_CLI
++
+ lib_cli_ltlibraries_cls = \
+ 	lib/cli/cls/basic.la \
+ 	lib/cli/cls/cgroup.la
+@@ -513,15 +513,11 @@ lib_cli_ltlibraries_qdisc = \
+ 	lib/cli/qdisc/pfifo.la \
+ 	lib/cli/qdisc/plug.la
+ 
+-if ENABLE_CLI
+ pkglib_clsdir = $(pkglibdir)/cli/cls
+ pkglib_qdiscdir = $(pkglibdir)/cli/qdisc
+ pkglib_cls_LTLIBRARIES = $(lib_cli_ltlibraries_cls)
+ pkglib_qdisc_LTLIBRARIES = $(lib_cli_ltlibraries_qdisc)
+-else
+-noinst_LTLIBRARIES += \
+-	$(lib_cli_ltlibraries_cls) \
+-	$(lib_cli_ltlibraries_qdisc)
++
+ endif
+ 
+ lib_cli_ldflags = \
+@@ -550,13 +546,8 @@ lib_cli_qdisc_plug_la_LDFLAGS       = $(lib_cli_ldflags)
+ 
+ ###############################################################################
+ 
+-src_lib_ldflags =
+-
+ if ENABLE_CLI
+ lib_LTLIBRARIES += src/lib/libnl-cli-3.la
+-src_lib_ldflags += -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+-else
+-check_LTLIBRARIES += src/lib/libnl-cli-3.la
+ endif
+ 
+ src_lib_libnl_cli_3_la_SOURCES = \
+@@ -583,7 +574,7 @@ src_lib_libnl_cli_3_la_CPPFLAGS = \
+ 	-I$(srcdir)/include \
+ 	-I$(builddir)/include
+ src_lib_libnl_cli_3_la_LDFLAGS = \
+-	$(src_lib_ldflags) \
++	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ 	-Wl,--version-script=$(srcdir)/libnl-cli-3.sym
+ src_lib_libnl_cli_3_la_LIBADD = \
+ 	lib/libnl-3.la \
+@@ -668,8 +659,6 @@ else
+ noinst_PROGRAMS += $(cli_programs)
+ endif
+ endif
+-else
+-check_PROGRAMS += $(cli_programs)
+ endif
+ 
+ src_genl_ctrl_list_CPPFLAGS =       $(src_cppflags)
+@@ -847,10 +836,12 @@ tests_test_complex_HTB_with_hash_filters_LDADD    = $(tests_ldadd)
+ tests_test_u32_filter_with_actions_CPPFLAGS       = $(tests_cppflags)
+ tests_test_u32_filter_with_actions_LDADD          = $(tests_ldadd)
+ 
++if ENABLE_CLI
+ check_PROGRAMS += \
+ 	tests/test-cache-mngr \
+ 	tests/test-genl \
+ 	tests/test-nf-cache-mngr
++endif
+ 
+ tests_cli_ldadd = \
+ 	$(tests_ldadd) \
+-- 
+2.11.0
+
diff --git a/package/libnl/0004-lib-escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch b/package/libnl/0004-lib-escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch
deleted file mode 100644
index 6a9c35438619..000000000000
--- a/package/libnl/0004-lib-escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From e15966ac7f3b43df2acf869f98089762807d0568 Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
-Date: Fri, 10 Mar 2017 17:44:22 +0300
-Subject: [PATCH] lib: escape usage of strerror_l() if it doesn't exist in libc
-
-uClibc doesn't implement strerror_l() and thus libnl starting from
-3.2.29 couldn't be compiled with it any longer.
-
-To work-around that problem we'll just do a check on strerror_l()
-availability during configuration and if it's not there just fall back
-to locale-less strerror().
-
-See-also: 6c2d111177e91184073c44f83d4a6182aaba06d7
-
-http://lists.infradead.org/pipermail/libnl/2017-March/002301.html
-
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
-Signed-off-by: Thomas Haller <thaller@redhat.com>
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Patch status: upstream commit e15966ac7f3b43df
-
- configure.ac    | 2 ++
- lib/utils.c     | 8 +++++++-
- src/lib/utils.c | 6 ++++++
- 3 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 68b285e5b15c..2739b997ee3a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -121,6 +121,8 @@ fi
- 
- AC_CONFIG_SUBDIRS([doc])
- 
-+AC_CHECK_FUNCS([strerror_l])
-+
- AC_CONFIG_FILES([
- Makefile
- libnl-3.0.pc
-diff --git a/lib/utils.c b/lib/utils.c
-index fb350d13fd2f..06273c5b291e 100644
---- a/lib/utils.c
-+++ b/lib/utils.c
-@@ -30,7 +30,9 @@
- #include <netlink/utils.h>
- #include <linux/socket.h>
- #include <stdlib.h> /* exit() */
-+#ifdef HAVE_STRERROR_L
- #include <locale.h>
-+#endif
- 
- /**
-  * Global variable indicating the desired level of debugging output.
-@@ -123,9 +125,10 @@ int __nl_read_num_str_file(const char *path, int (*cb)(long, const char *))
- 
- const char *nl_strerror_l(int err)
- {
-+	const char *buf;
-+#ifdef HAVE_STRERROR_L
- 	int errno_save = errno;
- 	locale_t loc = newlocale(LC_MESSAGES_MASK, "", (locale_t)0);
--	const char *buf;
- 
- 	if (loc == (locale_t)0) {
- 		if (errno == ENOENT)
-@@ -140,6 +143,9 @@ const char *nl_strerror_l(int err)
- 	}
- 
- 	errno = errno_save;
-+#else
-+	buf = strerror(err);
-+#endif
- 	return buf;
- }
- /** @endcond */
-diff --git a/src/lib/utils.c b/src/lib/utils.c
-index 5878f279c364..feb1d4ef4056 100644
---- a/src/lib/utils.c
-+++ b/src/lib/utils.c
-@@ -81,6 +81,7 @@ void nl_cli_fatal(int err, const char *fmt, ...)
- 		fprintf(stderr, "\n");
- 	} else {
- 		char *buf;
-+#ifdef HAVE_STRERROR_L
- 		locale_t loc = newlocale(LC_MESSAGES_MASK, "", (locale_t)0);
- 		if (loc == (locale_t)0) {
- 			if (errno == ENOENT)
-@@ -91,9 +92,14 @@ void nl_cli_fatal(int err, const char *fmt, ...)
- 		}
- 		if (loc != (locale_t)0)
- 			buf = strerror_l(err, loc);
-+#else
-+		buf = strerror(err);
-+#endif
- 		fprintf(stderr, "%s\n", buf);
-+#ifdef HAVE_STRERROR_L
- 		if (loc != (locale_t)0)
- 			freelocale(loc);
-+#endif
- 	}
- 
- 	exit(abs(err));
--- 
-2.11.0
-
diff --git a/package/libnl/libnl.hash b/package/libnl/libnl.hash
index f357927ef773..ae502c2cf822 100644
--- a/package/libnl/libnl.hash
+++ b/package/libnl/libnl.hash
@@ -1,3 +1,2 @@
-# From https://github.com/thom311/libnl/releases/download/libnl3_2_29/libnl-3.2.29.tar.gz.sha256sum
-sha256	0beb593dc6abfffa18a5c787b27884979c1b7e7f1fd468c801e3cc938a685922	libnl-3.2.29.tar.gz
-sha256	b7bb929194eefc56c786a7e1ae5176b54713f9013ccec63760f232742ae80361	3e18948f17148e6a3c4255bdeaaf01ef6081ceeb.patch
+# From https://github.com/thom311/libnl/releases/download/libnl3_3_0/libnl-3.3.0.tar.gz.sha256sum
+sha256	705468b5ae4cd1eb099d2d1c476d6a3abe519bc2810becf12fb1e32de1e074e4	libnl-3.3.0.tar.gz
diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk
index 8226f87487d1..e1a37aabfe5b 100644
--- a/package/libnl/libnl.mk
+++ b/package/libnl/libnl.mk
@@ -4,17 +4,15 @@
 #
 ################################################################################
 
-LIBNL_VERSION = 3.2.29
+LIBNL_VERSION = 3.3.0
 LIBNL_SITE = https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(LIBNL_VERSION))
 LIBNL_LICENSE = LGPL-2.1+
 LIBNL_LICENSE_FILES = COPYING
 LIBNL_INSTALL_STAGING = YES
 LIBNL_DEPENDENCIES = host-bison host-flex host-pkgconf
-# Patching configure.ac
+# Patching Makefile.am
 LIBNL_AUTORECONF = YES
 
-LIBNL_PATCH = https://github.com/thom311/libnl/commit/3e18948f17148e6a3c4255bdeaaf01ef6081ceeb.patch
-
 ifeq ($(BR2_PACKAGE_LIBNL_TOOLS),y)
 LIBNL_CONF_OPTS += --enable-cli
 else
-- 
2.11.0

^ permalink raw reply related

* [Buildroot] [autobuild.buildroot.net] Your build results for 2017-05-02
From: Thomas Petazzoni @ 2017-05-04 19:04 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1493913422.7376.18.camel@synopsys.com>

Hello,

On Thu, 4 May 2017 15:57:03 +0000, Alexey Brodkin wrote:

> > Sorry, but I don't understand what you suggested here. In the light of
> > my explanation above, could you clarify what you mean by "ARC prebuilt
> > tools" ?  
> 
> Scratch it then :)
> 
> If ARC prebuilt tools are not used by BR autobuilder there's no sense in
> touching packages affected by these tools.

I have fixed the br-arcle-hs38.config to really use the pre-built
toolchain generated by Buildroot:

  https://git.buildroot.org/buildroot-test/commit/?id=09977c172479658411c03138a7f07e68e63d47a5

So the Synopsys ARC toolchain will no longer be tested by our
autobuilders.

Thanks for your feedback!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] package/kodi-skin-confluence: new package
From: Thomas Petazzoni @ 2017-05-04 19:09 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=97bebe2d00141bdd6613cbfa7990767468fb55b2
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas:
 - use SPDX license code
 - license is GPL-2.0, not GPL-2.0+
 - remove unused _CONF_OPTS variable]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/kodi-skin-confluence/Config.in             |  6 ++++++
 .../kodi-skin-confluence/kodi-skin-confluence.hash |  2 ++
 .../kodi-skin-confluence/kodi-skin-confluence.mk   | 24 ++++++++++++++++++++++
 package/kodi/Config.in                             |  4 ++++
 4 files changed, 36 insertions(+)

diff --git a/package/kodi-skin-confluence/Config.in b/package/kodi-skin-confluence/Config.in
new file mode 100644
index 0000000..08b6568
--- /dev/null
+++ b/package/kodi-skin-confluence/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_KODI_SKIN_CONFLUENCE
+	bool "kodi-skin-confluence"
+	help
+	  Kodi confluence skin
+
+	  https://github.com/xbmc/skin.confluence
diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.hash b/package/kodi-skin-confluence/kodi-skin-confluence.hash
new file mode 100644
index 0000000..9aa2ea4
--- /dev/null
+++ b/package/kodi-skin-confluence/kodi-skin-confluence.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 47970d61b2f617921dfbc36188ed11de9af366cd97d9105e19cbe96598fe7b62  kodi-skin-confluence-7044dabb3a818d7ff47b7a34bfb3480f2a9441d9.tar.gz
diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk
new file mode 100644
index 0000000..5078a80
--- /dev/null
+++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk
@@ -0,0 +1,24 @@
+################################################################################
+#
+# kodi-skin-confluence
+#
+################################################################################
+
+KODI_SKIN_CONFLUENCE_VERSION = 7044dabb3a818d7ff47b7a34bfb3480f2a9441d9
+KODI_SKIN_CONFLUENCE_SITE = $(call github,xbmc,skin.confluence,$(KODI_SKIN_CONFLUENCE_VERSION))
+KODI_SKIN_CONFLUENCE_LICENSE = GPL-2.0
+KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt
+KODI_SKIN_CONFLUENCE_DEPENDENCIES = kodi
+
+define KODI_SKIN_CONFLUENCE_BUILD_CMDS
+	$(HOST_DIR)/usr/bin/TexturePacker -input $(@D)/media/ -output $(@D)/media/Textures.xbt -dupecheck -use_none
+endef
+
+define KODI_SKIN_CONFLUENCE_INSTALL_TARGET_CMDS
+	mkdir -p $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence
+	cp -dpfr $(@D)/* $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence
+	find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.jpg -delete
+	find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.png -delete
+endef
+
+$(eval $(generic-package))
diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index e7156c7..6586701 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -328,6 +328,10 @@ menu "Screensavers"
 	source "package/kodi-screensaver-stars/Config.in"
 endmenu
 
+menu "Skins"
+	source "package/kodi-skin-confluence/Config.in"
+endmenu
+
 menu "Visualisations"
 	source "package/kodi-visualisation-fishbmc/Config.in"
 	source "package/kodi-visualisation-goom/Config.in"

^ permalink raw reply related

* [Buildroot] [PATCH v2 1/2] package/kodi-skin-confluence: new package
From: Thomas Petazzoni @ 2017-05-04 19:10 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170429203608.17700-1-bernd.kuhls@t-online.de>

Hello,

On Sat, 29 Apr 2017 22:36:07 +0200, Bernd Kuhls wrote:
> +KODI_SKIN_CONFLUENCE_VERSION = 7044dabb3a818d7ff47b7a34bfb3480f2a9441d9
> +KODI_SKIN_CONFLUENCE_SITE = $(call github,xbmc,skin.confluence,$(KODI_SKIN_CONFLUENCE_VERSION))
> +KODI_SKIN_CONFLUENCE_LICENSE = GPLv2+

You should use SPDX license codes, and GPLv2+ is not a valid SPDX
license code.

In addition, I didn't see anything in the source code that says "or
later". So I've changed this to GPL-2.0.

> +KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt
> +KODI_SKIN_CONFLUENCE_DEPENDENCIES = kodi
> +KODI_SKIN_CONFLUENCE_CONF_OPTS = -DOVERRIDE_PATHS=1

This is not used anywhere in your package... it's a generic-package.

Applied with those issues fixed.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [autobuild.buildroot.net] Your build results for 2017-05-02
From: Alexey Brodkin @ 2017-05-04 19:28 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170504210431.4ac7b1ec@free-electrons.com>

Hi Thomas,

On Thu, 2017-05-04 at 21:04 +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu, 4 May 2017 15:57:03 +0000, Alexey Brodkin wrote:
> 
> > 
> > > 
> > > Sorry, but I don't understand what you suggested here. In the light of
> > > my explanation above, could you clarify what you mean by "ARC prebuilt
> > > tools" ???
> > 
> > Scratch it then :)
> > 
> > If ARC prebuilt tools are not used by BR autobuilder there's no sense in
> > touching packages affected by these tools.
> 
> I have fixed the br-arcle-hs38.config to really use the pre-built
> toolchain generated by Buildroot:

Thanks for doing that!

> So the Synopsys ARC toolchain will no longer be tested by our
> autobuilders.

That's fine.

-Alexey

^ permalink raw reply

* [Buildroot] [git commit] libqmi: fix patch for canonicalize_file_name() issue
From: Thomas Petazzoni @ 2017-05-04 19:35 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=4d11848a21d4424a04e8428c4cd3bd5e972aacdf
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

The patch added in commit c78b65c4f161ec101ff02880788ef22eb7c87d76 was
bogus: it adds some code conditionally on HAVE_CANONICALIZE_FILE_NAME
being undefined, but there is nothing that defines
HAVE_CANONICALIZE_FILE_NAME if canonicalize_file_name() is already
provided by the C library.

This commit fixes that by adding the appropriate autoconf check.

Fixes:

  http://autobuild.buildroot.net/results/4f0eb2af09c92ff4cd7448211ffda432754d4e60/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../0001-musl-compat-canonicalize_file_name.patch    | 20 +++++++++++++++++---
 package/libqmi/libqmi.mk                             |  2 ++
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/package/libqmi/0001-musl-compat-canonicalize_file_name.patch b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch
index 5656d55..fd606d8 100644
--- a/package/libqmi/0001-musl-compat-canonicalize_file_name.patch
+++ b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch
@@ -1,4 +1,4 @@
-From 2f44edc9fbcbf2202174aec723e8a8d191c13d2f Mon Sep 17 00:00:00 2001
+From 85863c9e051fe59add4e47dbfcb37072234f0110 Mon Sep 17 00:00:00 2001
 From: Matt Weber <matthew.weber@rockwellcollins.com>
 Date: Mon, 1 May 2017 19:55:07 -0500
 Subject: [PATCH] musl compat canonicalize_file_name()
@@ -11,9 +11,23 @@ https://bugs.freedesktop.org/show_bug.cgi?id=99944
 
 Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
 ---
+ configure.ac                |  2 ++
  src/libqmi-glib/qmi-utils.h | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
+ 2 files changed, 20 insertions(+)
 
+diff --git a/configure.ac b/configure.ac
+index 162d5ae..9cb82fd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,6 +80,8 @@ AC_SUBST(GLIB_LIBS)
+ GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+ AC_SUBST(GLIB_MKENUMS)
+ 
++AC_CHECK_FUNCS([canonicalize_file_name])
++
+ dnl qmi-firmware-update is optional, enabled by default
+ AC_ARG_ENABLE([firmware-update],
+               AS_HELP_STRING([--enable-firmware-update],
 diff --git a/src/libqmi-glib/qmi-utils.h b/src/libqmi-glib/qmi-utils.h
 index 4fd5199..4869da5 100644
 --- a/src/libqmi-glib/qmi-utils.h
@@ -44,5 +58,5 @@ index 4fd5199..4869da5 100644
  
  G_BEGIN_DECLS
 -- 
-1.9.1
+2.7.4
 
diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk
index 92b635d..917265f 100644
--- a/package/libqmi/libqmi.mk
+++ b/package/libqmi/libqmi.mk
@@ -10,6 +10,8 @@ LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz
 LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs)
 LIBQMI_LICENSE_FILES = COPYING
 LIBQMI_INSTALL_STAGING = YES
+# 0001-musl-compat-canonicalize_file_name.patch
+LIBQMI_AUTORECONF = YES
 
 LIBQMI_DEPENDENCIES = libglib2
 

^ permalink raw reply related

* [Buildroot] [git commit] rapidjson: needs C++ support
From: Thomas Petazzoni @ 2017-05-04 19:37 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=ab56ce15c1802f41259718e6d36e35790fd8cb0a
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Fixes:

  http://autobuild.buildroot.net/results/ac989c119e4ea90b8318795fe9cf8c3e9395a354/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/rapidjson/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/rapidjson/Config.in b/package/rapidjson/Config.in
index b8c8bcf..3367385 100644
--- a/package/rapidjson/Config.in
+++ b/package/rapidjson/Config.in
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_RAPIDJSON
 	bool "rapidjson"
+	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  A fast JSON parser/generator for C++ with both SAX/DOM style API.
 
 	  http://rapidjson.org/
+
+comment "rapidjson needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP

^ permalink raw reply related

* [Buildroot] [PATCH 1/1] libqmi: musl compat canonicalize_file_name
From: Thomas Petazzoni @ 2017-05-04 19:39 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1493688546-37339-1-git-send-email-matthew.weber@rockwellcollins.com>

Hello,

On Mon,  1 May 2017 20:29:06 -0500, Matt Weber wrote:

> ++#ifndef HAVE_CANONICALIZE_FILE_NAME
> ++#include <limits.h>
> ++#include <string.h>
> ++#include <stdlib.h>
> ++#include <stdio.h>
> ++static char * canonicalize_file_name(const char *path)
> ++{
> ++       char buf[PATH_MAX] = { };
> ++
> ++       snprintf(buf, sizeof(buf) - 1, "%s", path);
> ++
> ++       if (!realpath(path, buf))
> ++               return NULL;
> ++
> ++       return strdup(buf);
> ++}
> ++#endif

This has been insufficiently tested: while it fixes the build with
musl, it breaks the build with glibc and uclibc. Indeed, those C
libraries already provide canonicalize_file_name(), causing a
redefinition error.

You forgot to add an AC_CHECK_FUNCS() check in configure.ac. I've
committed a fix that adds it.

Please try to test more carefully the fixes.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] package/python-decorator: new package
From: Thomas Petazzoni @ 2017-05-04 19:46 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=e816c8243fa6d7a72d5a2dbc01464071d8d68c48
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Add 'decorator'[1] package to Buildroot. Needed by 'traitlets'
package, which is added in the next patch.

[1] https://pypi.python.org/pypi/decorator

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[Thomas: download from PyPi, add hash file, add entry in DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 DEVELOPERS                                     |  3 +++
 package/Config.in                              |  1 +
 package/python-decorator/Config.in             |  6 ++++++
 package/python-decorator/python-decorator.hash |  3 +++
 package/python-decorator/python-decorator.mk   | 13 +++++++++++++
 5 files changed, 26 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index 82eb819..a3da397 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -71,6 +71,9 @@ F:	package/openal/
 F:	package/p7zip/
 F:	package/wine/
 
+N:	Andrey Smirnov <andrew.smirnov at gmail.com
+F:	package/python-decorator/
+
 N:	Andrew Ruder <andrew.ruder@elecsyscorp.com>
 F:	package/expect/
 
diff --git a/package/Config.in b/package/Config.in
index acaf43c..e38a934 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -698,6 +698,7 @@ menu "External python modules"
 	source "package/python-daemon/Config.in"
 	source "package/python-dataproperty/Config.in"
 	source "package/python-dateutil/Config.in"
+	source "package/python-decorator/Config.in"
 	source "package/python-dialog/Config.in"
 	source "package/python-dialog3/Config.in"
 	source "package/python-dicttoxml/Config.in"
diff --git a/package/python-decorator/Config.in b/package/python-decorator/Config.in
new file mode 100644
index 0000000..e7ec00c
--- /dev/null
+++ b/package/python-decorator/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PYTHON_DECORATOR
+	bool "python-decorator"
+	help
+	  Better living through Python with decorators
+
+	  https://github.com/micheles/decorator
diff --git a/package/python-decorator/python-decorator.hash b/package/python-decorator/python-decorator.hash
new file mode 100644
index 0000000..293f1ca
--- /dev/null
+++ b/package/python-decorator/python-decorator.hash
@@ -0,0 +1,3 @@
+# md5 from https://pypi.python.org/pypi/decorator/json, sha256 locally calculated
+md5 73644c8f0bd4983d1b6a34b49adec0ae decorator-4.0.11.tar.gz
+sha256 953d6bf082b100f43229cf547f4f97f97e970f5ad645ee7601d55ff87afdfe76 decorator-4.0.11.tar.gz
diff --git a/package/python-decorator/python-decorator.mk b/package/python-decorator/python-decorator.mk
new file mode 100644
index 0000000..c0c43f6
--- /dev/null
+++ b/package/python-decorator/python-decorator.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# python-decorator
+#
+################################################################################
+
+PYTHON_DECORATOR_VERSION = 4.0.11
+PYTHON_DECORATOR_SITE = https://pypi.python.org/packages/cc/ac/5a16f1fc0506ff72fcc8fd4e858e3a1c231f224ab79bb7c4c9b2094cc570
+PYTHON_DECORATOR_SOURCE = decorator-$(PYTHON_DECORATOR_VERSION).tar.gz
+PYTHON_DECORATOR_LICENSE = BSD-2-Clause
+PYTHON_DECORATOR_SETUP_TYPE = setuptools
+
+$(eval $(python-package))

^ permalink raw reply related

* [Buildroot] [PATCH v2 01/10] package/python-decorator: New package
From: Thomas Petazzoni @ 2017-05-04 19:49 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170427213340.26917-2-andrew.smirnov@gmail.com>

Hello,

On Thu, 27 Apr 2017 14:33:31 -0700, Andrey Smirnov wrote:

>  package/Config.in                            |  1 +
>  package/python-decorator/Config.in           |  6 ++++++
>  package/python-decorator/python-decorator.mk | 13 +++++++++++++

This was missing an addition to the DEVELOPERS file.

> diff --git a/package/python-decorator/python-decorator.mk b/package/python-decorator/python-decorator.mk
> new file mode 100644
> index 0000000..fac03a3
> --- /dev/null
> +++ b/package/python-decorator/python-decorator.mk
> @@ -0,0 +1,13 @@
> +################################################################################
> +#
> +# python-decorator
> +#
> +################################################################################
> +
> +PYTHON_DECORATOR_VERSION = 4.0.11
> +PYTHON_DECORATOR_SITE = https://github.com/micheles/decorator.git
> +PYTHON_DECORATOR_SITE_METHOD = git

We prefer downloading from Pypi, so I've changed that.

Also, a hash file was missing, so I've added one.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [PATCH v2] lttng-tools: disable on uClibc/musl
From: Thomas Petazzoni @ 2017-05-04 19:51 UTC (permalink / raw)
  To: buildroot

lttng-tools has been broken on uClibc/musl since a long time due to
dlmopen() and LM_ID_BASE not being implemented. The issue has been
reported to the upstream lttng developers more than two months ago [1],
and no fix has been provided. Therefore, it's time to disable it on
uClibc and musl.

Fixes:

  http://autobuild.buildroot.net/results/f9e82a87618bcdcd46d670697b5ac75836f7250d/
  (uclibc)

  http://autobuild.buildroot.net/results/cb0952483b580b053a585760e59d78d11f46fc60/
  (musl)

[1] https://lists.lttng.org/pipermail/lttng-dev/2017-February/026921.html

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v1:
 - Also disable on musl
---
 package/lttng-tools/Config.in | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in
index 187e424..8888ef7 100644
--- a/package/lttng-tools/Config.in
+++ b/package/lttng-tools/Config.in
@@ -4,6 +4,8 @@ config BR2_PACKAGE_LTTNG_TOOLS
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on !BR2_STATIC_LIBS # uses dlfcn
+	# uclibc/musl don't implement dlmopen()/LM_ID_BASE
+	depends on BR2_TOOLCHAIN_USES_GLIBC
 	select BR2_PACKAGE_LIBURCU
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_POPT
@@ -27,6 +29,7 @@ config BR2_PACKAGE_LTTNG_TOOLS
 
 	  http://lttng.org
 
-comment "lttng-tools needs a toolchain w/ threads, dynamic library"
+comment "lttng-tools needs a glibc toolchain w/ threads, dynamic library"
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
-	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_USES_GLIBC
-- 
2.7.4

^ permalink raw reply related

* [Buildroot] [PATCH v2 02/10] package/python-traitlets: New package
From: Thomas Petazzoni @ 2017-05-04 19:57 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170427213340.26917-3-andrew.smirnov@gmail.com>

Hello,

On Thu, 27 Apr 2017 14:33:32 -0700, Andrey Smirnov wrote:

> +config BR2_PACKAGE_PYTHON_TRAITLETS
> +	bool "python-traitlets"
> +	select BR2_PACKAGE_PYTHON_DECORATOR
> +	select BR2_PACKAGE_PYTHON_ENUM if BR2_PACKAGE_PYTHON

Are you sure?

According to https://pypi.python.org/pypi/traitlets/json:

        "requires_dist": [
            "mock; python_version==\"2.7\" and extra == 'test'", 
            "pytest; extra == 'test'", 
            "enum34; python_version==\"3.3\"", 
            "enum34; python_version==\"2.7\"", 
            "six", 
            "ipython-genutils", 
            "decorator"
        ], 

So it needs python-enum34, not python-enum it seems. It also needs
ipython-genutils apparently.

Generally, make sure that if you enable *ONLY* this package, and do a
build, you can "import traitlets" without error on the target.

> diff --git a/package/python-traitlets/python-traitlets.hash b/package/python-traitlets/python-traitlets.hash
> new file mode 100644
> index 0000000..3b14991
> --- /dev/null
> +++ b/package/python-traitlets/python-traitlets.hash
> @@ -0,0 +1,2 @@
> +# sha256 locally computed
> +sha256 370f938ad730d52272ef74f96f831cb21138f6168e46fe582fe256c35cc656ce python-traitlets-4.3.2.tar.gz

Please also add md5 from https://pypi.python.org/pypi/traitlets/json.

> diff --git a/package/python-traitlets/python-traitlets.mk b/package/python-traitlets/python-traitlets.mk
> new file mode 100644
> index 0000000..45f393d
> --- /dev/null
> +++ b/package/python-traitlets/python-traitlets.mk
> @@ -0,0 +1,13 @@
> +################################################################################
> +#
> +# python-traitlets
> +#
> +################################################################################
> +
> +PYTHON_TRAITLETS_VERSION = 4.3.2
> +PYTHON_TRAITLETS_SOURCE = python-traitlets-$(PYTHON_TRAITLETS_VERSION).tar.gz
> +PYTHON_TRAITLETS_SITE = $(call github,ipython,traitlets,$(PYTHON_TRAITLETS_VERSION))

Please use the tarball from https://pypi.python.org/pypi/traitlets/json.

And add an entry to the DEVELOPERS file.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] package/python-simplegeneric: New package
From: Thomas Petazzoni @ 2017-05-04 20:09 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=4c5688cfc690d79a9854ce9b0f5c2b9d62ecffed
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Add 'simplegeneric'[1] package to Buildroot. Needed by IPython.

[1] https://pypi.python.org/pypi/simplegeneric

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[Thomas: add entry in DEVELOPERS file, fix license.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 DEVELOPERS                                            |  1 +
 package/Config.in                                     |  1 +
 package/python-simplegeneric/Config.in                |  6 ++++++
 .../python-simplegeneric/python-simplegeneric.hash    |  3 +++
 package/python-simplegeneric/python-simplegeneric.mk  | 19 +++++++++++++++++++
 5 files changed, 30 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index a3da397..d28e6fb 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -73,6 +73,7 @@ F:	package/wine/
 
 N:	Andrey Smirnov <andrew.smirnov at gmail.com
 F:	package/python-decorator/
+F:	package/python-simplegeneric/
 
 N:	Andrew Ruder <andrew.ruder@elecsyscorp.com>
 F:	package/expect/
diff --git a/package/Config.in b/package/Config.in
index e38a934..47ad2c2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -826,6 +826,7 @@ menu "External python modules"
 	source "package/python-sh/Config.in"
 	source "package/python-shutilwhich/Config.in"
 	source "package/python-simpleaudio/Config.in"
+	source "package/python-simplegeneric/Config.in"
 	source "package/python-simplejson/Config.in"
 	source "package/python-singledispatch/Config.in"
 	source "package/python-sip/Config.in"
diff --git a/package/python-simplegeneric/Config.in b/package/python-simplegeneric/Config.in
new file mode 100644
index 0000000..b5ebfec
--- /dev/null
+++ b/package/python-simplegeneric/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PYTHON_SIMPLEGENERIC
+	bool "python-simplegeneric"
+	help
+	  A configuration system for Python applications.
+
+	  https://pypi.python.org/pypi/simplegeneric
diff --git a/package/python-simplegeneric/python-simplegeneric.hash b/package/python-simplegeneric/python-simplegeneric.hash
new file mode 100644
index 0000000..24f652c
--- /dev/null
+++ b/package/python-simplegeneric/python-simplegeneric.hash
@@ -0,0 +1,3 @@
+# md5 from https://pypi.python.org/pypi/simplegeneric, sha256 locally computed
+md5 f9c1fab00fd981be588fc32759f474e3 simplegeneric-0.8.1.zip
+sha256 dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173 simplegeneric-0.8.1.zip
diff --git a/package/python-simplegeneric/python-simplegeneric.mk b/package/python-simplegeneric/python-simplegeneric.mk
new file mode 100644
index 0000000..556a478
--- /dev/null
+++ b/package/python-simplegeneric/python-simplegeneric.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# python-simplegeneric
+#
+################################################################################
+
+PYTHON_SIMPLEGENERIC_VERSION = 0.8.1
+PYTHON_SIMPLEGENERIC_SOURCE = simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION).zip
+PYTHON_SIMPLEGENERIC_SITE = https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b
+PYTHON_SIMPLEGENERIC_LICENSE = ZPL-2.1
+PYTHON_SIMPLEGENERIC_SETUP_TYPE = distutils
+
+define PYTHON_SIMPLEGENERIC_EXTRACT_CMDS
+	unzip $(DL_DIR)/$(PYTHON_SIMPLEGENERIC_SOURCE) -d $(@D)
+	mv $(@D)/simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION)/* $(@D)
+	rmdir $(@D)/simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION)
+endef
+
+$(eval $(python-package))

^ permalink raw reply related

* [Buildroot] [PATCH v2 03/10] package/python-simplegeneric: New package
From: Thomas Petazzoni @ 2017-05-04 20:11 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170427213340.26917-4-andrew.smirnov@gmail.com>

Hello,

On Thu, 27 Apr 2017 14:33:33 -0700, Andrey Smirnov wrote:

>  package/Config.in                                     |  1 +
>  package/python-simplegeneric/Config.in                |  6 ++++++
>  .../python-simplegeneric/python-simplegeneric.hash    |  3 +++
>  package/python-simplegeneric/python-simplegeneric.mk  | 19 +++++++++++++++++++

Entry was missing in DEVELOPERS file.


> +PYTHON_SIMPLEGENERIC_VERSION = 0.8.1
> +PYTHON_SIMPLEGENERIC_SOURCE = simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION).zip
> +PYTHON_SIMPLEGENERIC_SITE = https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b
> +PYTHON_SIMPLEGENERIC_LICENSE = BSD-3-Clause

This is wrong, license was ZPL-2.1.

Committed with those two issues fixed.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] python-simplegeneric: fix description
From: Thomas Petazzoni @ 2017-05-04 20:14 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=811cdea0834810bf2b67358f8a6e9c28916556aa
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Use the description from https://pypi.python.org/pypi/simplegeneric.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/python-simplegeneric/Config.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/python-simplegeneric/Config.in b/package/python-simplegeneric/Config.in
index b5ebfec..623b1ae 100644
--- a/package/python-simplegeneric/Config.in
+++ b/package/python-simplegeneric/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_SIMPLEGENERIC
 	bool "python-simplegeneric"
 	help
-	  A configuration system for Python applications.
+	  Simple generic functions (similar to Python's own len(),
+	  pickle.dump(), etc.)
 
 	  https://pypi.python.org/pypi/simplegeneric

^ permalink raw reply related

* [Buildroot] [PATCH v2 05/10] package/python-scandir: New package
From: Thomas Petazzoni @ 2017-05-04 20:18 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170427213340.26917-6-andrew.smirnov@gmail.com>

Hello,

On Thu, 27 Apr 2017 14:33:35 -0700, Andrey Smirnov wrote:

> +config BR2_PACKAGE_PYTHON_SCANDIR
> +	bool "python-scandir"
> +	help
> +	  A configuration system for Python applications.

This description is bogus.

> +	  https://pypi.python.org/pypi/pickleshare

This URL is wrong.

And the entry to DEVELOPERS file is missing.

Could you please check your entire series, and verify all those
details? Once they are all fixed, could you resubmit an updated version?

Please verify the dependencies and licenses as well.

I'll mark the series as Changes Requested in patchwork in the mean
time. I have only applied the python-decorator and python-simplegeneric
packages.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] package/python-ipython: Reformat help text to avoid warnings
From: Thomas Petazzoni @ 2017-05-04 20:19 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=40edddc8ccfa0b51136260969367cfa00ffeee65
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Reformat help text in Config.in to avoid warnings from
check-package. No content change intended.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/python-ipython/Config.in | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/package/python-ipython/Config.in b/package/python-ipython/Config.in
index 1d92873..b87f2bc 100644
--- a/package/python-ipython/Config.in
+++ b/package/python-ipython/Config.in
@@ -1,9 +1,10 @@
 config BR2_PACKAGE_PYTHON_IPYTHON
 	bool "python-ipython"
 	help
-	  IPython is a command shell for interactive computing in multiple
-	  programming languages, originally developed for the Python
-	  programming language, that offers enhanced introspection, rich
-	  media, additional shell syntax, tab completion, and rich history.
+	  IPython is a command shell for interactive computing in
+	  multiple programming languages, originally developed for the
+	  Python programming language, that offers enhanced
+	  introspection, rich media, additional shell syntax, tab
+	  completion, and rich history.
 
 	  http://ipython.org/

^ permalink raw reply related

* [Buildroot] [PATCH v2 09/10] package/python-ipython: Reformat help text to avoid warnings
From: Thomas Petazzoni @ 2017-05-04 20:19 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170427213340.26917-10-andrew.smirnov@gmail.com>

Hello,

On Thu, 27 Apr 2017 14:33:39 -0700, Andrey Smirnov wrote:
> Reformat help text in Config.in to avoid warnings from
> check-package. No content change intended.
> 
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
>  package/python-ipython/Config.in | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] binutils: fix bfin compile error
From: Thomas Petazzoni @ 2017-05-04 20:20 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=33ad356ce5dacabe0d3dac89832ce264633793d3
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Newer gcc requires even lower optimization, only with -O0 we
can successfully compile binutils for the target.

Fixes:
  http://autobuild.buildroot.net/results/fb95cd7f7fcc532d036ed8f13853bc6f9a64d1b3

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/binutils/binutils.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index 03fd3a5..72e2d0b 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -64,10 +64,10 @@ HOST_BINUTILS_CONF_ENV += MAKEINFO=true
 HOST_BINUTILS_MAKE_OPTS += MAKEINFO=true
 HOST_BINUTILS_INSTALL_OPTS += MAKEINFO=true install
 
-# gcc bug with Os/O2/O3, PR77311
+# gcc bug with Os/O1/O2/O3, PR77311
 # error: unable to find a register to spill in class 'CCREGS'
 ifeq ($(BR2_bfin),y)
-BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1"
+BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0"
 endif
 
 # Workaround a build issue with -Os for ARM Cortex-M cpus.

^ permalink raw reply related

* [Buildroot] [PATCH] binutils: fix bfin compile error
From: Thomas Petazzoni @ 2017-05-04 20:20 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170426174802.GA30776@waldemar-brodkorb.de>

Hello,

On Wed, 26 Apr 2017 19:48:02 +0200, Waldemar Brodkorb wrote:
> Newer gcc requires even lower optimization, only with -O0 we
> can successfully compile binutils for the target.
> 
> Fixes:
>   http://autobuild.buildroot.net/results/fb95cd7f7fcc532d036ed8f13853bc6f9a64d1b3
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
>  package/binutils/binutils.mk | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply

* [Buildroot] [git commit] lua-resty-http: new package
From: Thomas Petazzoni @ 2017-05-04 20:23 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=e88995f065986dc56ce5a7c222f7a9f6cbff2b94
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Semyon Kolganov <semenak94@mail.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 DEVELOPERS                                 |  1 +
 package/Config.in                          |  1 +
 package/lua-resty-http/Config.in           |  6 ++++++
 package/lua-resty-http/lua-resty-http.hash |  2 ++
 package/lua-resty-http/lua-resty-http.mk   | 12 ++++++++++++
 5 files changed, 22 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index d28e6fb..8fbb69a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1434,6 +1434,7 @@ F:	package/yaml-cpp/
 N:	Semyon Kolganov <semenak94@mail.ru>
 F:	package/fmt/
 F:	package/libbson/
+F:	package/lua-resty-http/
 F:	package/mpir/
 
 N:	Sergio Prado <sergio.prado@e-labworks.com>
diff --git a/package/Config.in b/package/Config.in
index 47ad2c2..1af8150 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -571,6 +571,7 @@ menu "Lua libraries/modules"
 	source "package/luajson/Config.in"
 	source "package/lualogging/Config.in"
 	source "package/luaposix/Config.in"
+	source "package/lua-resty-http/Config.in"
 	source "package/luasec/Config.in"
 	source "package/luasocket/Config.in"
 	source "package/luasql-sqlite3/Config.in"
diff --git a/package/lua-resty-http/Config.in b/package/lua-resty-http/Config.in
new file mode 100644
index 0000000..4697c90
--- /dev/null
+++ b/package/lua-resty-http/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_LUA_RESTY_HTTP
+	bool "lua-resty-http"
+	help
+	  Lua HTTP client cosocket driver for OpenResty / ngx_lua.
+
+	  http://github.com/pintsized/lua-resty-http
diff --git a/package/lua-resty-http/lua-resty-http.hash b/package/lua-resty-http/lua-resty-http.hash
new file mode 100644
index 0000000..02c5659
--- /dev/null
+++ b/package/lua-resty-http/lua-resty-http.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256	3d30dd5a273438e39741fcf87ae5e147d8700bd8faa7dfe9916ea425f9c716f7  lua-resty-http-0.10-0.src.rock
diff --git a/package/lua-resty-http/lua-resty-http.mk b/package/lua-resty-http/lua-resty-http.mk
new file mode 100644
index 0000000..927fdae
--- /dev/null
+++ b/package/lua-resty-http/lua-resty-http.mk
@@ -0,0 +1,12 @@
+################################################################################
+#
+# lua-resty-http
+#
+################################################################################
+
+LUA_RESTY_HTTP_VERSION = 0.10-0
+LUA_RESTY_HTTP_SUBDIR = lua-resty-http
+LUA_RESTY_HTTP_LICENSE = BSD-2-Clause
+LUA_RESTY_HTTP_LICENSE_FILES = LICENSE
+
+$(eval $(luarocks-package))

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox