Sfoglia il codice sorgente

Merge branch 'next'

My local 'next' branch was not uptodate, so the previous merge was missing
the most recent changes.

Thanks to François Perrad for noticing.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard 8 anni fa
parent
commit
44d2cc99a4
45 ha cambiato i file con 216 aggiunte e 1016 eliminazioni
  1. 0 6
      package/jasper/jasper.mk
  2. 33 0
      package/libdvbcsa/0001-altivec-powerpc64.patch
  3. 1 0
      package/libdvbcsa/libdvbcsa.mk
  4. 2 2
      package/libgtk3/libgtk3.hash
  5. 1 1
      package/libgtk3/libgtk3.mk
  6. 1 1
      package/lsqlite3/lsqlite3.hash
  7. 2 2
      package/lsqlite3/lsqlite3.mk
  8. 3 6
      package/lttng-babeltrace/lttng-babeltrace.hash
  9. 1 1
      package/lttng-babeltrace/lttng-babeltrace.mk
  10. 49 0
      package/lttng-libust/0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch
  11. 3 6
      package/lttng-libust/lttng-libust.hash
  12. 1 1
      package/lttng-libust/lttng-libust.mk
  13. 3 3
      package/lttng-modules/lttng-modules.hash
  14. 1 1
      package/lttng-modules/lttng-modules.mk
  15. 0 32
      package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch
  16. 0 30
      package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch
  17. 0 431
      package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch
  18. 3 6
      package/lttng-tools/lttng-tools.hash
  19. 1 1
      package/lttng-tools/lttng-tools.mk
  20. 2 2
      package/lua-messagepack/lua-messagepack.hash
  21. 1 1
      package/lua-messagepack/lua-messagepack.mk
  22. 1 1
      package/luarocks/luarocks.hash
  23. 1 1
      package/luarocks/luarocks.mk
  24. 1 1
      package/ncftp/ncftp.hash
  25. 2 2
      package/ncftp/ncftp.mk
  26. 0 19
      package/rpm/0002-depends-fix.patch
  27. 0 30
      package/rpm/0003-exclude-some-tools.patch
  28. 0 12
      package/rpm/0004-ignore-shared-mutexes.patch
  29. 0 14
      package/rpm/0005-no-parentdirs.patch
  30. 0 45
      package/rpm/0006-ordering-fix.patch
  31. 0 37
      package/rpm/0007-parentdir-vs-requires.patch
  32. 0 235
      package/rpm/0008-short-circuit-c99.patch
  33. 7 15
      package/rpm/Config.in
  34. 5 2
      package/rpm/rpm.hash
  35. 52 37
      package/rpm/rpm.mk
  36. 7 0
      package/xterm/xterm.mk
  37. 3 3
      toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
  38. 2 2
      toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash
  39. 4 4
      toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk
  40. 5 5
      toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
  41. 2 2
      toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash
  42. 4 4
      toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk
  43. 6 6
      toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
  44. 2 2
      toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash
  45. 4 4
      toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk

+ 0 - 6
package/jasper/jasper.mk

@@ -16,10 +16,4 @@ JASPER_AUTORECONF = YES
 
 JASPER_CONF_OPTS = --disable-strict
 
-# Xtensa gcc is unable to generate correct code with -O0 enabled by
-# --enable-debug. Allow package build but disable debug.
-ifeq ($(BR2_xtensa)$(BR2_ENABLE_DEBUG),yy)
-JASPER_CONF_OPTS += --disable-debug
-endif
-
 $(eval $(autotools-package))

+ 33 - 0
package/libdvbcsa/0001-altivec-powerpc64.patch

@@ -0,0 +1,33 @@
+Fix compile on powerpc64/powerpc64le w/ altivec
+
+Correct the type of some vectors passed to vec_slo() or vec_sro(), which only
+takes a char vector.
+
+Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
+
+--- a/src/dvbcsa_bs_altivec.h	2016-11-28 14:33:34.410021500 +1100
++++ b/src/dvbcsa_bs_altivec.h	2016-11-28 14:34:25.442238715 +1100
+@@ -64,7 +64,7 @@
+ 	}
+ 	case 0x29: {
+ 		dvbcsa_bs_word_t x = vec_splat_u8(10);
+-		return (dvbcsa_bs_word_t)vec_add(vec_splat_u8(0x1),vec_rl(x,x));
++		return (dvbcsa_bs_word_t)vec_add((dvbcsa_bs_word_t)vec_splat_u8(0x1),vec_rl(x,x));
+ 	}
+ 	case 0x40: {
+ 		dvbcsa_bs_word_t x = vec_splat_u8(4);
+@@ -99,10 +99,10 @@
+ #define SHVAL_14 BS_VAL8(0e)
+ #define SHVAL_7 BS_VAL8(07)
+ 
+-#define BS_SHL(a, n)	({ dvbcsa_bs_word_t x = SHVAL_##n; vec_sll(vec_slo((a), x), x); })
+-#define BS_SHR(a, n)	({ dvbcsa_bs_word_t x = SHVAL_##n; vec_srl(vec_sro((a), x), x); })
+-#define BS_SHL8(a, n)	({ dvbcsa_bs_word_t x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_slo((a), x); })
+-#define BS_SHR8(a, n)	({ dvbcsa_bs_word_t x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_sro((a), x); })
++#define BS_SHL(a, n)	({ vector unsigned char x = SHVAL_##n; vec_sll(vec_slo((a), x), x); })
++#define BS_SHR(a, n)	({ vector unsigned char x = SHVAL_##n; vec_srl(vec_sro((a), x), x); })
++#define BS_SHL8(a, n)	({ vector unsigned char x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_slo((a), x); })
++#define BS_SHR8(a, n)	({ vector unsigned char x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_sro((a), x); })
+ 
+ #define BS_EXTRACT8(a, n) ((uint8_t*)&(a))[15 - (n)]
+ 

+ 1 - 0
package/libdvbcsa/libdvbcsa.mk

@@ -24,6 +24,7 @@ endif
 
 ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 LIBDVBCSA_CONF_OPTS += --enable-altivec
+LIBDVBCSA_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -flax-vector-conversions"
 else
 LIBDVBCSA_CONF_OPTS += --disable-altivec
 endif

+ 2 - 2
package/libgtk3/libgtk3.hash

@@ -1,2 +1,2 @@
-# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.3.sha256sum
-sha256 e190ab1a9a893861b8e8be341aa57bce8b7146d6445ebfe5a8ab64236fe82ed3  gtk+-3.22.3.tar.xz
+# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.4.sha256sum
+sha256 7094a6fcfe133d01c578358bd5d3e499715f1a0206e87bd5cf6c834e301f387f  gtk+-3.22.4.tar.xz

+ 1 - 1
package/libgtk3/libgtk3.mk

@@ -5,7 +5,7 @@
 ################################################################################
 
 LIBGTK3_VERSION_MAJOR = 3.22
-LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).3
+LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).4
 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz
 LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR)
 LIBGTK3_LICENSE = LGPLv2+

+ 1 - 1
package/lsqlite3/lsqlite3.hash

@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	b49b5941af92a6e7834a45f76dba1f6ea8f817cda373655f59c9da78416d1dfc  lsqlite3-0.9.3-0.src.rock
+sha256	090282f9b8df614d70d07442ba82de3cc02a2f44cb1059fda648155d4d7e52ef  lsqlite3-0.9.4-2.src.rock

+ 2 - 2
package/lsqlite3/lsqlite3.mk

@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-LSQLITE3_VERSION = 0.9.3-0
-LSQLITE3_SUBDIR = lsqlite3_fsl09w
+LSQLITE3_VERSION = 0.9.4-2
+LSQLITE3_SUBDIR = lsqlite3_fsl09x
 LSQLITE3_DEPENDENCIES = sqlite
 LSQLITE3_LICENSE = MIT
 

+ 3 - 6
package/lttng-babeltrace/lttng-babeltrace.hash

@@ -1,6 +1,3 @@
-# From http://www.efficios.com/files/babeltrace/babeltrace-1.4.0.tar.bz2.{md5,sha1}
-md5     fa99064048af5c9c6ff00e489ac809c2  babeltrace-1.4.0.tar.bz2
-sha1    3b162480ee883625e8581bf163817f78a4b6487b  babeltrace-1.4.0.tar.bz2
-
-# Locally generated
-sha256  9469eeb22617cd12668683b04c27003e5337e9ac66ade914988df3642fc0d0e4  babeltrace-1.4.0.tar.bz2
+# From http://www.efficios.com/files/babeltrace/babeltrace-1.5.0.tar.bz2.{md5,sha1}
+md5 43696383e44d1b85173db7cbd0335f06  babeltrace-1.5.0.tar.bz2
+sha1 13f106951c418632a2155ebe3cea51fa4929e748  babeltrace-1.5.0.tar.bz2

+ 1 - 1
package/lttng-babeltrace/lttng-babeltrace.mk

@@ -5,7 +5,7 @@
 ################################################################################
 
 LTTNG_BABELTRACE_SITE = http://www.efficios.com/files/babeltrace
-LTTNG_BABELTRACE_VERSION = 1.4.0
+LTTNG_BABELTRACE_VERSION = 1.5.0
 LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2
 LTTNG_BABELTRACE_LICENSE = MIT, LGPLv2.1 (include/babeltrace/list.h), GPLv2 (test code)
 LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt gpl-2.0.txt LICENSE

+ 49 - 0
package/lttng-libust/0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch

@@ -0,0 +1,49 @@
+From f54894580da85e33f934c5c9bf5ab32d3fcce18b Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Wed, 30 Nov 2016 16:52:51 +0000
+Subject: [PATCH] doc/examples/Makefile.am: define C and C++ compilers for
+ CMake
+
+This prevents build failures when cross-compiling.
+
+If we don't define the compiler, it will use the one from the host
+machine. For instance "/usr/bin/c++", which is incorrect.
+
+The failure looks like this:
+
+.............................................................
+[ 10%] Building CXX object CMakeFiles/tracepoint-provider.dir/tracepoint-provider.cpp.o
+/usr/bin/c++   -Dtracepoint_provider_EXPORTS -I/br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/. -isystem /br/output/build/lttng-libust-2.9.0/include  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC   -o CMakeFiles/tracepoint-provider.dir/tracepoint-provider.cpp.o -c /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.cpp
+In file included from /br/output/build/lttng-libust-2.9.0/include/lttng/tracepoint.h:29:0,
+                 from /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.h:32,
+                 from /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.cpp:26:
+/br/output/build/lttng-libust-2.9.0/include/lttng/tracepoint-rcu.h:26:27: fatal error: urcu/compiler.h: No such file or directory
+ #include <urcu/compiler.h>
+                           ^
+compilation terminated.
+.............................................................
+
+Pull request URL: https://github.com/lttng/lttng-ust/pull/41
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+ doc/examples/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
+index 424b844..5bc1f4c 100644
+--- a/doc/examples/Makefile.am
++++ b/doc/examples/Makefile.am
+@@ -152,7 +152,9 @@ all-local:
+ 				cmake \
+ 				-DCMAKE_INCLUDE_PATH="$(abs_top_srcdir)/include;$(abs_top_builddir)/include" \
+ 				-DCMAKE_LIBRARY_PATH="$(abs_top_builddir)/liblttng-ust/.libs" \
++				-DCMAKE_C_COMPILER="$(CC)" \
+ 				-DCMAKE_C_FLAGS="$(CFLAGS) $(CPPFLAGS)" \
++				-DCMAKE_CXX_COMPILER="$(CXX)" \
+ 				-DCMAKE_CXX_FLAGS="$(CXXFLAGS) $(CPPFLAGS)" \
+ 				-DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)" \
+ 				.. && \
+-- 
+2.10.1
+

+ 3 - 6
package/lttng-libust/lttng-libust.hash

@@ -1,6 +1,3 @@
-# From http://lttng.org/files/lttng-ust/lttng-ust-2.8.1.tar.bz2.{md5,sha1}
-md5     be505077245dc05f93370a565eec15f4  lttng-ust-2.8.1.tar.bz2
-sha1    8bebdcbcb453d2643fb226dbe92de61764f1ee3b  lttng-ust-2.8.1.tar.bz2
-
-# Locally generated
-sha256  6e41349107e83e7b43c69ed358e48788ca2fd095bad61737b850e3f3d2c0508a  lttng-ust-2.8.1.tar.bz2
+# From http://lttng.org/files/lttng-ust/lttng-ust-2.9.0.tar.bz2.{md5,sha1}
+md5 77f3378ba37a36801420bce87b702e9c  lttng-ust-2.9.0.tar.bz2
+sha1 9937eae64540821b8597cce081e92be76e6b5568  lttng-ust-2.9.0.tar.bz2

+ 1 - 1
package/lttng-libust/lttng-libust.mk

@@ -5,7 +5,7 @@
 ################################################################################
 
 LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust
-LTTNG_LIBUST_VERSION = 2.8.1
+LTTNG_LIBUST_VERSION = 2.9.0
 LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2
 LTTNG_LIBUST_LICENSE = LGPLv2.1, MIT (system headers), GPLv2 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond)
 LTTNG_LIBUST_LICENSE_FILES = COPYING

+ 3 - 3
package/lttng-modules/lttng-modules.hash

@@ -1,3 +1,3 @@
-# From http://lttng.org/files/lttng-modules/lttng-modules-2.8.3.tar.bz2.{md5,sha1}
-md5   424354c4834d20235dacd9a1fd7653b6  lttng-modules-2.8.3.tar.bz2
-sha1  862705784a54962f70226004f1fd0bf77f73f10f  lttng-modules-2.8.3.tar.bz2
+# From http://lttng.org/files/lttng-modules/lttng-modules-2.9.0.tar.bz2.{md5,sha1}
+md5 717df375ccb6f32bb297cc2f2e692bbf  lttng-modules-2.9.0.tar.bz2
+sha1 819ee1c2a5a821b7fdc1c2fc102ef3079c32aad7  lttng-modules-2.9.0.tar.bz2

+ 1 - 1
package/lttng-modules/lttng-modules.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LTTNG_MODULES_VERSION = 2.8.3
+LTTNG_MODULES_VERSION = 2.9.0
 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules
 LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2
 LTTNG_MODULES_LICENSE = LGPLv2.1/GPLv2 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*)

+ 0 - 32
package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch

@@ -1,32 +0,0 @@
-From: mjeanson@efficios.com Michael Jeanson
-Date: Wed, 15 Jun 2016 17:18:02 -0400
-Subject: [lttng-dev] [PATCH] Fix: snapshot del-output with name on musl
-
-Some implementations of strtol() like the one in musl will
-return EINVAL in perror when no valid number was found in
-the string.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-[Philippe: grabbed from the mailing list:
-    https://lists.lttng.org/pipermail/lttng-dev/2016-June/026192.html
- and adapted to 2.8.2.]
-Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
----
- src/bin/lttng/commands/snapshot.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bin/lttng/commands/snapshot.c b/src/bin/lttng/commands/snapshot.c
-index d948226..00aa5b7 100644
---- a/src/bin/lttng/commands/snapshot.c
-+++ b/src/bin/lttng/commands/snapshot.c
-@@ -447,7 +447,7 @@ static int cmd_del_output(int argc, const char **argv)
-
- 	errno = 0;
- 	id = strtol(argv[1], &name, 10);
--	if (id == 0 && errno == 0) {
-+	if (id == 0 && (errno == 0 || errno == EINVAL)) {
- 		if (lttng_opt_mi) {
- 			ret = mi_del_output(UINT32_MAX, name);
- 		} else {
---
-2.7.4

+ 0 - 30
package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch

@@ -1,30 +0,0 @@
-From fc743b22fc26eab9f9dbf48e4505ed2394924bba Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 13 Jun 2016 18:44:17 -0400
-Subject: [PATCH lttng-tools] Fix: strerror_r behavior is glibc specific
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-[Philippe: grabbed from the mailing list:
-    https://lists.lttng.org/pipermail/lttng-dev/2016-June/026194.html
-]
-Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
----
- src/common/error.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/common/error.h b/src/common/error.h
-index 0fbd3a2..e8c811e 100644
---- a/src/common/error.h
-+++ b/src/common/error.h
-@@ -198,7 +198,7 @@ static inline void __lttng_print_check_abort(enum lttng_error_level type)
- 
- #define _PERROR(fmt, args...) _ERRMSG("PERROR", PRINT_ERR, fmt, ## args)
- 
--#if !defined(__linux__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE))
-+#if !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE))
- 
- /*
-  * Version using XSI strerror_r.
--- 
-2.7.4
-

+ 0 - 431
package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch

@@ -1,431 +0,0 @@
-From 451f4d875537c073a966d6ccfb2fe08a497fbd7b Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 15 Jun 2016 11:01:08 -0500
-Subject: [PATCH] Set thread stack size to ulimit soft value
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-[Philippe: grabbed from the mailing list:
-    https://lists.lttng.org/pipermail/lttng-dev/2016-June/026196.html
-]
-Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
----
- src/bin/lttng-consumerd/lttng-consumerd.c | 17 ++++++----
- src/bin/lttng-relayd/live.c               | 10 +++---
- src/bin/lttng-relayd/live.h               |  2 +-
- src/bin/lttng-relayd/main.c               | 14 +++++---
- src/bin/lttng-sessiond/main.c             | 27 +++++++++------
- src/common/utils.c                        | 56 +++++++++++++++++++++++++++++++
- src/common/utils.h                        |  1 +
- 7 files changed, 99 insertions(+), 28 deletions(-)
-
-diff --git a/src/bin/lttng-consumerd/lttng-consumerd.c b/src/bin/lttng-consumerd/lttng-consumerd.c
-index 00660fc..2f1d01c 100644
---- a/src/bin/lttng-consumerd/lttng-consumerd.c
-+++ b/src/bin/lttng-consumerd/lttng-consumerd.c
-@@ -57,6 +57,8 @@
- static pthread_t channel_thread, data_thread, metadata_thread,
- 		sessiond_thread, metadata_timer_thread, health_thread;
- 
-+static pthread_attr_t *tattr;
-+
- /* to count the number of times the user pressed ctrl+c */
- static int sigintcount = 0;
- 
-@@ -351,6 +353,9 @@ int main(int argc, char **argv)
- 		}
- 	}
- 
-+	/* Get stacksize limit */
-+	tattr = get_pthread_attr_stacksize();
-+
- 	/*
- 	 * Starting from here, we can create threads. This needs to be after
- 	 * lttng_daemonize due to RCU.
-@@ -498,7 +503,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage the client socket */
--	ret = pthread_create(&health_thread, NULL,
-+	ret = pthread_create(&health_thread, tattr,
- 			thread_manage_health, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -517,7 +522,7 @@ int main(int argc, char **argv)
- 	cmm_smp_mb();	/* Read ready before following operations */
- 
- 	/* Create thread to manage channels */
--	ret = pthread_create(&channel_thread, NULL,
-+	ret = pthread_create(&channel_thread, tattr,
- 			consumer_thread_channel_poll,
- 			(void *) ctx);
- 	if (ret) {
-@@ -528,7 +533,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage the polling/writing of trace metadata */
--	ret = pthread_create(&metadata_thread, NULL,
-+	ret = pthread_create(&metadata_thread, tattr,
- 			consumer_thread_metadata_poll,
- 			(void *) ctx);
- 	if (ret) {
-@@ -539,7 +544,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage the polling/writing of trace data */
--	ret = pthread_create(&data_thread, NULL, consumer_thread_data_poll,
-+	ret = pthread_create(&data_thread, tattr, consumer_thread_data_poll,
- 			(void *) ctx);
- 	if (ret) {
- 		errno = ret;
-@@ -549,7 +554,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create the thread to manage the receive of fd */
--	ret = pthread_create(&sessiond_thread, NULL,
-+	ret = pthread_create(&sessiond_thread, tattr,
- 			consumer_thread_sessiond_poll,
- 			(void *) ctx);
- 	if (ret) {
-@@ -563,7 +568,7 @@ int main(int argc, char **argv)
- 	 * Create the thread to manage the UST metadata periodic timer and
- 	 * live timer.
- 	 */
--	ret = pthread_create(&metadata_timer_thread, NULL,
-+	ret = pthread_create(&metadata_timer_thread, tattr,
- 			consumer_timer_thread, (void *) ctx);
- 	if (ret) {
- 		errno = ret;
-diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c
-index e2096ec..32efab1 100644
---- a/src/bin/lttng-relayd/live.c
-+++ b/src/bin/lttng-relayd/live.c
-@@ -2147,13 +2147,13 @@ int relayd_live_join(void)
- /*
-  * main
-  */
--int relayd_live_create(struct lttng_uri *uri)
-+int relayd_live_create(struct lttng_uri *uri, const pthread_attr_t *tattr)
- {
- 	int ret = 0, retval = 0;
- 	void *status;
- 	int is_root;
- 
--	if (!uri) {
-+	if (!uri || !tattr) {
- 		retval = -1;
- 		goto exit_init_data;
- 	}
-@@ -2186,7 +2186,7 @@ int relayd_live_create(struct lttng_uri *uri)
- 	}
- 
- 	/* Setup the dispatcher thread */
--	ret = pthread_create(&live_dispatcher_thread, NULL,
-+	ret = pthread_create(&live_dispatcher_thread, tattr,
- 			thread_dispatcher, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -2196,7 +2196,7 @@ int relayd_live_create(struct lttng_uri *uri)
- 	}
- 
- 	/* Setup the worker thread */
--	ret = pthread_create(&live_worker_thread, NULL,
-+	ret = pthread_create(&live_worker_thread, tattr,
- 			thread_worker, NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -2206,7 +2206,7 @@ int relayd_live_create(struct lttng_uri *uri)
- 	}
- 
- 	/* Setup the listener thread */
--	ret = pthread_create(&live_listener_thread, NULL,
-+	ret = pthread_create(&live_listener_thread, tattr,
- 			thread_listener, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-diff --git a/src/bin/lttng-relayd/live.h b/src/bin/lttng-relayd/live.h
-index 2b8a3a0..6cd85e9 100644
---- a/src/bin/lttng-relayd/live.h
-+++ b/src/bin/lttng-relayd/live.h
-@@ -24,7 +24,7 @@
- 
- #include "lttng-relayd.h"
- 
--int relayd_live_create(struct lttng_uri *live_uri);
-+int relayd_live_create(struct lttng_uri *live_uri, const pthread_attr_t *tattr);
- int relayd_live_stop(void);
- int relayd_live_join(void);
- 
-diff --git a/src/bin/lttng-relayd/main.c b/src/bin/lttng-relayd/main.c
-index 6ad6566..505e884 100644
---- a/src/bin/lttng-relayd/main.c
-+++ b/src/bin/lttng-relayd/main.c
-@@ -119,6 +119,8 @@ static pthread_t dispatcher_thread;
- static pthread_t worker_thread;
- static pthread_t health_thread;
- 
-+static pthread_attr_t *tattr;
-+
- /*
-  * last_relay_stream_id_lock protects last_relay_stream_id increment
-  * atomicity on 32-bit architectures.
-@@ -2778,6 +2780,8 @@ int main(int argc, char **argv)
- 		}
- 	}
- 
-+	/* Get stack size limit */
-+	tattr = get_pthread_attr_stacksize();
- 
- 	/* Initialize thread health monitoring */
- 	health_relayd = health_app_create(NR_HEALTH_RELAYD_TYPES);
-@@ -2840,7 +2844,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage the client socket */
--	ret = pthread_create(&health_thread, NULL,
-+	ret = pthread_create(&health_thread, tattr,
- 			thread_manage_health, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -2850,7 +2854,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Setup the dispatcher thread */
--	ret = pthread_create(&dispatcher_thread, NULL,
-+	ret = pthread_create(&dispatcher_thread, tattr,
- 			relay_thread_dispatcher, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -2860,7 +2864,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Setup the worker thread */
--	ret = pthread_create(&worker_thread, NULL,
-+	ret = pthread_create(&worker_thread, tattr,
- 			relay_thread_worker, NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -2870,7 +2874,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Setup the listener thread */
--	ret = pthread_create(&listener_thread, NULL,
-+	ret = pthread_create(&listener_thread, tattr,
- 			relay_thread_listener, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -2879,7 +2883,7 @@ int main(int argc, char **argv)
- 		goto exit_listener_thread;
- 	}
- 
--	ret = relayd_live_create(live_uri);
-+	ret = relayd_live_create(live_uri, tattr);
- 	if (ret) {
- 		ERR("Starting live viewer threads");
- 		retval = -1;
-diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c
-index c8e4e53..b8f1bde 100644
---- a/src/bin/lttng-sessiond/main.c
-+++ b/src/bin/lttng-sessiond/main.c
-@@ -212,6 +212,8 @@ static pthread_t ht_cleanup_thread;
- static pthread_t agent_reg_thread;
- static pthread_t load_session_thread;
- 
-+static pthread_attr_t *tattr;
-+
- /*
-  * UST registration command queue. This queue is tied with a futex and uses a N
-  * wakers / 1 waiter implemented and detailed in futex.c/.h
-@@ -2402,7 +2404,7 @@ static int spawn_consumer_thread(struct consumer_data *consumer_data)
- 		goto error;
- 	}
- 
--	ret = pthread_create(&consumer_data->thread, NULL, thread_manage_consumer,
-+	ret = pthread_create(&consumer_data->thread, tattr, thread_manage_consumer,
- 			consumer_data);
- 	if (ret) {
- 		errno = ret;
-@@ -5638,6 +5640,9 @@ int main(int argc, char **argv)
- 		goto exit_create_run_as_worker_cleanup;
- 	}
- 
-+	/* Get stack size limit */
-+	tattr = get_pthread_attr_stacksize();
-+
- 	/*
- 	 * Starting from here, we can create threads. This needs to be after
- 	 * lttng_daemonize due to RCU.
-@@ -5672,7 +5677,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to clean up RCU hash tables */
--	ret = pthread_create(&ht_cleanup_thread, NULL,
-+	ret = pthread_create(&ht_cleanup_thread, tattr,
- 			thread_ht_cleanup, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6044,7 +6049,7 @@ int main(int argc, char **argv)
- 	load_info->path = opt_load_session_path;
- 
- 	/* Create health-check thread */
--	ret = pthread_create(&health_thread, NULL,
-+	ret = pthread_create(&health_thread, tattr,
- 			thread_manage_health, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6054,7 +6059,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage the client socket */
--	ret = pthread_create(&client_thread, NULL,
-+	ret = pthread_create(&client_thread, tattr,
- 			thread_manage_clients, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6064,7 +6069,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to dispatch registration */
--	ret = pthread_create(&dispatch_thread, NULL,
-+	ret = pthread_create(&dispatch_thread, tattr,
- 			thread_dispatch_ust_registration, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6074,7 +6079,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage application registration. */
--	ret = pthread_create(&reg_apps_thread, NULL,
-+	ret = pthread_create(&reg_apps_thread, tattr,
- 			thread_registration_apps, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6084,7 +6089,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage application socket */
--	ret = pthread_create(&apps_thread, NULL,
-+	ret = pthread_create(&apps_thread, tattr,
- 			thread_manage_apps, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6094,7 +6099,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create thread to manage application notify socket */
--	ret = pthread_create(&apps_notify_thread, NULL,
-+	ret = pthread_create(&apps_notify_thread, tattr,
- 			ust_thread_manage_notify, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6104,7 +6109,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create agent registration thread. */
--	ret = pthread_create(&agent_reg_thread, NULL,
-+	ret = pthread_create(&agent_reg_thread, tattr,
- 			agent_thread_manage_registration, (void *) NULL);
- 	if (ret) {
- 		errno = ret;
-@@ -6116,7 +6121,7 @@ int main(int argc, char **argv)
- 	/* Don't start this thread if kernel tracing is not requested nor root */
- 	if (is_root && !opt_no_kernel) {
- 		/* Create kernel thread to manage kernel event */
--		ret = pthread_create(&kernel_thread, NULL,
-+		ret = pthread_create(&kernel_thread, tattr,
- 				thread_manage_kernel, (void *) NULL);
- 		if (ret) {
- 			errno = ret;
-@@ -6127,7 +6132,7 @@ int main(int argc, char **argv)
- 	}
- 
- 	/* Create session loading thread. */
--	ret = pthread_create(&load_session_thread, NULL, thread_load_session,
-+	ret = pthread_create(&load_session_thread, tattr, thread_load_session,
- 			load_info);
- 	if (ret) {
- 		errno = ret;
-diff --git a/src/common/utils.c b/src/common/utils.c
-index 1e52ae0..593d6cc 100644
---- a/src/common/utils.c
-+++ b/src/common/utils.c
-@@ -31,6 +31,8 @@
- #include <pwd.h>
- #include <sys/file.h>
- #include <unistd.h>
-+#include <stdbool.h>
-+#include <sys/resource.h>
- 
- #include <common/common.h>
- #include <common/runas.h>
-@@ -1383,3 +1385,57 @@ int utils_show_man_page(int section, const char *page_name)
- 		section_string, page_name, NULL);
- 	return ret;
- }
-+
-+static bool pthread_ss_done = false;
-+static pthread_attr_t *tattr = NULL;
-+static pthread_attr_t tattr_value;
-+
-+LTTNG_HIDDEN
-+pthread_attr_t *get_pthread_attr_stacksize() {
-+	int ret = 0;
-+	size_t ptstacksize;
-+	struct rlimit rlim;
-+
-+	/* Return cached value */
-+	if (pthread_ss_done) {
-+		goto end;
-+	}
-+
-+	/* Get stack size limits */
-+	ret = getrlimit(RLIMIT_STACK, &rlim);
-+	if (ret < 0) {
-+		PERROR("getrlimit");
-+		goto end;
-+	}
-+	DBG("Stack size limits: soft %lld, hard %lld bytes",
-+			(long long) rlim.rlim_cur,
-+			(long long) rlim.rlim_max);
-+
-+	/* Get default thread stack size */
-+	ret = pthread_attr_getstacksize(&tattr_value, &ptstacksize);
-+	if (ret < 0) {
-+		PERROR("pthread_attr_getstacksize");
-+		goto end;
-+	}
-+	DBG("Default pthread stack size is %zu bytes", ptstacksize);
-+
-+	/* Check if default thread stack size respects ulimits */
-+	if (ptstacksize < rlim.rlim_cur) {
-+		DBG("Your libc doesn't honor stack size limits, setting thread stack size to soft limit (%lld bytes)", (long long) rlim.rlim_cur);
-+
-+		/* Create pthread_attr_t struct with ulimit stack size */
-+		ret = pthread_attr_setstacksize(&tattr_value, rlim.rlim_cur);
-+		if (ret < 0) {
-+			PERROR("pthread_attr_setstacksize");
-+			goto end;
-+		}
-+
-+		/* Set pointer */
-+		tattr = &tattr_value;
-+	}
-+
-+	/* Enable cached value */
-+	pthread_ss_done = true;
-+end:
-+	return tattr;
-+}
-diff --git a/src/common/utils.h b/src/common/utils.h
-index 7285f5c..568c123 100644
---- a/src/common/utils.h
-+++ b/src/common/utils.h
-@@ -60,5 +60,6 @@ int utils_create_lock_file(const char *filepath);
- int utils_recursive_rmdir(const char *path);
- int utils_truncate_stream_file(int fd, off_t length);
- int utils_show_man_page(int section, const char *page_name);
-+pthread_attr_t *get_pthread_attr_stacksize();
- 
- #endif /* _COMMON_UTILS_H */
--- 
-2.7.4
-

+ 3 - 6
package/lttng-tools/lttng-tools.hash

@@ -1,6 +1,3 @@
-# From http://lttng.org/files/lttng-tools/lttng-tools-2.8.2.tar.bz2.{md5,sha1}
-md5     cac8d64111711ae1b632d0dc12fe92c1  lttng-tools-2.8.2.tar.bz2
-sha1    870874ba9644691de8e564a1fa1459aa5fef42ba  lttng-tools-2.8.2.tar.bz2
-
-# Locally generated
-sha256  a07e00e9519dad2577d9330bcaf040ab3dc1b289fbcb8c702c39d520422e7565  lttng-tools-2.8.2.tar.bz2
+# From http://lttng.org/files/lttng-tools/lttng-tools-2.9.0.tar.bz2.{md5,sha1}
+md5 75b5feb18aa2a136ebf70a14d2a5a6e5  lttng-tools-2.9.0.tar.bz2
+sha1 299158fd8614e45ee596d793696feb86cdea34b2  lttng-tools-2.9.0.tar.bz2

+ 1 - 1
package/lttng-tools/lttng-tools.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LTTNG_TOOLS_VERSION = 2.8.2
+LTTNG_TOOLS_VERSION = 2.9.0
 LTTNG_TOOLS_SITE = http://lttng.org/files/lttng-tools
 LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2
 LTTNG_TOOLS_LICENSE = GPLv2+, LGPLv2.1+ (include/lttng/*, src/lib/lttng-ctl/*)

+ 2 - 2
package/lua-messagepack/lua-messagepack.hash

@@ -1,3 +1,3 @@
 # Locally calculated
-sha256	7136e47a37f01960c244fe0ad42215e2cf6e96f50cb7292c5295fa3e93fd50c1  lua-messagepack-0.3.5-1.src.rock
-sha256	b8d1c3cff8eef0b8ef1a3287228cfac4149933744235d3a5d88d65d4e3b048bb  lua-messagepack-lua53-0.3.5-1.src.rock
+sha256	706e99424cfd4d86deed10764fb2d0094bac006c0c5be449470992e9f0779ffa  lua-messagepack-0.3.6-1.src.rock
+sha256	d3a82aea6423213f399735b291a6887b230fb3bb9bcfe7b530532f1756308566  lua-messagepack-lua53-0.3.6-1.src.rock

+ 1 - 1
package/lua-messagepack/lua-messagepack.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.3.5
+LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.3.6
 ifeq ($(BR2_PACKAGE_LUA_5_3),y)
 LUA_MESSAGEPACK_VERSION = lua53-$(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1
 else

+ 1 - 1
package/luarocks/luarocks.hash

@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	e429e0af9764bfd5cb640cac40f9d4ed1023fa17c052dff82ed0a41c05f3dcf9  luarocks-2.4.1.tar.gz
+sha256	0e1ec34583e1b265e0fbafb64c8bd348705ad403fe85967fd05d3a659f74d2e5  luarocks-2.4.2.tar.gz

+ 1 - 1
package/luarocks/luarocks.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LUAROCKS_VERSION = 2.4.1
+LUAROCKS_VERSION = 2.4.2
 LUAROCKS_SITE = http://luarocks.org/releases
 LUAROCKS_LICENSE = MIT
 LUAROCKS_LICENSE_FILES = COPYING

+ 1 - 1
package/ncftp/ncftp.hash

@@ -1,2 +1,2 @@
 # Locally computed:
-sha256  b4ebe2415761a5137cd1d313c8fc1352f26d8963cc9e9e354e29720aa2089d42  ncftp-3.2.5-src.tar.bz2
+sha256 7abd3e8f848f0efb4bb6a4bc5da58a59524d4378fc8d70a52adb0fe1fd00b89d  ncftp-3.2.6-src.tar.xz

+ 2 - 2
package/ncftp/ncftp.mk

@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-NCFTP_VERSION = 3.2.5
-NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.bz2
+NCFTP_VERSION = 3.2.6
+NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.xz
 NCFTP_SITE = ftp://ftp.ncftp.com/ncftp
 NCFTP_TARGET_BINS = ncftp
 NCFTP_LICENSE = Clarified Artistic License

+ 0 - 19
package/rpm/0002-depends-fix.patch

@@ -1,19 +0,0 @@
-Bugfix included upstream
-
-diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_depends-fix/lib/depends.c
---- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
-+++ rpm-5.2.0_depends-fix/lib/depends.c	2009-09-22 06:33:37.950783501 +0000
-@@ -2371,11 +2371,11 @@
- 
- 	memset(selected, 0, sizeof(*selected) * ts->orderCount);
- 
--      if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
--
- 	/* Avoid narcisstic relations. */
- 	selected[rpmtsiOc(pi)] = 1;
- 
-+      if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
-+
- 	/* T2. Next "q <- p" relation. */
- 
- 	/* First, do pre-requisites. */

+ 0 - 30
package/rpm/0003-exclude-some-tools.patch

@@ -1,30 +0,0 @@
-diff -ru rpm-5.2.0_vanilla/tools/Makefile.am rpm-5.2.0_exclude-some-tools/tools/Makefile.am
---- rpm-5.2.0_vanilla/tools/Makefile.am	2009-06-03 01:24:42.000000000 +0000
-+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.am	2009-12-20 07:47:13.000000000 +0000
-@@ -45,9 +45,7 @@
- bin_PROGRAMS =		rpm2cpio
- 
- pkgbindir =		@USRLIBRPM@/bin
--pkgbin_PROGRAMS =	\
--	rpmcache rpmdigest grep mtree rpmrepo rpmspecdump wget \
--	rpmcmp rpmdeps @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
-+pkgbin_PROGRAMS =	
- dist_man_MANS =		rpmgrep.1
- 
- debugedit_SOURCES =	debugedit.c hashtab.c
-diff -ru rpm-5.2.0_vanilla/tools/Makefile.in rpm-5.2.0_exclude-some-tools/tools/Makefile.in
---- rpm-5.2.0_vanilla/tools/Makefile.in	2009-07-07 21:14:06.000000000 +0000
-+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.in	2009-12-20 07:47:37.000000000 +0000
-@@ -39,11 +39,7 @@
- target_triplet = @target@
- EXTRA_PROGRAMS = rpmkey$(EXEEXT) debugedit$(EXEEXT)
- bin_PROGRAMS = rpm2cpio$(EXEEXT)
--pkgbin_PROGRAMS = rpmcache$(EXEEXT) rpmdigest$(EXEEXT) grep$(EXEEXT) \
--	mtree$(EXEEXT) rpmrepo$(EXEEXT) rpmspecdump$(EXEEXT) \
--	wget$(EXEEXT) rpmcmp$(EXEEXT) rpmdeps$(EXEEXT) \
--	@WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ $(am__EXEEXT_1) \
--	$(am__EXEEXT_2)
-+pkgbin_PROGRAMS = 
- @WITH_XAR_TRUE@am__append_1 = txar
- @WITH_DB_INTERNAL_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_2 = db_tool
- @WITH_DB_INTERNAL_TRUE@@WITH_DB_RPC_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_3 = \

+ 0 - 12
package/rpm/0004-ignore-shared-mutexes.patch

@@ -1,12 +0,0 @@
-diff -ru rpm-5.2.0_vanilla/db/env/env_open.c rpm-5.2.0_test/db/env/env_open.c
---- rpm-5.2.0_vanilla/db/env/env_open.c	2008-05-28 01:23:27.000000000 +0000
-+++ rpm-5.2.0_test/db/env/env_open.c	2009-12-24 14:54:55.000000000 +0000
-@@ -124,7 +124,7 @@
- 		}
- 	}
- 
--#ifdef HAVE_MUTEX_THREAD_ONLY
-+#ifdef NK_HAVE_MUTEX_THREAD_ONLY
- 	/*
- 	 * Currently we support one kind of mutex that is intra-process only,
- 	 * POSIX 1003.1 pthreads, because a variety of systems don't support

+ 0 - 14
package/rpm/0005-no-parentdirs.patch

@@ -1,14 +0,0 @@
-Reduce parentdirs we use, parentdirs are used for ordering
-Included upstream
-diff -u --new-file --recursive rpm-5.1.9_vanilla/lib/depends.c rpm-5.1.9_no-parentdirs/lib/depends.c
---- rpm-5.1.9_vanilla/lib/depends.c	2009-04-12 19:46:17.000000000 +0000
-+++ rpm-5.1.9_no-parentdirs/lib/depends.c	2009-06-13 15:21:43.504999639 +0000
-@@ -2257,7 +2257,7 @@
- #define isAuto(_x)	((_x) & _autobits)
- 
- /*@unchecked@*/
--static int slashDepth = 100;	/* #slashes pemitted in parentdir deps. */
-+static int slashDepth = 2;	/* #slashes pemitted in parentdir deps. */
- 
- static int countSlashes(const char * dn)
- 	/*@*/

+ 0 - 45
package/rpm/0006-ordering-fix.patch

@@ -1,45 +0,0 @@
-Included upstream
---- x/lib/depends.c	2009/05/15 13:40:58	1.445
-+++ y/lib/depends.c	2009/08/22 22:12:02	1.446
-@@ -2216,9 +2216,6 @@
- {
-     rpmte q, qprev;
- 
--    /* Mark the package as queued. */
--    rpmteTSI(p)->tsi_queued = 1;
--
-     if ((*rp) == NULL) {	/* 1st element */
- 	/*@-dependenttrans@*/ /* FIX: double indirection */
- 	(*rp) = (*qp) = p;
-@@ -2238,6 +2235,12 @@
- 	/* XXX Insure removed after added. */
- 	if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q))
- 	    continue;
-+
-+	/* XXX Follow all previous generations in the queue. */
-+	if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued)
-+	    continue;
-+
-+	/* XXX Within a generation, queue behind more "important". */
- 	if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt)
- 	    break;
-     }
-@@ -2521,6 +2524,9 @@
- 
- 	if (rpmteTSI(p)->tsi_count != 0)
- 	    continue;
-+
-+	/* Mark the package as queued. */
-+	rpmteTSI(p)->tsi_queued = orderingCount + 1;
- 	rpmteTSI(p)->tsi_suc = NULL;
- 	addQ(p, &q, &r, prefcolor);
- 	qlen++;
-@@ -2584,6 +2590,8 @@
- 		(void) rpmteSetParent(p, q);
- 		(void) rpmteSetDegree(q, rpmteDegree(q)+1);
- 
-+		/* Mark the package as queued. */
-+		rpmteTSI(p)->tsi_queued = orderingCount + 1;
- 		/* XXX TODO: add control bit. */
- 		rpmteTSI(p)->tsi_suc = NULL;
- /*@-nullstate@*/	/* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */

+ 0 - 37
package/rpm/0007-parentdir-vs-requires.patch

@@ -1,37 +0,0 @@
-Avoid looking up files or directories that this package provides
-Included upstream
-diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c
---- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
-+++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c	2009-09-22 17:00:24.880956271 +0000
-@@ -2095,6 +2095,7 @@
-     rpmtsi qi; rpmte q;
-     tsortInfo tsi;
-     nsType NSType = rpmdsNSType(requires);
-+    const char * N = rpmdsN(requires);
-     fnpyKey key;
-     int teType = rpmteType(p);
-     alKey pkgKey;
-@@ -2128,6 +2129,23 @@
- 	break;
-     }
- 
-+    /* Avoid looking up files/directories that are "owned" by _THIS_ package. */
-+    if (*N == '/') {
-+    rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES);
-+    int bingo = 0;
-+
-+    fi = rpmfiInit(fi, 0);
-+    while (rpmfiNext(fi) >= 0) {
-+        const char * fn = rpmfiFN(fi);
-+        if (strcmp(N, fn))
-+        continue;
-+        bingo = 1;
-+        break;
-+    }
-+    if (bingo)
-+        return 0;
-+    }
-+
-     pkgKey = RPMAL_NOMATCH;
-     key = rpmalSatisfiesDepend(al, requires, &pkgKey);
- 

+ 0 - 235
package/rpm/0008-short-circuit-c99.patch

@@ -1,235 +0,0 @@
-Buildroot specific
-diff -ru rpm-5.1.9_vanilla/xz/configure rpm-5.1.9_short-circuit-c99/xz/configure
---- rpm-5.1.9_vanilla/xz/configure	2009-04-18 16:47:23.000000000 +0000
-+++ rpm-5.1.9_short-circuit-c99/xz/configure	2009-08-04 08:25:59.000000000 +0000
-@@ -4970,214 +4970,7 @@
-   am__fastdepCC_FALSE=
- fi
- 
--
--   { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
--$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
--if test "${ac_cv_prog_cc_c99+set}" = set; then
--  $as_echo_n "(cached) " >&6
--else
--  ac_cv_prog_cc_c99=no
--ac_save_CC=$CC
--cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <stdarg.h>
--#include <stdbool.h>
--#include <stdlib.h>
--#include <wchar.h>
--#include <stdio.h>
--
--// Check varargs macros.  These examples are taken from C99 6.10.3.5.
--#define debug(...) fprintf (stderr, __VA_ARGS__)
--#define showlist(...) puts (#__VA_ARGS__)
--#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
--static void
--test_varargs_macros (void)
--{
--  int x = 1234;
--  int y = 5678;
--  debug ("Flag");
--  debug ("X = %d\n", x);
--  showlist (The first, second, and third items.);
--  report (x>y, "x is %d but y is %d", x, y);
--}
--
--// Check long long types.
--#define BIG64 18446744073709551615ull
--#define BIG32 4294967295ul
--#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
--#if !BIG_OK
--  your preprocessor is broken;
--#endif
--#if BIG_OK
--#else
--  your preprocessor is broken;
--#endif
--static long long int bignum = -9223372036854775807LL;
--static unsigned long long int ubignum = BIG64;
--
--struct incomplete_array
--{
--  int datasize;
--  double data[];
--};
--
--struct named_init {
--  int number;
--  const wchar_t *name;
--  double average;
--};
--
--typedef const char *ccp;
--
--static inline int
--test_restrict (ccp restrict text)
--{
--  // See if C++-style comments work.
--  // Iterate through items via the restricted pointer.
--  // Also check for declarations in for loops.
--  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
--    continue;
--  return 0;
--}
--
--// Check varargs and va_copy.
--static void
--test_varargs (const char *format, ...)
--{
--  va_list args;
--  va_start (args, format);
--  va_list args_copy;
--  va_copy (args_copy, args);
--
--  const char *str;
--  int number;
--  float fnumber;
--
--  while (*format)
--    {
--      switch (*format++)
--	{
--	case 's': // string
--	  str = va_arg (args_copy, const char *);
--	  break;
--	case 'd': // int
--	  number = va_arg (args_copy, int);
--	  break;
--	case 'f': // float
--	  fnumber = va_arg (args_copy, double);
--	  break;
--	default:
--	  break;
--	}
--    }
--  va_end (args_copy);
--  va_end (args);
--}
--
--int
--main ()
--{
--
--  // Check bool.
--  _Bool success = false;
--
--  // Check restrict.
--  if (test_restrict ("String literal") == 0)
--    success = true;
--  char *restrict newvar = "Another string";
--
--  // Check varargs.
--  test_varargs ("s, d' f .", "string", 65, 34.234);
--  test_varargs_macros ();
--
--  // Check flexible array members.
--  struct incomplete_array *ia =
--    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
--  ia->datasize = 10;
--  for (int i = 0; i < ia->datasize; ++i)
--    ia->data[i] = i * 1.234;
--
--  // Check named initializers.
--  struct named_init ni = {
--    .number = 34,
--    .name = L"Test wide string",
--    .average = 543.34343,
--  };
--
--  ni.number = 58;
--
--  int dynamic_array[ni.number];
--  dynamic_array[ni.number - 1] = 543;
--
--  // work around unused variable warnings
--  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
--	  || dynamic_array[ni.number - 1] != 543);
--
--  ;
--  return 0;
--}
--_ACEOF
--for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
--do
--  CC="$ac_save_CC $ac_arg"
--  rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
--case "(($ac_try" in
--  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
--  *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
--  (eval "$ac_compile") 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } && {
--	 test -z "$ac_c_werror_flag" ||
--	 test ! -s conftest.err
--       } && test -s conftest.$ac_objext; then
--  ac_cv_prog_cc_c99=$ac_arg
--else
--  $as_echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--
--fi
--
--rm -f core conftest.err conftest.$ac_objext
--  test "x$ac_cv_prog_cc_c99" != "xno" && break
--done
--rm -f conftest.$ac_ext
--CC=$ac_save_CC
--
--fi
--# AC_CACHE_VAL
--case "x$ac_cv_prog_cc_c99" in
--  x)
--    { $as_echo "$as_me:$LINENO: result: none needed" >&5
--$as_echo "none needed" >&6; } ;;
--  xno)
--    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
--$as_echo "unsupported" >&6; } ;;
--  *)
--    CC="$CC $ac_cv_prog_cc_c99"
--    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
--$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
--esac
--
--
--
--if test x$ac_cv_prog_cc_c99 = xno ; then
--	{ { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5
--$as_echo "$as_me: error: No C99 compiler was found." >&2;}
--   { (exit 1); exit 1; }; }
--fi
-+CC="$CC -std=c99"
- 
- if test "x$CC" != xcc; then
-   { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
-diff -ru rpm-5.1.9_vanilla/xz/configure.ac rpm-5.1.9_short-circuit-c99/xz/configure.ac
---- rpm-5.1.9_vanilla/xz/configure.ac	2009-02-16 17:07:46.000000000 +0000
-+++ rpm-5.1.9_short-circuit-c99/xz/configure.ac	2009-08-04 08:25:28.000000000 +0000
-@@ -402,10 +402,7 @@
- AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99])
- AC_PROG_LN_S
- 
--AC_PROG_CC_C99
--if test x$ac_cv_prog_cc_c99 = xno ; then
--	AC_MSG_ERROR([No C99 compiler was found.])
--fi
-+CC="$CC -std=c99"
- 
- AM_PROG_CC_C_O
- AM_PROG_AS

+ 7 - 15
package/rpm/Config.in

@@ -1,28 +1,20 @@
 comment "rpm needs a toolchain w/ threads"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
-	depends on BR2_USE_MMU # fork()
 	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
-
-comment "rpm needs a toolchain w/ gcc >= 5"
-	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
+	depends on BR2_USE_MMU
 
 config BR2_PACKAGE_RPM
 	bool "rpm"
-	# triggers internal compiler error
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
+	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
 	depends on BR2_USE_MMU # fork()
-	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
-	select BR2_PACKAGE_BEECRYPT
+	select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS
+	select BR2_PACKAGE_BERKELEYDB
+	select BR2_PACKAGE_FILE
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_NEON
-	select BR2_PACKAGE_NEON_SSL
-	select BR2_PACKAGE_NEON_XML
-	select BR2_PACKAGE_NEON_ZLIB
-	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_ZLIB
 	help
-	  The RPM package management system.
+	  The RPM Package Manager (RPM).
 
-	  http://rpm5.org
+	  http://www.rpm.org/

+ 5 - 2
package/rpm/rpm.hash

@@ -1,2 +1,5 @@
-# Locally calculated
-sha256	34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98	rpm-5.2.0.tar.gz
+# From http://rpm.org/wiki/Releases/4.13.0
+sha1	c6ce4f879ca6a75340921093105e5ef9d33381d3	rpm-4.13.0.tar.bz2
+# Locally computed
+sha256	a3e5568d721737a24141737e6036bb39ba9dfbeaa03fa4a51cc7881a243e0c5d b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch
+sha256	7ab0e08e143bb2d43d5b0553ee22ea34da15a611c597860a6110745467d20fa8 c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch

+ 52 - 37
package/rpm/rpm.mk

@@ -4,61 +4,76 @@
 #
 ################################################################################
 
-RPM_VERSION_MAJOR = 5.2
-RPM_VERSION = $(RPM_VERSION_MAJOR).0
-RPM_SITE = http://rpm5.org/files/rpm/rpm-$(RPM_VERSION_MAJOR)
-RPM_DEPENDENCIES = host-pkgconf zlib beecrypt neon popt openssl
-RPM_LICENSE = LGPLv2.1
-RPM_LICENSE_FILES = COPYING.LIB
+RPM_VERSION = 4.13.0
+RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
+RPM_SITE = https://github.com/rpm-software-management/rpm/releases/download/rpm-$(RPM_VERSION)-release
+RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
+RPM_LICENSE = GPLv2 or LGPLv2 (library only)
+RPM_LICENSE_FILES = COPYING
+RPM_PATCH = \
+	https://github.com/rpm-software-management/rpm/commit/b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch \
+	https://github.com/rpm-software-management/rpm/commit/c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch
 
-RPM_CONF_ENV = \
-	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/beecrypt -I$(STAGING_DIR)/usr/include/neon -DHAVE_MUTEX_THREAD_ONLY" \
-	ac_cv_va_copy=yes
+# b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch
+# c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch
+RPM_AUTORECONF = YES
 
 RPM_CONF_OPTS = \
-	--disable-build-versionscript \
+	--disable-python \
 	--disable-rpath \
-	--without-selinux \
-	--without-python \
-	--without-perl \
-	--with-openssl=external \
-	--with-zlib=external \
-	--with-libbeecrypt=$(STAGING_DIR) \
-	--with-popt=external
+	--with-external-db \
+	--with-gnu-ld \
+	--without-cap \
+	--without-hackingdocs \
+	--without-lua
 
-ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-RPM_DEPENDENCIES += gettext
+ifeq ($(BR2_PACKAGE_ACL),y)
+RPM_DEPENDENCIES += acl
+RPM_CONF_OPTS += --with-acl
+else
+RPM_CONF_OPTS += --without-acl
 endif
 
-ifeq ($(BR2_PACKAGE_PCRE),y)
-RPM_DEPENDENCIES += pcre
-RPM_CONF_OPTS += --with-pcre=external
+ifeq ($(BR2_PACKAGE_LIBNSS),y)
+RPM_DEPENDENCIES += libnss
+RPM_CONF_OPTS += --without-beecrypt
+RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr
 else
-RPM_CONF_OPTS += --with-pcre=none
+RPM_DEPENDENCIES += beecrypt
+RPM_CONF_OPTS += --with-beecrypt
+RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/beecrypt
 endif
 
-ifeq ($(BR2_PACKAGE_FILE),y)
-RPM_DEPENDENCIES += file
-RPM_CONF_OPTS += --with-file=external
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+RPM_DEPENDENCIES += gettext
+RPM_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr
 else
-RPM_CONF_OPTS += --with-file=none
+RPM_CONF_OPTS += --without-libintl-prefix
 endif
 
-# xz payload support needs a toolchain w/ C++
-ifeq ($(BR2_PACKAGE_XZ)$(BR2_INSTALL_LIBSTDCPP),yy)
-RPM_DEPENDENCIES += xz
-RPM_CONF_OPTS += --with-xz=external
+ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
+RPM_DEPENDENCIES += libarchive
+RPM_CONF_OPTS += --with-archive
 else
-RPM_CONF_OPTS += --with-xz=none
+RPM_CONF_OPTS += --without-archive
 endif
 
-ifeq ($(BR2_PACKAGE_BZIP2),y)
-RPM_CONF_OPTS += --with-bzip2
-RPM_DEPENDENCIES += bzip2
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+RPM_DEPENDENCIES += libselinux
+RPM_CONF_OPTS += --with-selinux
+else
+RPM_CONF_OPTS += --without-selinux
 endif
 
-RPM_MAKE = $(MAKE1)
+# RPM, when using NLS, requires GNU gettext's _nl_msg_cat_cntr, which is not
+# provided in musl.
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+RPM_CONF_OPTS += --disable-nls
+endif
 
-RPM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) program_transform_name= install
+# ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`).
+RPM_CONF_ENV = \
+	ac_cv_prog_cc_c99='-std=gnu99' \
+	CFLAGS="$(TARGET_CFLAGS) $(RPM_CFLAGS)"
 
 $(eval $(autotools-package))

+ 7 - 0
package/xterm/xterm.mk

@@ -22,4 +22,11 @@ else
 XTERM_CONF_OPTS += --disable-freetype
 endif
 
+ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
+XTERM_DEPENDENCIES += xlib_libXinerama
+XTERM_CONF_OPTS += --with-xinerama
+else
+XTERM_CONF_OPTS += --without-xinerama
+endif
+
 $(eval $(autotools-package))

+ 3 - 3
toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in

@@ -1,5 +1,5 @@
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
-	bool "Linaro AArch64 2016.05"
+	bool "Linaro AArch64 2016.11"
 	depends on BR2_aarch64
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	depends on !BR2_STATIC_LIBS
@@ -7,8 +7,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
-	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
-	select BR2_TOOLCHAIN_GCC_AT_LEAST_5
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
+	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	select BR2_TOOLCHAIN_HAS_FORTRAN
 	help
 	  Toolchain for the AArch64 architecture, from

+ 2 - 2
toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash

@@ -1,3 +1,3 @@
 # Locally calculated
-sha256 d43227248f282a652da42322fcf4abfd3021f2a2f62e0cf6e242d82f55966ba9  gcc-linaro-5.3.1-2016.05-i686_aarch64-linux-gnu.tar.xz
-sha256 1941dcf6229d6706bcb89b7976d5d43d170efdd17c27d5fe1738e7ecf22adc37  gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz
+sha256 057156a47b9cd68cdc0b48adcbe96c8249e3653b082f6c051dd75cb644f64b3a  gcc-linaro-6.2.1-2016.11-i686_aarch64-linux-gnu.tar.xz
+sha256 539cc29320bd84178cd093aae0b06b1ee5476511cecaba989faf9c6a1d4cdf81  gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar.xz

+ 4 - 4
toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk

@@ -4,13 +4,13 @@
 #
 ################################################################################
 
-TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2016.05
-TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2016.11
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu
 
 ifeq ($(HOSTARCH),x86)
-TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz
 else
-TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz
 endif
 
 $(eval $(toolchain-external-package))

+ 5 - 5
toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in

@@ -4,7 +4,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf"
 	depends on !BR2_STATIC_LIBS
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
-	bool "Linaro ARM 2016.05"
+	bool "Linaro ARM 2016.11"
 	depends on BR2_arm
 	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@@ -14,13 +14,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
-	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
-	select BR2_TOOLCHAIN_GCC_AT_LEAST_5
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
+	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	select BR2_TOOLCHAIN_HAS_FORTRAN
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
-	  GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on
-	  GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It
+	  GCC 2016.11 (based on gcc 6.2.1), Linaro GDB 2016.11 (based on
+	  GDB 7.12), glibc 2.23, Binutils 2016.11 (based on 2.27). It
 	  generates code that runs on all Cortex-A profile devices,
 	  but tuned for the Cortex-A9. The code generated is Thumb 2,
 	  with the hard floating point calling convention, and uses

+ 2 - 2
toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash

@@ -1,3 +1,3 @@
 # Locally calculated
-sha256 f1421c580ce977226f4fefc9c409b3b423260cc65a6e9dc6da88bb3478a521a0  gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz
-sha256 987941c9fffdf56ffcbe90e8984673c16648c477b537fcf43add22fa62f161cd  gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz
+sha256 a2a4968bfb8537c1b3280b4f475d90d53a1a0f05f7afc7b43efed266cc4de446  gcc-linaro-6.2.1-2016.11-i686_arm-linux-gnueabihf.tar.xz
+sha256 5eb7ab2f8a0b4b960900321505cd6923a072cb3e2412102f5f72a6e74c2f0a55  gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz

+ 4 - 4
toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk

@@ -4,13 +4,13 @@
 #
 ################################################################################
 
-TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2016.05
-TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf
+TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2016.11
+TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf
 
 ifeq ($(HOSTARCH),x86)
-TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz
+TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz
 else
-TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz
+TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz
 endif
 
 $(eval $(toolchain-external-package))

+ 6 - 6
toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in

@@ -4,7 +4,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf"
 	depends on !BR2_STATIC_LIBS
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
-	bool "Linaro armeb 2016.05"
+	bool "Linaro armeb 2016.11"
 	depends on BR2_armeb
 	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@@ -14,13 +14,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
-	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
-	select BR2_TOOLCHAIN_GCC_AT_LEAST_5
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
+	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	help
 	  Linaro toolchain for the ARM big endian architecture. It
-	  uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB
-	  2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05
-	  (based on 2.25). It generates code that runs on all Cortex-A
+	  uses Linaro GCC 2016.11 (based on gcc 6.2.1), Linaro GDB
+	  2016.11 (based on GDB 7.12), glibc 2.23, Binutils 2016.11
+	  (based on 2.27). It generates code that runs on all Cortex-A
 	  profile devices, but tuned for the Cortex-A9. The code
 	  generated is Thumb 2, with the hard floating point calling
 	  convention, and uses the VFPv3-D16 FPU instructions.

+ 2 - 2
toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash

@@ -1,3 +1,3 @@
 # Locally calculated
-sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f  gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz
-sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440  gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz
+sha256 05a34c56da56b9b1e1a61ad1217dc4e751e1d277932dbeaa82b6c242cf0f2ec9  gcc-linaro-6.2.1-2016.11-i686_armeb-linux-gnueabihf.tar.xz
+sha256 319cb7c6363a3116357b163d0b4f9e0c27cfcb6153f3c26a34edf892819f12e5  gcc-linaro-6.2.1-2016.11-x86_64_armeb-linux-gnueabihf.tar.xz

+ 4 - 4
toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk

@@ -4,13 +4,13 @@
 #
 ################################################################################
 
-TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2016.05
-TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf
+TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2016.11
+TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf
 
 ifeq ($(HOSTARCH),x86)
-TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz
+TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz
 else
-TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz
+TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz
 endif
 
 $(eval $(toolchain-external-package))