2
1
Эх сурвалжийг харах

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 жил өмнө
parent
commit
44d2cc99a4
45 өөрчлөгдсөн 216 нэмэгдсэн , 1016 устгасан
  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))