+2016.05, Released May 31st, 2016
+
+ Minor fixes.
+
+ External toolchain: Fix for symlink handling when copying
+ links to target.
+
+ Updated/fixed packages: gcc, grantlee, gst-ffmpeg,
+ ipsec-tools, iptraf-ng, libcurl, libdrm, libsigsegv, ltris,
+ lttng-babeltrace, mbedtls, mesa3d, moarvm, mplayer, mtools,
+ net-tools, openpowerlink, pulseview, rpm, tinyalsa,
+ xdriver_xf86-video-fbturbo, xserver_xorg-server
+
+2016.05-rc3, Released May 26th, 2016
+
+ Fixes all over the tree.
+
+ Tweaks for SSP handling for external toolchains.
+
+ Updated/fixed packages: aircrack-ng, bluez5_utils, connman,
+ cups, erlang-p1-stringprep, expat, ffmpeg, flann, flannel, go,
+ gst1-libav, hidapi, hplip, iptraf-ng, jamvm, kodi,
+ kodi-screensaver-matrixtrails, libcurl, libepoxy, libgpgme,
+ libsemanage, libxslt, liquid-dsp, ltris, lxc, mesa3d, midori,
+ mpg123, mtr, openpgm, openpowerlink, oprofile, php,
+ postgresql, putty, python-service-identity, python-treq,
+ qlibc, qt5serialbus, ruby, stress-ng, strongswan, time, tinc,
+ ustr, valgrind, webkitgtk, libxml2, xorriso,
+ xserver_xorg-server
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #8936: Aircrack-ng - Alot of missing dependencies
+
+2016.05-rc2, Released May 17th, 2016
+
+ Fixes all over the tree.
+
+ Rootfs overlay handling now refuses to overwrite
+ /{usr,bin,sbin,lib} symlinks from BR2_ROOTFS_MERGED_USR option
+ even if these directories are present in the overlay.
+
+ External toolchain: Unbreak user provided libraries deployment
+ (BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS) handling after refactoring.
+
+ QEMU coldfire: Fix for signal handling kernel issue, enable
+ networking support.
+
+ Updated/fixed packages: android-tools, assimp, boost, gcc,
+ glibc, glmark2, gmrender-resurrect, go, go-bootstrap, iputils,
+ jack2, kodi-screensaver-asterwave, kodi-screensaver-rsxs,
+ kodi-visualisation-shadertoy, libarchive, libinput, libpjsip,
+ mali-t76x, mtr, nginx, opencv, openvpn, python-coherence,
+ qt5multimeda, quagga, samba4, sg3-utils, stress-ng, turbolua
+
2016.05-rc1, Released May 10th, 2016
Fixes all over the tree and new features.
are encountered.
Note that this mechanism is available for both the internal
- toolchain (through gcc and binutils patches) and external
- toolchain backends (through the external toolchain wrapper).
+ toolchain (through the toolchain wrapper and binutils patches)
+ and external toolchain backends (through the toolchain wrapper).
endmenu
###############################################################################
comment "Legacy options removed in 2016.05"
+config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL
+ bool "openvpn polarssl crypto backend removed"
+ select BR2_LEGACY
+ help
+ The OpenVPN polarssl crypto backend option has been removed.
+ Version from 2.3.10 onwards need polarssl >= 1.3.8 but aren't
+ compatible with mbedtls (polarssl) series 2.x which is the
+ version provided in buildroot. And both can't coexist.
+ It now uses OpenSSL as the only option.
+
+
config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE
bool "nginx http spdy module removed"
select BR2_LEGACY
all:
# Set and export the version string
-export BR2_VERSION := 2016.05-rc1
+export BR2_VERSION := 2016.08-git
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
$(call MESSAGE,"Copying overlay $(d)"); \
- rsync -a --ignore-times $(RSYNC_VCS_EXCLUSIONS) \
+ rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \
$(d)/ $(TARGET_DIR)$(sep))
You will find in ./output/images/ the following files:
- imx6ul-14x14-evk.dtb
- - rootfs.ext2
+ - rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
=> env default -f -a
=> saveenv
-- Run the DFU toocommand in U-Boot:
+- Run the DFU command in U-Boot:
=> dfu 0 mmc 0
- Transfer U-Boot into flash by running this command in host side:
Update linux & rootfs
=====================
-Run the 'ums' command from the u6Boot prompt to mount the eMMC as mass
+Run the 'ums' command from the U-Boot prompt to mount the eMMC as mass
storage and update zImage, device tree (imx6sl-warp.dtb) and rootfs
file (rootfs.tar) :
CONFIG_SERIAL_MCF_CONSOLE=y
CONFIG_BOOTPARAM=y
CONFIG_BOOTPARAM_STRING="console=ttyS0,115200"
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_VENDOR_FREESCALE=y
+CONFIG_FEC=y
--- /dev/null
+From a95517992a37488c0bc8b629c47c570e580e407d Mon Sep 17 00:00:00 2001
+From: Greg Ungerer <gerg@uclinux.org>
+Date: Mon, 15 Feb 2016 16:36:29 +1000
+Subject: m68k: Use conventional function parameters for do_sigreturn
+
+Create conventional stack parameters for the calls to do_sigreturn and
+do_rt_sigreturn. The current C code for do_sigreturn and do_rt_sigreturn
+dig into the stack to create local pointers to the saved switch stack
+and the pt_regs structs.
+
+The motivation for this change is a problem with non-MMU targets that
+have broken signal return paths on newer versions of gcc. It appears as
+though gcc has determined that the pointers into the saved stack structs,
+and the saved structs themselves, are function parameters and updates to
+them will be lost on function return, so they are optimized away. This
+results in large parts of restore_sigcontext() and mangle_kernel_stack()
+functions being removed. Of course this results in non-functional code
+causing kernel oops. This problem has been observed with gcc version
+5.2 and 5.3, and probably exists in earlier versions as well.
+
+Using conventional stack parameter pointers passed to these functions has
+the advantage of the code here not needing to know the exact details of
+how the underlying entry handler layed these structs out on the stack.
+So the rather ugly pointer setup casting and arg referencing can be
+removed.
+
+The resulting code after this change is a few bytes larger (due to the
+overhead of creating the stack args and their tear down). Not being hot
+paths I don't think this is too much of a problem here.
+
+An alternative solution is to put a barrier() in the do_sigreturn() code,
+but this doesn't feel quite as clean as this solution.
+
+This change has been compile tested on all defconfigs, and run tested on
+Atari (through aranym), ColdFire with MMU (M5407EVB) and ColdFire with
+no-MMU (QEMU and M5208EVB).
+
+Signed-off-by: Greg Ungerer <gerg@uclinux.org>
+Acked-by: Andreas Schwab <schwab@linux-m68k.org>
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+---
+ arch/m68k/kernel/entry.S | 6 ++++++
+ arch/m68k/kernel/signal.c | 8 ++------
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S
+index b54ac7a..97cd3ea 100644
+--- a/arch/m68k/kernel/entry.S
++++ b/arch/m68k/kernel/entry.S
+@@ -71,13 +71,19 @@ ENTRY(__sys_vfork)
+
+ ENTRY(sys_sigreturn)
+ SAVE_SWITCH_STACK
++ movel %sp,%sp@- | switch_stack pointer
++ pea %sp@(SWITCH_STACK_SIZE+4) | pt_regs pointer
+ jbsr do_sigreturn
++ addql #8,%sp
+ RESTORE_SWITCH_STACK
+ rts
+
+ ENTRY(sys_rt_sigreturn)
+ SAVE_SWITCH_STACK
++ movel %sp,%sp@- | switch_stack pointer
++ pea %sp@(SWITCH_STACK_SIZE+4) | pt_regs pointer
+ jbsr do_rt_sigreturn
++ addql #8,%sp
+ RESTORE_SWITCH_STACK
+ rts
+
+diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c
+index af1c4f3..2dcee3a 100644
+--- a/arch/m68k/kernel/signal.c
++++ b/arch/m68k/kernel/signal.c
+@@ -737,10 +737,8 @@ badframe:
+ return 1;
+ }
+
+-asmlinkage int do_sigreturn(unsigned long __unused)
++asmlinkage int do_sigreturn(struct pt_regs *regs, struct switch_stack *sw)
+ {
+- struct switch_stack *sw = (struct switch_stack *) &__unused;
+- struct pt_regs *regs = (struct pt_regs *) (sw + 1);
+ unsigned long usp = rdusp();
+ struct sigframe __user *frame = (struct sigframe __user *)(usp - 4);
+ sigset_t set;
+@@ -764,10 +762,8 @@ badframe:
+ return 0;
+ }
+
+-asmlinkage int do_rt_sigreturn(unsigned long __unused)
++asmlinkage int do_rt_sigreturn(struct pt_regs *regs, struct switch_stack *sw)
+ {
+- struct switch_stack *sw = (struct switch_stack *) &__unused;
+- struct pt_regs *regs = (struct pt_regs *) (sw + 1);
+ unsigned long usp = rdusp();
+ struct rt_sigframe __user *frame = (struct rt_sigframe __user *)(usp - 4);
+ sigset_t set;
+--
+cgit v0.12
+
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
UBOOT_BIN = u-boot.sb
UBOOT_MAKE_TARGET = $(UBOOT_BIN)
-UBOOT_DEPENDENCIES += host-elftosb
+# mxsimage needs OpenSSL
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
# BootStream (.sb) is generated by U-Boot, we convert it to SD format
UBOOT_BIN = u-boot.sd
UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
UBOOT_BIN = u-boot.nand
UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
else
UBOOT_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(UBOOT_ARCH)
+ ARCH=$(UBOOT_ARCH) \
+ HOSTCFLAGS="$(HOST_CFLAGS)" \
+ HOSTLDFLAGS="$(HOST_LDFLAGS)"
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
BR2_TARGET_ROOTFS_INITRAMFS=y
# BR2_TARGET_ROOTFS_TAR is not set
+BR2_GLOBAL_PATCH_DIR="board/qemu/m68k-mcf5208/patches/"
+
# Linux headers same as kernel, a 4.5 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5=y
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
-# use minimal busybox with hush
+# use minimal busybox with hush and networking tools
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
-# mdev does not work correctly
-BR2_ROOTFS_DEVICE_CREATION_STATIC=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2015.1"
BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
+BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed"
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2014.2.01"
BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
+BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zc706"
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2015.1"
BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
+BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed"
----
/usr/bin/foo f 755 0 0 - - - - -
/usr/bin/bar f 755 root root - - - - -
-/data/buz f buz-user buz-group - - - - -
+/data/buz f 644 buz-user buz-group - - - - -
----
Alternatively, if you want to change owner/permission of a directory
<div class="panel-heading">Download</div>
<div class="panel-body">
- <h3 style="text-align: center;">Latest stable release: <b>2016.02</b></h3>
+ <h3 style="text-align: center;">Latest stable release: <b>2016.05</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.02.tar.gz">buildroot-2016.02.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2016.02.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.05.tar.gz">buildroot-2016.05.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2016.05.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.02.tar.bz2">buildroot-2016.02.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2016.02.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.05.tar.bz2">buildroot-2016.05.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2016.05.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-
- <h3 style="text-align: center;">Latest release candidate: <b>2016.05-rc1</b></h3>
+<!--
+ <h3 style="text-align: center;">Latest release candidate: <b>2016.05-rc3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.05-rc1.tar.gz">buildroot-2016.05-rc1.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2016.05-rc1.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.05-rc3.tar.gz">buildroot-2016.05-rc3.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2016.05-rc3.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.05-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.05-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.05-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.05-rc1.tar.bz2">buildroot-2016.05-rc1.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2016.05-rc1.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.05-rc3.tar.bz2">buildroot-2016.05-rc3.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2016.05-rc3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-
+-->
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
</div>
<h2>News</h2>
<ul class="timeline">
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2016.05 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 March 2016</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>The stable 2016.05 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05">CHANGES</a>
+ file for more details, read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2016-May/162428.html">announcement<a>
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2016.05.tar.bz2">2016.05 release</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li>
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2016.05-rc3 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>26 May 2016</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Release candidate 3 is out with more cleanups and security
+ / build fixes. See
+ the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05-rc3">CHANGES</a>
+ file for details.</p>
+ <p>Head to the <a href="/downloads/">downloads page</a> to
+ pick up
+ the <a href="/downloads/buildroot-2016.05-rc3.tar.bz2">2016.05-rc3
+ release candidate</a>, and report any problems found to
+ the <a href="support.html">mailing list</a>
+ or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2016.05-rc2 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>17 May 2016</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Another week, another release candidate with more cleanups
+ and build fixes. See
+ the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05-rc2">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2016.05-rc2.tar.bz2">2016.05-rc2
+ release candidate</a>, and report any problems found to
+ the <a href="support.html">mailing list</a>
+ or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<p>We have a new release candidate! Lots of
changes all over the tree, see
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05-rc1">CHANGES</a>
- file for details.
+ file for details and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2016-May/160897.html">announcement</a>.
</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
help
A set of tools for auditing wireless networks
+ For complete functionality, also select ethtool, iw, rfkill,
+ util-linux utilities, and wireless_tools.
+
http://www.aircrack-ng.org/
comment "aircrack-ng needs a toolchain w/ threads"
--- /dev/null
+Fix build on big endian systems
+
+The usb_linux_client.c file defines cpu_to_le16/32 by using the C
+library htole16/32 function calls. However, cpu_to_le16/32 are used
+when initializing structures, i.e in a context where a function call
+is not allowed.
+
+It works fine on little endian systems because htole16/32 are defined
+by the C library as no-ops. But on big-endian systems, they are
+actually doing something, which might involve calling a function,
+causing build failures.
+
+To solve this, we simply open-code cpu_to_le16/32 in a way that allows
+them to be used when initializing structures.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/core/adb/usb_linux_client.c
+===================================================================
+--- a/core/adb/usb_linux_client.c
++++ b/core/adb/usb_linux_client.c
+@@ -34,8 +34,15 @@
+ #define MAX_PACKET_SIZE_FS 64
+ #define MAX_PACKET_SIZE_HS 512
+
+-#define cpu_to_le16(x) htole16(x)
+-#define cpu_to_le32(x) htole32(x)
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++# define cpu_to_le16(x) (x)
++# define cpu_to_le32(x) (x)
++#else
++# define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
++# define cpu_to_le32(x) \
++ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
++ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
++#endif
+
+ struct usb_handle
+ {
+Index: b/core/adbd/usb_linux_client.c
+===================================================================
+--- a/core/adbd/usb_linux_client.c
++++ b/core/adbd/usb_linux_client.c
+@@ -34,8 +34,15 @@
+ #define MAX_PACKET_SIZE_FS 64
+ #define MAX_PACKET_SIZE_HS 512
+
+-#define cpu_to_le16(x) htole16(x)
+-#define cpu_to_le32(x) htole32(x)
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++# define cpu_to_le16(x) (x)
++# define cpu_to_le32(x) (x)
++#else
++# define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
++# define cpu_to_le32(x) \
++ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
++ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
++#endif
+
+ struct usb_handle
+ {
--- /dev/null
+Fix static linking of adb/adbd
+
+Both adb and adbd use OpenSSL, which indirectly uses zlib. Since
+adb/adbd also use zlib directly -lz is included in the linker flags,
+but not at the right position to ensure that static linking works: to
+make it possible for OpenSSL symbols to see zlib symbols, -lz must
+appear after -lcrypto.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/debian/makefiles/adb.mk
+===================================================================
+--- a/debian/makefiles/adb.mk
++++ b/debian/makefiles/adb.mk
+@@ -41,7 +41,7 @@
+ CPPFLAGS+= -I$(SRCDIR)/core/adb
+ CPPFLAGS+= -I$(SRCDIR)/core/include
+
+-LIBS+= -lc -lpthread -lz -lcrypto
++LIBS+= -lc -lpthread -lcrypto -lz
+
+ OBJS= $(SRCS:.c=.o)
+
+Index: b/debian/makefiles/adbd.mk
+===================================================================
+--- a/debian/makefiles/adbd.mk
++++ b/debian/makefiles/adbd.mk
+@@ -44,7 +44,7 @@
+ CPPFLAGS+= -I$(SRCDIR)/core/adbd
+ CPPFLAGS+= -I$(SRCDIR)/core/include
+
+-LIBS+= -lc -lpthread -lz -lcrypto -lcrypt
++LIBS+= -lc -lpthread -lcrypto -lz -lcrypt
+
+ OBJS= $(patsubst %, %.o, $(basename $(SRCS)))
+
config BR2_PACKAGE_ANDROID_TOOLS
- bool "android-tools"
- select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
- !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
- !BR2_PACKAGE_ANDROID_TOOLS_ADB
- help
- This package contains the fastboot and adb utilities, that
- can be used to interact with target devices using of these
- protocols.
+ bool "android-tools"
+ # Technically, fastboot could build on noMMU systems. But
+ # since we need at least one of the three sub-options enabled,
+ # and adb/adbd can't be built on noMMU systems, and fastboot
+ # has some complicated dependencies, we simply make the whole
+ # package not available on noMMU platforms.
+ depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
+ !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
+ !BR2_PACKAGE_ANDROID_TOOLS_ADB
+ help
+ This package contains the fastboot and adb utilities, that
+ can be used to interact with target devices using of these
+ protocols.
if BR2_PACKAGE_ANDROID_TOOLS
config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
- bool "fastboot"
- select BR2_PACKAGE_LIBSELINUX
- select BR2_PACKAGE_ZLIB
- help
- This option will build and install the fastboot utility for
- the target, which can be used to reflash other target devices
- implementing the fastboot protocol.
+ bool "fastboot"
+ select BR2_PACKAGE_LIBSELINUX
+ select BR2_PACKAGE_ZLIB
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
+ depends on !BR2_STATIC_LIBS # libselinux
+ depends on !BR2_arc # libselinux
+ help
+ This option will build and install the fastboot utility for
+ the target, which can be used to reflash other target devices
+ implementing the fastboot protocol.
+
+comment "fastboot needs a toolchain w/ threads, dynamic library"
+ depends on !BR2_arc
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_ANDROID_TOOLS_ADB
- bool "adb"
- select BR2_PACKAGE_OPENSSL
- select BR2_PACKAGE_ZLIB
- help
- This option will build and install the adb utility for the
- target, which can be used to interact with other target
- devices implementing the ADB protocol.
+ bool "adb"
+ depends on BR2_USE_MMU # uses fork()
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ This option will build and install the adb utility for the
+ target, which can be used to interact with other target
+ devices implementing the ADB protocol.
config BR2_PACKAGE_ANDROID_TOOLS_ADBD
- bool "adbd"
- select BR2_PACKAGE_OPENSSL
- select BR2_PACKAGE_ZLIB
- help
- This option will build and install the adbd utility for the
- target, which can be used to interact with a host machine
- implementing the ADB protocol.
+ bool "adbd"
+ depends on BR2_USE_MMU # uses fork()
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ This option will build and install the adbd utility for the
+ target, which can be used to interact with a host machine
+ implementing the ADB protocol.
endif
+
+comment "android-tools needs a toolchain w/ threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_HOST_ANDROID_TOOLS
- bool "host android-tools"
- select BR2_PACKAGE_ANDROID_TOOLS_ADB if \
- !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
- help
- This package contains the fastboot and adb utilities, that
- can be used to interact with target devices using of these
- protocols.
+ bool "host android-tools"
+ select BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB if \
+ !BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT
+ help
+ This package contains the fastboot and adb utilities, that
+ can be used to interact with target devices using of these
+ protocols.
if BR2_PACKAGE_HOST_ANDROID_TOOLS
config BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT
- bool "fastboot"
- help
- This option will build and install the fastboot utility for
- the host, which can be used to reflash target devices
- implementing the fastboot protocol.
+ bool "fastboot"
+ help
+ This option will build and install the fastboot utility for
+ the host, which can be used to reflash target devices
+ implementing the fastboot protocol.
config BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB
- bool "adb"
- help
- This option will build and install the adb utility for the
- host, which can be used to interact with target devices
- implementing the ADB protocol.
+ bool "adb"
+ help
+ This option will build and install the adb utility for the
+ host, which can be used to interact with target devices
+ implementing the ADB protocol.
endif
config BR2_PACKAGE_ASSIMP
bool "assimp"
+ # All gcc versions affected by
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that
+ # cause an infinite loop in gcc when building this package.
+ depends on !BR2_microblaze
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_ZLIB
help
http://www.assimp.org
comment "assimp needs a toolchain w/ C++"
+ depends on !BR2_microblaze
depends on !BR2_INSTALL_LIBSTDCPP
--- /dev/null
+From 7c136b4f1941e5bb2a6c8d93985c5734c6aefb29 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@writeme.com>
+Date: Sun, 22 May 2016 09:48:57 +0200
+Subject: [PATCH 1/1] tools/bneptest.c: Remove include linux/if_bridge.h to fix
+ musl build
+
+Inspired by busybox commit:
+https://git.busybox.net/busybox/commit/networking/brctl.c?id=5fa6d1a632505789409a2ba6cf8e112529f9db18
+
+The build error was found by the autobuilders of the buildroot project:
+http://autobuild.buildroot.net/results/eba/ebaa0bcb9c325aa6ed0bbd6c7ec75d44befa7645/build-end.log
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@writeme.com>
+(Patch sent upstream:
+ http://article.gmane.org/gmane.linux.bluez.kernel/67621)
+---
+ tools/bneptest.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/tools/bneptest.c b/tools/bneptest.c
+index 1404252..b832d72 100644
+--- a/tools/bneptest.c
++++ b/tools/bneptest.c
+@@ -36,7 +36,17 @@
+ #include <net/if.h>
+ #include <linux/sockios.h>
+ #include <netinet/in.h>
+-#include <linux/if_bridge.h>
++/* #include <linux/if_bridge.h>
++ * breaks on musl: we already included netinet/in.h,
++ * if we also include <linux/if_bridge.h> here, we get this:
++ * In file included from /usr/include/linux/if_bridge.h:18,
++ * from networking/brctl.c:67:
++ * /usr/include/linux/in6.h:32: error: redefinition of 'struct in6_addr'
++ * /usr/include/linux/in6.h:49: error: redefinition of 'struct sockaddr_in6'
++ * /usr/include/linux/in6.h:59: error: redefinition of 'struct ipv6_mreq'
++ */
++/* From <linux/if_bridge.h> */
++#define BRCTL_SET_BRIDGE_FORWARD_DELAY 8
+
+ #include <glib.h>
+
+--
+2.8.1
+
BLUEZ5_UTILS_LICENSE = GPLv2+, LGPLv2.1+
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
-# 0001-Link-mcaptest-with-lrt.patch
-BLUEZ5_UTILS_AUTORECONF = YES
-
BLUEZ5_UTILS_CONF_OPTS = \
--enable-tools \
--enable-library \
--- /dev/null
+Disable fenv.h in certain configurations
+
+The boost build system does not properly test whether fenv.h is
+available, and if it is, if it supports all the features used by
+Boost. This causes build failures with uClibc (reported upstream at
+https://svn.boost.org/trac/boost/ticket/11756) but also with glibc on
+specific architectures that don't have a full fenv implementation,
+such as NIOSII or Microblaze.
+
+To address this, we forcefully disable the use of fenv support in the
+affected configurations.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[Thomas: add Microblaze/NIOSII exclusions.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/boost/config/platform/linux.hpp
+===================================================================
+--- a/boost/config/platform/linux.hpp
++++ b/boost/config/platform/linux.hpp
+@@ -47,6 +47,16 @@
+ #endif
+
+ //
++// uClibc has no support for fenv.h, and also a few architectures
++// don't have fenv.h support at all (or incomplete support) even with
++// glibc.
++
++//
++#if defined(__UCLIBC__) || defined(__nios2__) || defined(__microblaze__)
++# define BOOST_NO_FENV_H
++#endif
++
++//
+ // If glibc is past version 2 then we definitely have
+ // gettimeofday, earlier versions may or may not have it:
+ //
+++ /dev/null
-Disable fenv.h support for uClibc-based toolchains.
-
-The boost build system does not recognize the fact that fenv.h is an
-optional module in uClibc and tries to use it even if UCLIBC_HAS_FENV
-is disabled. This patch disables fenv support completely when compiling
-with a uClibc-based toolchain. Bug was reported upstream:
-https://svn.boost.org/trac/boost/ticket/11756
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
---- boost_1_60_0.org/boost/config/platform/linux.hpp 2015-12-08 19:55:19.000000000 +0100
-+++ boost_1_60_0/boost/config/platform/linux.hpp 2016-02-06 12:35:25.692754553 +0100
-@@ -47,6 +47,13 @@
- #endif
-
- //
-+// uClibc has no support for fenv.h
-+//
-+#if defined(__UCLIBC__)
-+# define BOOST_NO_FENV_H
-+#endif
-+
-+//
- // If glibc is past version 2 then we definitely have
- // gettimeofday, earlier versions may or may not have it:
- //
#
# Automatically generated make config: don't edit
-# Busybox version: 1.24.1
-# Sat Mar 12 15:36:27 2016
+# Busybox version: 1.24.2
+# Mon May 9 18:42:38 2016
#
CONFIG_HAVE_DOT_CONFIG=y
#
# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
-# CONFIG_RUN_PARTS is not set
-# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
-# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+CONFIG_RUN_PARTS=y
+CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
+CONFIG_FEATURE_RUN_PARTS_FANCY=y
CONFIG_START_STOP_DAEMON=y
CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
# CONFIG_FEATURE_DIFF_DIR is not set
# CONFIG_ED is not set
# CONFIG_PATCH is not set
-# CONFIG_SED is not set
+CONFIG_SED=y
# CONFIG_VI is not set
CONFIG_FEATURE_VI_MAX_LEN=0
# CONFIG_FEATURE_VI_8BIT is not set
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
# CONFIG_NBDCLIENT is not set
-# CONFIG_NC is not set
-# CONFIG_NC_SERVER is not set
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
-# CONFIG_PING is not set
+CONFIG_PING=y
# CONFIG_PING6 is not set
# CONFIG_FEATURE_FANCY_PING is not set
-# CONFIG_WGET is not set
+CONFIG_WGET=y
# CONFIG_FEATURE_WGET_STATUSBAR is not set
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
# CONFIG_FEATURE_HTTPD_GZIP is not set
-# CONFIG_IFCONFIG is not set
-# CONFIG_FEATURE_IFCONFIG_STATUS is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
-# CONFIG_FEATURE_IFCONFIG_HW is not set
-# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
# CONFIG_IFENSLAVE is not set
# CONFIG_IFPLUGD is not set
-# CONFIG_IFUPDOWN is not set
-CONFIG_IFUPDOWN_IFSTATE_PATH=""
-# CONFIG_FEATURE_IFUPDOWN_IP is not set
-# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
+CONFIG_IFUPDOWN=y
+CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
+CONFIG_FEATURE_IFUPDOWN_IP=y
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
-# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
# CONFIG_INETD is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
# CONFIG_FEATURE_INETD_RPC is not set
-# CONFIG_IP is not set
-# CONFIG_FEATURE_IP_ADDRESS is not set
-# CONFIG_FEATURE_IP_LINK is not set
-# CONFIG_FEATURE_IP_ROUTE is not set
-CONFIG_FEATURE_IP_ROUTE_DIR=""
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
# CONFIG_FEATURE_IP_TUNNEL is not set
# CONFIG_FEATURE_IP_RULE is not set
-# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+CONFIG_FEATURE_IP_SHORT_FORMS=y
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-# CONFIG_IPADDR is not set
-# CONFIG_IPLINK is not set
-# CONFIG_IPROUTE is not set
+CONFIG_IPADDR=y
+CONFIG_IPLINK=y
+CONFIG_IPROUTE=y
# CONFIG_IPTUNNEL is not set
# CONFIG_IPRULE is not set
# CONFIG_IPCALC is not set
# CONFIG_FEATURE_IPCALC_FANCY is not set
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
-# CONFIG_NETSTAT is not set
+CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
-# CONFIG_FEATURE_NETSTAT_PRG is not set
+CONFIG_FEATURE_NETSTAT_PRG=y
# CONFIG_NSLOOKUP is not set
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_FEATURE_NTPD_CONF is not set
# CONFIG_PSCAN is not set
-# CONFIG_ROUTE is not set
+CONFIG_ROUTE=y
# CONFIG_SLATTACH is not set
# CONFIG_TCPSVD is not set
-# CONFIG_TELNET is not set
-# CONFIG_FEATURE_TELNET_TTYPE is not set
-# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
# CONFIG_TELNETD is not set
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
CONFIG_DHCPD_LEASES_FILE=""
-# CONFIG_UDHCPC is not set
+CONFIG_UDHCPC=y
# CONFIG_FEATURE_UDHCPC_ARPING is not set
-# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set
+CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=0
+CONFIG_UDHCP_DEBUG=9
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
+CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
+CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
# CONFIG_UDPSVD is not set
# CONFIG_VCONFIG is not set
# CONFIG_ZCIP is not set
+++ /dev/null
-Use some preprocessor tricks to route around incompatibilies seen
-between newer Linux kernels and glibc when both net/if.h and linux/if.h
-are included in the same source.
-
-Patch from gentoo, see https://bugs.gentoo.org/show_bug.cgi?id=577584
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
---- connman-1.31/src/iptables.c.old 2016-03-22 20:12:47.829460752 -0700
-+++ connman-1.31/src/iptables.c 2016-03-22 21:33:36.835384724 -0700
-@@ -28,11 +28,11 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
- #include <sys/errno.h>
- #include <sys/socket.h>
--#include <xtables.h>
-+#include "connman_xtables.h"
- #include <inttypes.h>
-
- #include <linux/netfilter_ipv4/ip_tables.h>
-
- #include "connman.h"
---- connman-1.31/src/firewall.c.old 2016-03-22 21:29:01.959472262 -0700
-+++ connman-1.31/src/firewall.c 2016-03-22 21:33:53.048144181 -0700
-@@ -23,11 +23,11 @@
- #include <config.h>
- #endif
-
- #include <errno.h>
-
--#include <xtables.h>
-+#include "connman_xtables.h"
- #include <linux/netfilter_ipv4/ip_tables.h>
-
- #include "connman.h"
-
- #define CHAIN_PREFIX "connman-"
---- /dev/null 2016-03-18 06:21:16.372989086 -0700
-+++ connman-1.31/include/connman_xtables.h 2016-03-22 21:32:21.349504786 -0700
-@@ -0,0 +1,20 @@
-+#ifndef CONNMAN_XTABLES_H
-+#define CONNMAN_XTABLES_H
-+
-+#include <linux/version.h>
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
-+#include <xtables.h>
-+#else
-+#ifdef __USE_MISC
-+#define GENTOO_USE_MISC __USE_MISC
-+#undef __USE_MISC
-+#endif
-+
-+#include <xtables.h>
-+
-+#ifdef GENTOO_USE_MISC
-+#define __USE_MISC GENTOO_USE_MISC
-+#undef GENTOO_USE_MISC
-+#endif
-+#endif
-+#endif
--- /dev/null
+Remove PIE flags from the build
+
+Generating a statically linked binary built with PIE requires the
+Scrt1.o file, which isn't part of Buildroot uClibc toolchains. To
+solve this, we simply disable the PIE flags.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/Makedefs.in
+===================================================================
+--- a/Makedefs.in
++++ b/Makedefs.in
+@@ -142,7 +142,7 @@
+ IPPFIND_MAN = @IPPFIND_MAN@
+ LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
+ -L../scheduler @LDARCHFLAGS@ \
+- @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
++ @LDFLAGS@ @RELROFLAGS@ $(OPTIM)
+ LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ)
+ LINKCUPSIMAGE = @LINKCUPSIMAGE@
+ LIBS = $(LINKCUPS) $(COMMONLIBS)
--- /dev/null
+From f5a2b8b78afb253630ee8833f16f131b3b52701e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= <pchmielowski@process-one.net>
+Date: Mon, 29 Feb 2016 10:56:32 +0100
+Subject: [PATCH] Stdint is required on windows
+
+[Backport from upstream commit
+4fc5cae81122540fff983e40dda1fa905c329fd0, which happens to not only
+fix the build on Windows, but also with the musl C library.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ c_src/stringprep.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/c_src/stringprep.cpp b/c_src/stringprep.cpp
+index 461cf09..26215cf 100644
+--- a/c_src/stringprep.cpp
++++ b/c_src/stringprep.cpp
+@@ -19,6 +19,7 @@
+ */
+
+ #include <string.h>
++#include <stdint.h>
+ #include <erl_nif.h>
+
+ #include "uni_data.c"
+--
+2.7.4
+
eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
and inotify.
- http://dev.gentoo.org/~blueness/eudev
+ https://wiki.gentoo.org/wiki/Project:Eudev
if BR2_PACKAGE_EUDEV
--- /dev/null
+From cdfcb1b5c95e93b00ae9e9d25708b4a3bee72c15 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Mon, 2 May 2016 00:02:44 +0200
+Subject: [PATCH] Address CVE-2016-0718 (/patch/ version 2.2.1)
+
+* Out of bounds memory access when doing text conversion on malformed input
+* Integer overflow related to memory allocation
+
+Reported by Gustavo Grieco
+
+Patch credits go to
+* Christian Heimes
+* Karl Waclawek
+* Gustavo Grieco
+* Sebastian Pipping
+* Pascal Cuoq
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+---
+ lib/xmlparse.c | 34 +++++++++-----
+ lib/xmltok.c | 115 +++++++++++++++++++++++++++++++++++-------------
+ lib/xmltok.h | 10 ++++-
+ lib/xmltok_impl.c | 62 +++++++++++++-------------
+ 4 files changed, 146 insertions(+), 75 deletions(-)
+
+diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
+index e308c79..13e080d 100644
+--- a/lib/xmlparse.c
++++ b/lib/xmlparse.c
+@@ -2426,11 +2426,11 @@ doContent(XML_Parser parser,
+ for (;;) {
+ int bufSize;
+ int convLen;
+- XmlConvert(enc,
++ const enum XML_Convert_Result convert_res = XmlConvert(enc,
+ &fromPtr, rawNameEnd,
+ (ICHAR **)&toPtr, (ICHAR *)tag->bufEnd - 1);
+ convLen = (int)(toPtr - (XML_Char *)tag->buf);
+- if (fromPtr == rawNameEnd) {
++ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) {
+ tag->name.strLen = convLen;
+ break;
+ }
+@@ -2651,11 +2651,11 @@ doContent(XML_Parser parser,
+ if (MUST_CONVERT(enc, s)) {
+ for (;;) {
+ ICHAR *dataPtr = (ICHAR *)dataBuf;
+- XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
++ const enum XML_Convert_Result convert_res = XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
+ *eventEndPP = s;
+ charDataHandler(handlerArg, dataBuf,
+ (int)(dataPtr - (ICHAR *)dataBuf));
+- if (s == next)
++ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE))
+ break;
+ *eventPP = s;
+ }
+@@ -3261,11 +3261,11 @@ doCdataSection(XML_Parser parser,
+ if (MUST_CONVERT(enc, s)) {
+ for (;;) {
+ ICHAR *dataPtr = (ICHAR *)dataBuf;
+- XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
++ const enum XML_Convert_Result convert_res = XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
+ *eventEndPP = next;
+ charDataHandler(handlerArg, dataBuf,
+ (int)(dataPtr - (ICHAR *)dataBuf));
+- if (s == next)
++ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE))
+ break;
+ *eventPP = s;
+ }
+@@ -5342,6 +5342,7 @@ reportDefault(XML_Parser parser, const ENCODING *enc,
+ const char *s, const char *end)
+ {
+ if (MUST_CONVERT(enc, s)) {
++ enum XML_Convert_Result convert_res;
+ const char **eventPP;
+ const char **eventEndPP;
+ if (enc == encoding) {
+@@ -5354,11 +5355,11 @@ reportDefault(XML_Parser parser, const ENCODING *enc,
+ }
+ do {
+ ICHAR *dataPtr = (ICHAR *)dataBuf;
+- XmlConvert(enc, &s, end, &dataPtr, (ICHAR *)dataBufEnd);
++ convert_res = XmlConvert(enc, &s, end, &dataPtr, (ICHAR *)dataBufEnd);
+ *eventEndPP = s;
+ defaultHandler(handlerArg, dataBuf, (int)(dataPtr - (ICHAR *)dataBuf));
+ *eventPP = s;
+- } while (s != end);
++ } while ((convert_res != XML_CONVERT_COMPLETED) && (convert_res != XML_CONVERT_INPUT_INCOMPLETE));
+ }
+ else
+ defaultHandler(handlerArg, (XML_Char *)s, (int)((XML_Char *)end - (XML_Char *)s));
+@@ -6163,8 +6164,8 @@ poolAppend(STRING_POOL *pool, const ENCODING *enc,
+ if (!pool->ptr && !poolGrow(pool))
+ return NULL;
+ for (;;) {
+- XmlConvert(enc, &ptr, end, (ICHAR **)&(pool->ptr), (ICHAR *)pool->end);
+- if (ptr == end)
++ const enum XML_Convert_Result convert_res = XmlConvert(enc, &ptr, end, (ICHAR **)&(pool->ptr), (ICHAR *)pool->end);
++ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE))
+ break;
+ if (!poolGrow(pool))
+ return NULL;
+@@ -6248,8 +6249,13 @@ poolGrow(STRING_POOL *pool)
+ }
+ }
+ if (pool->blocks && pool->start == pool->blocks->s) {
+- int blockSize = (int)(pool->end - pool->start)*2;
+- BLOCK *temp = (BLOCK *)
++ BLOCK *temp;
++ int blockSize = (int)((unsigned)(pool->end - pool->start)*2U);
++
++ if (blockSize < 0)
++ return XML_FALSE;
++
++ temp = (BLOCK *)
+ pool->mem->realloc_fcn(pool->blocks,
+ (offsetof(BLOCK, s)
+ + blockSize * sizeof(XML_Char)));
+@@ -6264,6 +6270,10 @@ poolGrow(STRING_POOL *pool)
+ else {
+ BLOCK *tem;
+ int blockSize = (int)(pool->end - pool->start);
++
++ if (blockSize < 0)
++ return XML_FALSE;
++
+ if (blockSize < INIT_BLOCK_SIZE)
+ blockSize = INIT_BLOCK_SIZE;
+ else
+diff --git a/expat/lib/xmltok.c b/expat/lib/xmltok.c
+index bf09dfc..cb98ce1 100644
+--- a/lib/xmltok.c
++++ b/lib/xmltok.c
+@@ -318,39 +318,55 @@ enum { /* UTF8_cvalN is value of masked first byte of N byte sequence */
+ UTF8_cval4 = 0xf0
+ };
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ utf8_toUtf8(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ char **toP, const char *toLim)
+ {
++ enum XML_Convert_Result res = XML_CONVERT_COMPLETED;
+ char *to;
+ const char *from;
+ if (fromLim - *fromP > toLim - *toP) {
+ /* Avoid copying partial characters. */
++ res = XML_CONVERT_OUTPUT_EXHAUSTED;
+ for (fromLim = *fromP + (toLim - *toP); fromLim > *fromP; fromLim--)
+ if (((unsigned char)fromLim[-1] & 0xc0) != 0x80)
+ break;
+ }
+- for (to = *toP, from = *fromP; from != fromLim; from++, to++)
++ for (to = *toP, from = *fromP; (from < fromLim) && (to < toLim); from++, to++)
+ *to = *from;
+ *fromP = from;
+ *toP = to;
++
++ if ((to == toLim) && (from < fromLim))
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
++ else
++ return res;
+ }
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ utf8_toUtf16(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ unsigned short **toP, const unsigned short *toLim)
+ {
++ enum XML_Convert_Result res = XML_CONVERT_COMPLETED;
+ unsigned short *to = *toP;
+ const char *from = *fromP;
+- while (from != fromLim && to != toLim) {
++ while (from < fromLim && to < toLim) {
+ switch (((struct normal_encoding *)enc)->type[(unsigned char)*from]) {
+ case BT_LEAD2:
++ if (fromLim - from < 2) {
++ res = XML_CONVERT_INPUT_INCOMPLETE;
++ break;
++ }
+ *to++ = (unsigned short)(((from[0] & 0x1f) << 6) | (from[1] & 0x3f));
+ from += 2;
+ break;
+ case BT_LEAD3:
++ if (fromLim - from < 3) {
++ res = XML_CONVERT_INPUT_INCOMPLETE;
++ break;
++ }
+ *to++ = (unsigned short)(((from[0] & 0xf) << 12)
+ | ((from[1] & 0x3f) << 6) | (from[2] & 0x3f));
+ from += 3;
+@@ -358,8 +374,14 @@ utf8_toUtf16(const ENCODING *enc,
+ case BT_LEAD4:
+ {
+ unsigned long n;
+- if (to + 1 == toLim)
++ if (toLim - to < 2) {
++ res = XML_CONVERT_OUTPUT_EXHAUSTED;
+ goto after;
++ }
++ if (fromLim - from < 4) {
++ res = XML_CONVERT_INPUT_INCOMPLETE;
++ goto after;
++ }
+ n = ((from[0] & 0x7) << 18) | ((from[1] & 0x3f) << 12)
+ | ((from[2] & 0x3f) << 6) | (from[3] & 0x3f);
+ n -= 0x10000;
+@@ -377,6 +399,7 @@ utf8_toUtf16(const ENCODING *enc,
+ after:
+ *fromP = from;
+ *toP = to;
++ return res;
+ }
+
+ #ifdef XML_NS
+@@ -425,7 +448,7 @@ static const struct normal_encoding internal_utf8_encoding = {
+ STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_)
+ };
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ latin1_toUtf8(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ char **toP, const char *toLim)
+@@ -433,30 +456,35 @@ latin1_toUtf8(const ENCODING *enc,
+ for (;;) {
+ unsigned char c;
+ if (*fromP == fromLim)
+- break;
++ return XML_CONVERT_COMPLETED;
+ c = (unsigned char)**fromP;
+ if (c & 0x80) {
+ if (toLim - *toP < 2)
+- break;
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
+ *(*toP)++ = (char)((c >> 6) | UTF8_cval2);
+ *(*toP)++ = (char)((c & 0x3f) | 0x80);
+ (*fromP)++;
+ }
+ else {
+ if (*toP == toLim)
+- break;
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
+ *(*toP)++ = *(*fromP)++;
+ }
+ }
+ }
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ latin1_toUtf16(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ unsigned short **toP, const unsigned short *toLim)
+ {
+- while (*fromP != fromLim && *toP != toLim)
++ while (*fromP < fromLim && *toP < toLim)
+ *(*toP)++ = (unsigned char)*(*fromP)++;
++
++ if ((*toP == toLim) && (*fromP < fromLim))
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
++ else
++ return XML_CONVERT_COMPLETED;
+ }
+
+ #ifdef XML_NS
+@@ -483,13 +511,18 @@ static const struct normal_encoding latin1_encoding = {
+ STANDARD_VTABLE(sb_)
+ };
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ ascii_toUtf8(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ char **toP, const char *toLim)
+ {
+- while (*fromP != fromLim && *toP != toLim)
++ while (*fromP < fromLim && *toP < toLim)
+ *(*toP)++ = *(*fromP)++;
++
++ if ((*toP == toLim) && (*fromP < fromLim))
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
++ else
++ return XML_CONVERT_COMPLETED;
+ }
+
+ #ifdef XML_NS
+@@ -536,13 +569,14 @@ unicode_byte_type(char hi, char lo)
+ }
+
+ #define DEFINE_UTF16_TO_UTF8(E) \
+-static void PTRCALL \
++static enum XML_Convert_Result PTRCALL \
+ E ## toUtf8(const ENCODING *enc, \
+ const char **fromP, const char *fromLim, \
+ char **toP, const char *toLim) \
+ { \
+- const char *from; \
+- for (from = *fromP; from != fromLim; from += 2) { \
++ const char *from = *fromP; \
++ fromLim = from + (((fromLim - from) >> 1) << 1); /* shrink to even */ \
++ for (; from < fromLim; from += 2) { \
+ int plane; \
+ unsigned char lo2; \
+ unsigned char lo = GET_LO(from); \
+@@ -552,7 +586,7 @@ E ## toUtf8(const ENCODING *enc, \
+ if (lo < 0x80) { \
+ if (*toP == toLim) { \
+ *fromP = from; \
+- return; \
++ return XML_CONVERT_OUTPUT_EXHAUSTED; \
+ } \
+ *(*toP)++ = lo; \
+ break; \
+@@ -562,7 +596,7 @@ E ## toUtf8(const ENCODING *enc, \
+ case 0x4: case 0x5: case 0x6: case 0x7: \
+ if (toLim - *toP < 2) { \
+ *fromP = from; \
+- return; \
++ return XML_CONVERT_OUTPUT_EXHAUSTED; \
+ } \
+ *(*toP)++ = ((lo >> 6) | (hi << 2) | UTF8_cval2); \
+ *(*toP)++ = ((lo & 0x3f) | 0x80); \
+@@ -570,7 +604,7 @@ E ## toUtf8(const ENCODING *enc, \
+ default: \
+ if (toLim - *toP < 3) { \
+ *fromP = from; \
+- return; \
++ return XML_CONVERT_OUTPUT_EXHAUSTED; \
+ } \
+ /* 16 bits divided 4, 6, 6 amongst 3 bytes */ \
+ *(*toP)++ = ((hi >> 4) | UTF8_cval3); \
+@@ -580,7 +614,11 @@ E ## toUtf8(const ENCODING *enc, \
+ case 0xD8: case 0xD9: case 0xDA: case 0xDB: \
+ if (toLim - *toP < 4) { \
+ *fromP = from; \
+- return; \
++ return XML_CONVERT_OUTPUT_EXHAUSTED; \
++ } \
++ if (fromLim - from < 4) { \
++ *fromP = from; \
++ return XML_CONVERT_INPUT_INCOMPLETE; \
+ } \
+ plane = (((hi & 0x3) << 2) | ((lo >> 6) & 0x3)) + 1; \
+ *(*toP)++ = ((plane >> 2) | UTF8_cval4); \
+@@ -596,20 +634,32 @@ E ## toUtf8(const ENCODING *enc, \
+ } \
+ } \
+ *fromP = from; \
++ if (from < fromLim) \
++ return XML_CONVERT_INPUT_INCOMPLETE; \
++ else \
++ return XML_CONVERT_COMPLETED; \
+ }
+
+ #define DEFINE_UTF16_TO_UTF16(E) \
+-static void PTRCALL \
++static enum XML_Convert_Result PTRCALL \
+ E ## toUtf16(const ENCODING *enc, \
+ const char **fromP, const char *fromLim, \
+ unsigned short **toP, const unsigned short *toLim) \
+ { \
++ enum XML_Convert_Result res = XML_CONVERT_COMPLETED; \
++ fromLim = *fromP + (((fromLim - *fromP) >> 1) << 1); /* shrink to even */ \
+ /* Avoid copying first half only of surrogate */ \
+ if (fromLim - *fromP > ((toLim - *toP) << 1) \
+- && (GET_HI(fromLim - 2) & 0xF8) == 0xD8) \
++ && (GET_HI(fromLim - 2) & 0xF8) == 0xD8) { \
+ fromLim -= 2; \
+- for (; *fromP != fromLim && *toP != toLim; *fromP += 2) \
++ res = XML_CONVERT_INPUT_INCOMPLETE; \
++ } \
++ for (; *fromP < fromLim && *toP < toLim; *fromP += 2) \
+ *(*toP)++ = (GET_HI(*fromP) << 8) | GET_LO(*fromP); \
++ if ((*toP == toLim) && (*fromP < fromLim)) \
++ return XML_CONVERT_OUTPUT_EXHAUSTED; \
++ else \
++ return res; \
+ }
+
+ #define SET2(ptr, ch) \
+@@ -1288,7 +1338,7 @@ unknown_isInvalid(const ENCODING *enc, const char *p)
+ return (c & ~0xFFFF) || checkCharRefNumber(c) < 0;
+ }
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ unknown_toUtf8(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ char **toP, const char *toLim)
+@@ -1299,21 +1349,21 @@ unknown_toUtf8(const ENCODING *enc,
+ const char *utf8;
+ int n;
+ if (*fromP == fromLim)
+- break;
++ return XML_CONVERT_COMPLETED;
+ utf8 = uenc->utf8[(unsigned char)**fromP];
+ n = *utf8++;
+ if (n == 0) {
+ int c = uenc->convert(uenc->userData, *fromP);
+ n = XmlUtf8Encode(c, buf);
+ if (n > toLim - *toP)
+- break;
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
+ utf8 = buf;
+ *fromP += (AS_NORMAL_ENCODING(enc)->type[(unsigned char)**fromP]
+ - (BT_LEAD2 - 2));
+ }
+ else {
+ if (n > toLim - *toP)
+- break;
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
+ (*fromP)++;
+ }
+ do {
+@@ -1322,13 +1372,13 @@ unknown_toUtf8(const ENCODING *enc,
+ }
+ }
+
+-static void PTRCALL
++static enum XML_Convert_Result PTRCALL
+ unknown_toUtf16(const ENCODING *enc,
+ const char **fromP, const char *fromLim,
+ unsigned short **toP, const unsigned short *toLim)
+ {
+ const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc);
+- while (*fromP != fromLim && *toP != toLim) {
++ while (*fromP < fromLim && *toP < toLim) {
+ unsigned short c = uenc->utf16[(unsigned char)**fromP];
+ if (c == 0) {
+ c = (unsigned short)
+@@ -1340,6 +1390,11 @@ unknown_toUtf16(const ENCODING *enc,
+ (*fromP)++;
+ *(*toP)++ = c;
+ }
++
++ if ((*toP == toLim) && (*fromP < fromLim))
++ return XML_CONVERT_OUTPUT_EXHAUSTED;
++ else
++ return XML_CONVERT_COMPLETED;
+ }
+
+ ENCODING *
+@@ -1503,7 +1558,7 @@ initScan(const ENCODING * const *encodingTable,
+ {
+ const ENCODING **encPtr;
+
+- if (ptr == end)
++ if (ptr >= end)
+ return XML_TOK_NONE;
+ encPtr = enc->encPtr;
+ if (ptr + 1 == end) {
+diff --git a/expat/lib/xmltok.h b/expat/lib/xmltok.h
+index ca867aa..752007e 100644
+--- a/lib/xmltok.h
++++ b/lib/xmltok.h
+@@ -130,6 +130,12 @@ typedef int (PTRCALL *SCANNER)(const ENCODING *,
+ const char *,
+ const char **);
+
++enum XML_Convert_Result {
++ XML_CONVERT_COMPLETED = 0,
++ XML_CONVERT_INPUT_INCOMPLETE = 1,
++ XML_CONVERT_OUTPUT_EXHAUSTED = 2 /* and therefore potentially input remaining as well */
++};
++
+ struct encoding {
+ SCANNER scanners[XML_N_STATES];
+ SCANNER literalScanners[XML_N_LITERAL_TYPES];
+@@ -158,12 +164,12 @@ struct encoding {
+ const char *ptr,
+ const char *end,
+ const char **badPtr);
+- void (PTRCALL *utf8Convert)(const ENCODING *enc,
++ enum XML_Convert_Result (PTRCALL *utf8Convert)(const ENCODING *enc,
+ const char **fromP,
+ const char *fromLim,
+ char **toP,
+ const char *toLim);
+- void (PTRCALL *utf16Convert)(const ENCODING *enc,
++ enum XML_Convert_Result (PTRCALL *utf16Convert)(const ENCODING *enc,
+ const char **fromP,
+ const char *fromLim,
+ unsigned short **toP,
+diff --git a/expat/lib/xmltok_impl.c b/expat/lib/xmltok_impl.c
+index 9c2895b..6c5a3ba 100644
+--- a/lib/xmltok_impl.c
++++ b/lib/xmltok_impl.c
+@@ -93,13 +93,13 @@ static int PTRCALL
+ PREFIX(scanComment)(const ENCODING *enc, const char *ptr,
+ const char *end, const char **nextTokPtr)
+ {
+- if (ptr != end) {
++ if (ptr < end) {
+ if (!CHAR_MATCHES(enc, ptr, ASCII_MINUS)) {
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+ ptr += MINBPC(enc);
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ INVALID_CASES(ptr, nextTokPtr)
+ case BT_MINUS:
+@@ -147,7 +147,7 @@ PREFIX(scanDecl)(const ENCODING *enc, const char *ptr,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ case BT_PERCNT:
+ if (ptr + MINBPC(enc) == end)
+@@ -233,7 +233,7 @@ PREFIX(scanPi)(const ENCODING *enc, const char *ptr,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ case BT_S: case BT_CR: case BT_LF:
+@@ -242,7 +242,7 @@ PREFIX(scanPi)(const ENCODING *enc, const char *ptr,
+ return XML_TOK_INVALID;
+ }
+ ptr += MINBPC(enc);
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ INVALID_CASES(ptr, nextTokPtr)
+ case BT_QUEST:
+@@ -305,7 +305,7 @@ static int PTRCALL
+ PREFIX(cdataSectionTok)(const ENCODING *enc, const char *ptr,
+ const char *end, const char **nextTokPtr)
+ {
+- if (ptr == end)
++ if (ptr >= end)
+ return XML_TOK_NONE;
+ if (MINBPC(enc) > 1) {
+ size_t n = end - ptr;
+@@ -348,7 +348,7 @@ PREFIX(cdataSectionTok)(const ENCODING *enc, const char *ptr,
+ ptr += MINBPC(enc);
+ break;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: \
+@@ -391,11 +391,11 @@ PREFIX(scanEndTag)(const ENCODING *enc, const char *ptr,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ case BT_S: case BT_CR: case BT_LF:
+- for (ptr += MINBPC(enc); ptr != end; ptr += MINBPC(enc)) {
++ for (ptr += MINBPC(enc); ptr < end; ptr += MINBPC(enc)) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ case BT_S: case BT_CR: case BT_LF:
+ break;
+@@ -432,7 +432,7 @@ static int PTRCALL
+ PREFIX(scanHexCharRef)(const ENCODING *enc, const char *ptr,
+ const char *end, const char **nextTokPtr)
+ {
+- if (ptr != end) {
++ if (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ case BT_DIGIT:
+ case BT_HEX:
+@@ -441,7 +441,7 @@ PREFIX(scanHexCharRef)(const ENCODING *enc, const char *ptr,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- for (ptr += MINBPC(enc); ptr != end; ptr += MINBPC(enc)) {
++ for (ptr += MINBPC(enc); ptr < end; ptr += MINBPC(enc)) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ case BT_DIGIT:
+ case BT_HEX:
+@@ -464,7 +464,7 @@ static int PTRCALL
+ PREFIX(scanCharRef)(const ENCODING *enc, const char *ptr,
+ const char *end, const char **nextTokPtr)
+ {
+- if (ptr != end) {
++ if (ptr < end) {
+ if (CHAR_MATCHES(enc, ptr, ASCII_x))
+ return PREFIX(scanHexCharRef)(enc, ptr + MINBPC(enc), end, nextTokPtr);
+ switch (BYTE_TYPE(enc, ptr)) {
+@@ -474,7 +474,7 @@ PREFIX(scanCharRef)(const ENCODING *enc, const char *ptr,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- for (ptr += MINBPC(enc); ptr != end; ptr += MINBPC(enc)) {
++ for (ptr += MINBPC(enc); ptr < end; ptr += MINBPC(enc)) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ case BT_DIGIT:
+ break;
+@@ -506,7 +506,7 @@ PREFIX(scanRef)(const ENCODING *enc, const char *ptr, const char *end,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ case BT_SEMI:
+@@ -529,7 +529,7 @@ PREFIX(scanAtts)(const ENCODING *enc, const char *ptr, const char *end,
+ #ifdef XML_NS
+ int hadColon = 0;
+ #endif
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ #ifdef XML_NS
+@@ -716,7 +716,7 @@ PREFIX(scanLt)(const ENCODING *enc, const char *ptr, const char *end,
+ hadColon = 0;
+ #endif
+ /* we have a start-tag */
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ #ifdef XML_NS
+@@ -740,7 +740,7 @@ PREFIX(scanLt)(const ENCODING *enc, const char *ptr, const char *end,
+ case BT_S: case BT_CR: case BT_LF:
+ {
+ ptr += MINBPC(enc);
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
+ case BT_GT:
+@@ -785,7 +785,7 @@ static int PTRCALL
+ PREFIX(contentTok)(const ENCODING *enc, const char *ptr, const char *end,
+ const char **nextTokPtr)
+ {
+- if (ptr == end)
++ if (ptr >= end)
+ return XML_TOK_NONE;
+ if (MINBPC(enc) > 1) {
+ size_t n = end - ptr;
+@@ -832,7 +832,7 @@ PREFIX(contentTok)(const ENCODING *enc, const char *ptr, const char *end,
+ ptr += MINBPC(enc);
+ break;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: \
+@@ -895,7 +895,7 @@ PREFIX(scanPercent)(const ENCODING *enc, const char *ptr, const char *end,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ case BT_SEMI:
+@@ -921,7 +921,7 @@ PREFIX(scanPoundName)(const ENCODING *enc, const char *ptr, const char *end,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ case BT_CR: case BT_LF: case BT_S:
+@@ -941,7 +941,7 @@ PREFIX(scanLit)(int open, const ENCODING *enc,
+ const char *ptr, const char *end,
+ const char **nextTokPtr)
+ {
+- while (ptr != end) {
++ while (ptr < end) {
+ int t = BYTE_TYPE(enc, ptr);
+ switch (t) {
+ INVALID_CASES(ptr, nextTokPtr)
+@@ -973,7 +973,7 @@ PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end,
+ const char **nextTokPtr)
+ {
+ int tok;
+- if (ptr == end)
++ if (ptr >= end)
+ return XML_TOK_NONE;
+ if (MINBPC(enc) > 1) {
+ size_t n = end - ptr;
+@@ -1141,7 +1141,7 @@ PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end,
+ *nextTokPtr = ptr;
+ return XML_TOK_INVALID;
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
+ case BT_GT: case BT_RPAR: case BT_COMMA:
+@@ -1204,10 +1204,10 @@ PREFIX(attributeValueTok)(const ENCODING *enc, const char *ptr,
+ const char *end, const char **nextTokPtr)
+ {
+ const char *start;
+- if (ptr == end)
++ if (ptr >= end)
+ return XML_TOK_NONE;
+ start = ptr;
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: ptr += n; break;
+@@ -1262,10 +1262,10 @@ PREFIX(entityValueTok)(const ENCODING *enc, const char *ptr,
+ const char *end, const char **nextTokPtr)
+ {
+ const char *start;
+- if (ptr == end)
++ if (ptr >= end)
+ return XML_TOK_NONE;
+ start = ptr;
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: ptr += n; break;
+@@ -1326,7 +1326,7 @@ PREFIX(ignoreSectionTok)(const ENCODING *enc, const char *ptr,
+ end = ptr + n;
+ }
+ }
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ INVALID_CASES(ptr, nextTokPtr)
+ case BT_LT:
+@@ -1373,7 +1373,7 @@ PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,
+ {
+ ptr += MINBPC(enc);
+ end -= MINBPC(enc);
+- for (; ptr != end; ptr += MINBPC(enc)) {
++ for (; ptr < end; ptr += MINBPC(enc)) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ case BT_DIGIT:
+ case BT_HEX:
+@@ -1760,7 +1760,7 @@ PREFIX(updatePosition)(const ENCODING *enc,
+ case BT_CR:
+ pos->lineNumber++;
+ ptr += MINBPC(enc);
+- if (ptr != end && BYTE_TYPE(enc, ptr) == BT_LF)
++ if (ptr < end && BYTE_TYPE(enc, ptr) == BT_LF)
+ ptr += MINBPC(enc);
+ pos->columnNumber = (XML_Size)-1;
+ break;
+--
+2.8.2
+
+config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
+ bool
+ # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
+ # ffmpeg's configure script only supports mips64 (r1) variant
+ default y if !BR2_nios2 && !BR2_mips_64r2 && !BR2_mips_64r6
+
menuconfig BR2_PACKAGE_FFMPEG
bool "ffmpeg"
- # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
- depends on !BR2_nios2
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
help
FFmpeg is a complete, cross-platform solution to record, convert
and stream audio and video.
bool "flann"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
+ # all gcc versions fail to build flann on Microblaze due to
+ # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69401
+ depends on !BR2_microblaze
help
FLANN is a library for performing fast approximate nearest
neighbor searches in high dimensional spaces. It contains a
endif
comment "flann needs a toolchain w/ C++, dynamic library"
+ depends on !BR2_microblaze
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
--- /dev/null
+# Locally calculated
+sha256 3fec86866987c792c3fce7ecc8ba9d09a003f5d2d1a1ad94864550aad73a5c0b flann-3645f0c30a47267e56e5acdecfc7bac2b76bc3d5.tar.gz
#
################################################################################
-FLANN_VERSION = 04b4a56533faf8c8228d011d05ba376038364b49
+FLANN_VERSION = 3645f0c30a47267e56e5acdecfc7bac2b76bc3d5
FLANN_SITE = $(call github,mariusmuja,flann,$(FLANN_VERSION))
FLANN_INSTALL_STAGING = YES
FLANN_LICENSE = BSD-3c
+comment "flannel needs a toolchain w/ threads"
+ depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_FLANNEL
bool "flannel"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
help
Flannel is a virtual network that gives a subnet to each
host for use with container runtimes.
FLANNEL_DEPENDENCIES = host-go
FLANNEL_MAKE_ENV = \
+ $(HOST_GO_TARGET_ENV) \
GOBIN="$(@D)/bin" \
GOPATH="$(@D)/gopath" \
- GOARCH=$(GO_GOARCH) \
CGO_ENABLED=1
FLANNEL_GLDFLAGS = \
+++ /dev/null
-Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc
-
-From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001
-From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
-Date: Mon, 18 Jun 2012 20:18:13 +0200
-Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support.
-
-Changelog
-
-2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
- David Holsgrove <david.holsgrove@xilinx.com>
-
- * common/config/microblaze/microblaze-common.c: Remove
- TARGET_EXCEPT_UNWIND_INFO definition.
- * config/microblaze/microblaze-protos.h: Add
- microblaze_eh_return prototype.
- * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register,
- microblaze_expand_epilogue, microblaze_return_addr): Handle
- calls_eh_return
- (microblaze_eh_return): New function.
- * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET,
- EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX,
- ASM_PREFERRED_EH_DATA_FORMAT
- * gcc/config/microblaze/microblaze.md: Define eh_return pattern.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
----
- gcc/common/config/microblaze/microblaze-common.c | 3 ---
- gcc/config/microblaze/microblaze-protos.h | 1 +
- gcc/config/microblaze/microblaze.c | 29 ++++++++++++++++++++----
- gcc/config/microblaze/microblaze.h | 15 ++++++++++++
- gcc/config/microblaze/microblaze.md | 11 +++++++++
- 5 files changed, 52 insertions(+), 7 deletions(-)
-
-Index: b/gcc/common/config/microblaze/microblaze-common.c
-===================================================================
---- a/gcc/common/config/microblaze/microblaze-common.c
-+++ b/gcc/common/config/microblaze/microblaze-common.c
-@@ -37,7 +37,4 @@
- #undef TARGET_OPTION_OPTIMIZATION_TABLE
- #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
-
--#undef TARGET_EXCEPT_UNWIND_INFO
--#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
--
- struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
-Index: b/gcc/config/microblaze/microblaze-protos.h
-===================================================================
---- a/gcc/config/microblaze/microblaze-protos.h
-+++ b/gcc/config/microblaze/microblaze-protos.h
-@@ -57,6 +57,7 @@
- extern int symbol_mentioned_p (rtx);
- extern int label_mentioned_p (rtx);
- extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
-+extern void microblaze_eh_return (rtx op0);
- #endif /* RTX_CODE */
-
- /* Declare functions in microblaze-c.c. */
-Index: b/gcc/config/microblaze/microblaze.c
-===================================================================
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -1924,6 +1924,11 @@
- if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM))
- return 1;
-
-+ if (crtl->calls_eh_return
-+ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) {
-+ return 1;
-+ }
-+
- if (!crtl->is_leaf)
- {
- if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM)
-@@ -1951,6 +1956,13 @@
- return 1;
- }
-
-+ if (crtl->calls_eh_return
-+ && (regno == EH_RETURN_DATA_REGNO (0)
-+ || regno == EH_RETURN_DATA_REGNO (1)))
-+ {
-+ return 1;
-+ }
-+
- return 0;
- }
-
-@@ -3027,6 +3039,12 @@
- emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
- }
-
-+ if (crtl->calls_eh_return)
-+ emit_insn (gen_addsi3 (stack_pointer_rtx,
-+ stack_pointer_rtx,
-+ gen_rtx_raw_REG (SImode,
-+ MB_EH_STACKADJ_REGNUM)));
-+
- emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
- MB_ABI_SUB_RETURN_ADDR_REGNUM)));
- }
-@@ -3324,10 +3342,13 @@
- if (count != 0)
- return NULL_RTX;
-
-- return gen_rtx_PLUS (Pmode,
-- get_hard_reg_initial_val (Pmode,
-- MB_ABI_SUB_RETURN_ADDR_REGNUM),
-- GEN_INT (8));
-+ return get_hard_reg_initial_val (Pmode,
-+ MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+}
-+
-+void microblaze_eh_return (rtx op0)
-+{
-+ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0));
- }
-
- /* Queue an .ident string in the queue of top-level asm statements.
-Index: b/gcc/config/microblaze/microblaze.h
-===================================================================
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -184,6 +184,21 @@
- #define INCOMING_RETURN_ADDR_RTX \
- gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)
-
-+/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */
-+#define RETURN_ADDR_OFFSET (8)
-+
-+/* Describe how we implement __builtin_eh_return. */
-+#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM)
-+
-+#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM
-+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM)
-+
-+/* Select a format to encode pointers in exception handling data. CODE
-+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
-+ true if the symbol may be affected by dynamic relocations. */
-+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
-+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
-+
- /* Use DWARF 2 debugging information by default. */
- #define DWARF2_DEBUGGING_INFO
- #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-Index: b/gcc/config/microblaze/microblaze.md
-===================================================================
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2324,4 +2324,15 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
-+; This is used in compiling the unwind routines.
-+(define_expand "eh_return"
-+ [(use (match_operand 0 "general_operand" ""))]
-+ ""
-+ "
-+{
-+ microblaze_eh_return(operands[0]);
-+ DONE;
-+}")
-+
- (include "sync.md")
-+
depends on !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
depends on !BR2_GCC_VERSION_4_9_X
depends on !BR2_GCC_VERSION_5_X
+ depends on !BR2_GCC_VERSION_6_X
help
libmudflap is a gcc library used for the mudflap pointer
debugging functionality. It is only needed if you intend to
bool
default y
select BR2_PACKAGE_LINUX_HEADERS
+ select BR2_TOOLCHAIN_HAS_SSP
choice
prompt "glibc version"
bool "2.22"
# No support for pthread barriers on < v9 ISA
depends on !BR2_sparc
+ # Too old to build with gcc >= 6.x
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_6
config BR2_GLIBC_VERSION_2_23
bool "2.23"
config BR2_PACKAGE_GLMARK2_GL
bool
default y
+ depends on BR2_PACKAGE_HAS_LIBGL
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER
comment "glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d"
depends on BR2_USE_WCHAR # gstreamer1 -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer1 -> libglib2, libupnp
depends on BR2_USE_MMU # gstreamer1
+ # uses <error.h>
+ depends on !BR2_TOOLCHAIN_USES_MUSL
select BR2_PACKAGE_GSTREAMER1
select BR2_PACKAGE_GST1_PLUGINS_BASE # run-time only
select BR2_PACKAGE_LIBUPNP
https://github.com/hzeller/gmrender-resurrect
-comment "gmrender-resurrect needs a toolchain w/ wchar, threads"
+comment "gmrender-resurrect needs an (e)glibc or uClibc toolchain w/ wchar, threads"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_TOOLCHAIN_USES_MUSL
GO_BOOTSTRAP_LICENSE = BSD-3c
GO_BOOTSTRAP_LICENSE_FILES = LICENSE
+# To build programs that need cgo support the toolchain needs to be
+# available, so the toolchain is not needed to build host-go-bootstrap
+# itself, but needed by other packages that depend on
+# host-go-bootstrap.
+HOST_GO_BOOTSTRAP_DEPENDENCIES = toolchain
+
HOST_GO_BOOTSTRAP_ROOT = $(HOST_DIR)/usr/lib/go-$(GO_BOOTSTRAP_VERSION)
HOST_GO_BOOTSTRAP_MAKE_ENV = \
GOOS=linux \
GOROOT_FINAL="$(HOST_GO_BOOTSTRAP_ROOT)" \
GOROOT="$(@D)" \
- GOBIN="$(@D)/bin"
+ GOBIN="$(@D)/bin" \
+ CGO_ENABLED=0
define HOST_GO_BOOTSTRAP_BUILD_CMDS
cd $(@D)/src && $(HOST_GO_BOOTSTRAP_MAKE_ENV) ./make.bash
config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
bool
default y
- depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_powerpc
+ depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_powerpc64 || BR2_powerpc64le
depends on !BR2_ARM_CPU_ARMV4
GO_GOARCH = 386
else ifeq ($(BR2_x86_64),y)
GO_GOARCH = amd64
-else ifeq ($(BR2_powerpc),y)
+else ifeq ($(BR2_powerpc64),y)
GO_GOARCH = ppc64
+else ifeq ($(BR2_powerpc64le),y)
+GO_GOARCH = ppc64le
endif
HOST_GO_DEPENDENCIES = host-go-bootstrap
HOST_GO_ROOT = $(HOST_DIR)/usr/lib/go
+# For the convienience of target packages.
+HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH)
+HOST_GO_TARGET_ENV = \
+ GOARCH=$(GO_GOARCH) \
+ GOROOT="$(HOST_GO_ROOT)" \
+ CC="$(TARGET_CC)" \
+ CXX="$(TARGET_CXX)" \
+ GOTOOLDIR="$(HOST_GO_TOOLDIR)"
+
+# The go compiler's cgo support uses threads. If BR2_TOOLCHAIN_HAS_THREADS is
+# set, build in cgo support for any go programs that may need it. Note that
+# any target package needing cgo support must include
+# 'depends on BR2_TOOLCHAIN_HAS_THREADS' in its config file.
+ifeq (BR2_TOOLCHAIN_HAS_THREADS,y)
+HOST_GO_CGO_ENABLED = 1
+else
+HOST_GO_CGO_ENABLED = 0
+endif
+
+# The go build system doesn't have the notion of cross compiling, but just the
+# notion of architecture. When the host and target architectures are different
+# it expects to be given a target cross compiler in CC_FOR_TARGET. When the
+# architectures are the same it will use CC_FOR_TARGET for both host and target
+# compilation. To work around this limitation build and install a set of
+# compiler and tool binaries built with CC_FOR_TARGET set to the host compiler.
+# Also, the go build system is not compatible with ccache, so use
+# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
HOST_GO_MAKE_ENV = \
GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_ROOT) \
GOROOT_FINAL=$(HOST_GO_ROOT) \
GOARCH=$(GO_GOARCH) \
$(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
GOOS=linux \
- CGO_ENABLED=1 \
- CC_FOR_TARGET=$(TARGET_CC) \
- CXX_FOR_TARGET=$(TARGET_CXX)
+ CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
+ CC=$(HOSTCC_NOCCACHE)
+
+HOST_GO_TARGET_CC = \
+ CC_FOR_TARGET="$(TARGET_CC)" \
+ CXX_FOR_TARGET="$(TARGET_CXX)"
+
+HOST_GO_HOST_CC = \
+ CC_FOR_TARGET=$(HOSTCC_NOCCACHE) \
+ CXX_FOR_TARGET=$(HOSTCC_NOCCACHE)
+
+HOST_GO_TMP = $(@D)/host-go-tmp
define HOST_GO_BUILD_CMDS
- cd $(@D)/src && $(HOST_GO_MAKE_ENV) ./make.bash
+ cd $(@D)/src && $(HOST_GO_MAKE_ENV) $(HOST_GO_HOST_CC) ./make.bash
+ mkdir -p $(HOST_GO_TMP)
+ mv $(@D)/pkg/tool $(HOST_GO_TMP)/
+ mv $(@D)/bin/ $(HOST_GO_TMP)/
+ cd $(@D)/src && $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) ./make.bash
endef
define HOST_GO_INSTALL_CMDS
- $(INSTALL) -D -m 0755 $(@D)/bin/go $(HOST_GO_ROOT)/bin/go
- $(INSTALL) -D -m 0755 $(@D)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt
+ $(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/go $(HOST_GO_ROOT)/bin/go
+ $(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt
ln -sf ../lib/go/bin/go $(HOST_DIR)/usr/bin/
ln -sf ../lib/go/bin/gofmt $(HOST_DIR)/usr/bin/
mkdir -p $(HOST_GO_ROOT)/pkg
cp -a $(@D)/pkg/include $(@D)/pkg/linux_* $(HOST_GO_ROOT)/pkg/
- cp -a $(@D)/pkg/tool $(HOST_GO_ROOT)/pkg/
+ cp -a $(HOST_GO_TMP)/tool $(HOST_GO_ROOT)/pkg/
# There is a known issue which requires the go sources to be installed
# https://golang.org/issue/2775
cp -a $(@D)/src $(HOST_GO_ROOT)/
+
+ # Set all file timestamps to prevent the go compiler from rebuilding any
+ # built in packages when programs are built.
+ find $(HOST_GO_ROOT) -type f -exec touch -r $(HOST_GO_TMP)/bin/go {} \;
endef
$(eval $(host-generic-package))
depends on (BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT && BR2_PACKAGE_QT) || \
(BR2_PACKAGE_QT5_JSCORE_AVAILABLE && BR2_PACKAGE_QT5)
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=20173
+ depends on !BR2_microblaze && !BR2_nios2
select BR2_PACKAGE_QT_STL if BR2_PACKAGE_QT
select BR2_PACKAGE_QT_SCRIPT if BR2_PACKAGE_QT
select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT
comment "grantlee needs a toolchain with NPTL not affected by Binutils bug 19405"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on !BR2_microblaze && !BR2_nios2
depends on (BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT && BR2_PACKAGE_QT) || \
(BR2_PACKAGE_QT5_JSCORE_AVAILABLE && BR2_PACKAGE_QT5) || \
BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405
# Unsupported for MIPS R6. It bundles a version of libav which
# doesn't have support for MIPS R6.
depends on !BR2_mips_32r6 && !BR2_mips_64r6
+ # triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
select BR2_PACKAGE_GST_PLUGINS_BASE
help
GStreamer plugin containing one plugin with a set of elements using
be under GPL.
endif
+
+comment "gst-ffmpeg needs a toolchain w/ gcc >= 5"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
config BR2_PACKAGE_GST1_LIBAV
bool "gst1-libav"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE
select BR2_PACKAGE_GST1_PLUGINS_BASE
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
- hidtest/Makefile.am | 6 +++---
- hidtest/{hidtest.cpp => hidtest.c} | 0
- 2 files changed, 3 insertions(+), 3 deletions(-)
- rename hidtest/{hidtest.cpp => hidtest.c} (100%)
+ hidtest/Makefile.am | 6 +-
+ hidtest/hidtest.c | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ hidtest/hidtest.cpp | 194 ----------------------------------------------------
+ 3 files changed, 197 insertions(+), 197 deletions(-)
+ create mode 100644 hidtest/hidtest.c
+ delete mode 100644 hidtest/hidtest.cpp
diff --git a/hidtest/Makefile.am b/hidtest/Makefile.am
index d278644..5f52c3f 100644
hidtest_LDADD = $(top_builddir)/$(backend)/libhidapi.la
endif
-diff --git a/hidtest/hidtest.cpp b/hidtest/hidtest.c
-similarity index 100%
-rename from hidtest/hidtest.cpp
-rename to hidtest/hidtest.c
+diff --git a/hidtest/hidtest.c b/hidtest/hidtest.c
+new file mode 100644
+index 0000000..94f0a5c
+--- /dev/null
++++ b/hidtest/hidtest.c
+@@ -0,0 +1,194 @@
++/*******************************************************
++ Windows HID simplification
++
++ Alan Ott
++ Signal 11 Software
++
++ 8/22/2009
++
++ Copyright 2009
++
++ This contents of this file may be used by anyone
++ for any reason without any conditions and may be
++ used as a starting point for your own applications
++ which use HIDAPI.
++********************************************************/
++
++#include <stdio.h>
++#include <wchar.h>
++#include <string.h>
++#include <stdlib.h>
++#include "hidapi.h"
++
++// Headers needed for sleeping.
++#ifdef _WIN32
++ #include <windows.h>
++#else
++ #include <unistd.h>
++#endif
++
++int main(int argc, char* argv[])
++{
++ int res;
++ unsigned char buf[256];
++ #define MAX_STR 255
++ wchar_t wstr[MAX_STR];
++ hid_device *handle;
++ int i;
++
++#ifdef WIN32
++ UNREFERENCED_PARAMETER(argc);
++ UNREFERENCED_PARAMETER(argv);
++#endif
++
++ struct hid_device_info *devs, *cur_dev;
++
++ if (hid_init())
++ return -1;
++
++ devs = hid_enumerate(0x0, 0x0);
++ cur_dev = devs;
++ while (cur_dev) {
++ printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number);
++ printf("\n");
++ printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string);
++ printf(" Product: %ls\n", cur_dev->product_string);
++ printf(" Release: %hx\n", cur_dev->release_number);
++ printf(" Interface: %d\n", cur_dev->interface_number);
++ printf("\n");
++ cur_dev = cur_dev->next;
++ }
++ hid_free_enumeration(devs);
++
++ // Set up the command buffer.
++ memset(buf,0x00,sizeof(buf));
++ buf[0] = 0x01;
++ buf[1] = 0x81;
++
++
++ // Open the device using the VID, PID,
++ // and optionally the Serial number.
++ ////handle = hid_open(0x4d8, 0x3f, L"12345");
++ handle = hid_open(0x4d8, 0x3f, NULL);
++ if (!handle) {
++ printf("unable to open device\n");
++ return 1;
++ }
++
++ // Read the Manufacturer String
++ wstr[0] = 0x0000;
++ res = hid_get_manufacturer_string(handle, wstr, MAX_STR);
++ if (res < 0)
++ printf("Unable to read manufacturer string\n");
++ printf("Manufacturer String: %ls\n", wstr);
++
++ // Read the Product String
++ wstr[0] = 0x0000;
++ res = hid_get_product_string(handle, wstr, MAX_STR);
++ if (res < 0)
++ printf("Unable to read product string\n");
++ printf("Product String: %ls\n", wstr);
++
++ // Read the Serial Number String
++ wstr[0] = 0x0000;
++ res = hid_get_serial_number_string(handle, wstr, MAX_STR);
++ if (res < 0)
++ printf("Unable to read serial number string\n");
++ printf("Serial Number String: (%d) %ls", wstr[0], wstr);
++ printf("\n");
++
++ // Read Indexed String 1
++ wstr[0] = 0x0000;
++ res = hid_get_indexed_string(handle, 1, wstr, MAX_STR);
++ if (res < 0)
++ printf("Unable to read indexed string 1\n");
++ printf("Indexed String 1: %ls\n", wstr);
++
++ // Set the hid_read() function to be non-blocking.
++ hid_set_nonblocking(handle, 1);
++
++ // Try to read from the device. There shoud be no
++ // data here, but execution should not block.
++ res = hid_read(handle, buf, 17);
++
++ // Send a Feature Report to the device
++ buf[0] = 0x2;
++ buf[1] = 0xa0;
++ buf[2] = 0x0a;
++ buf[3] = 0x00;
++ buf[4] = 0x00;
++ res = hid_send_feature_report(handle, buf, 17);
++ if (res < 0) {
++ printf("Unable to send a feature report.\n");
++ }
++
++ memset(buf,0,sizeof(buf));
++
++ // Read a Feature Report from the device
++ buf[0] = 0x2;
++ res = hid_get_feature_report(handle, buf, sizeof(buf));
++ if (res < 0) {
++ printf("Unable to get a feature report.\n");
++ printf("%ls", hid_error(handle));
++ }
++ else {
++ // Print out the returned buffer.
++ printf("Feature Report\n ");
++ for (i = 0; i < res; i++)
++ printf("%02hhx ", buf[i]);
++ printf("\n");
++ }
++
++ memset(buf,0,sizeof(buf));
++
++ // Toggle LED (cmd 0x80). The first byte is the report number (0x1).
++ buf[0] = 0x1;
++ buf[1] = 0x80;
++ res = hid_write(handle, buf, 17);
++ if (res < 0) {
++ printf("Unable to write()\n");
++ printf("Error: %ls\n", hid_error(handle));
++ }
++
++
++ // Request state (cmd 0x81). The first byte is the report number (0x1).
++ buf[0] = 0x1;
++ buf[1] = 0x81;
++ hid_write(handle, buf, 17);
++ if (res < 0)
++ printf("Unable to write() (2)\n");
++
++ // Read requested state. hid_read() has been set to be
++ // non-blocking by the call to hid_set_nonblocking() above.
++ // This loop demonstrates the non-blocking nature of hid_read().
++ res = 0;
++ while (res == 0) {
++ res = hid_read(handle, buf, sizeof(buf));
++ if (res == 0)
++ printf("waiting...\n");
++ if (res < 0)
++ printf("Unable to read()\n");
++ #ifdef WIN32
++ Sleep(500);
++ #else
++ usleep(500*1000);
++ #endif
++ }
++
++ printf("Data read:\n ");
++ // Print out the returned buffer.
++ for (i = 0; i < res; i++)
++ printf("%02hhx ", buf[i]);
++ printf("\n");
++
++ hid_close(handle);
++
++ /* Free static HIDAPI objects. */
++ hid_exit();
++
++#ifdef WIN32
++ system("pause");
++#endif
++
++ return 0;
++}
+diff --git a/hidtest/hidtest.cpp b/hidtest/hidtest.cpp
+deleted file mode 100644
+index 94f0a5c..0000000
+--- a/hidtest/hidtest.cpp
++++ /dev/null
+@@ -1,194 +0,0 @@
+-/*******************************************************
+- Windows HID simplification
+-
+- Alan Ott
+- Signal 11 Software
+-
+- 8/22/2009
+-
+- Copyright 2009
+-
+- This contents of this file may be used by anyone
+- for any reason without any conditions and may be
+- used as a starting point for your own applications
+- which use HIDAPI.
+-********************************************************/
+-
+-#include <stdio.h>
+-#include <wchar.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include "hidapi.h"
+-
+-// Headers needed for sleeping.
+-#ifdef _WIN32
+- #include <windows.h>
+-#else
+- #include <unistd.h>
+-#endif
+-
+-int main(int argc, char* argv[])
+-{
+- int res;
+- unsigned char buf[256];
+- #define MAX_STR 255
+- wchar_t wstr[MAX_STR];
+- hid_device *handle;
+- int i;
+-
+-#ifdef WIN32
+- UNREFERENCED_PARAMETER(argc);
+- UNREFERENCED_PARAMETER(argv);
+-#endif
+-
+- struct hid_device_info *devs, *cur_dev;
+-
+- if (hid_init())
+- return -1;
+-
+- devs = hid_enumerate(0x0, 0x0);
+- cur_dev = devs;
+- while (cur_dev) {
+- printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number);
+- printf("\n");
+- printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string);
+- printf(" Product: %ls\n", cur_dev->product_string);
+- printf(" Release: %hx\n", cur_dev->release_number);
+- printf(" Interface: %d\n", cur_dev->interface_number);
+- printf("\n");
+- cur_dev = cur_dev->next;
+- }
+- hid_free_enumeration(devs);
+-
+- // Set up the command buffer.
+- memset(buf,0x00,sizeof(buf));
+- buf[0] = 0x01;
+- buf[1] = 0x81;
+-
+-
+- // Open the device using the VID, PID,
+- // and optionally the Serial number.
+- ////handle = hid_open(0x4d8, 0x3f, L"12345");
+- handle = hid_open(0x4d8, 0x3f, NULL);
+- if (!handle) {
+- printf("unable to open device\n");
+- return 1;
+- }
+-
+- // Read the Manufacturer String
+- wstr[0] = 0x0000;
+- res = hid_get_manufacturer_string(handle, wstr, MAX_STR);
+- if (res < 0)
+- printf("Unable to read manufacturer string\n");
+- printf("Manufacturer String: %ls\n", wstr);
+-
+- // Read the Product String
+- wstr[0] = 0x0000;
+- res = hid_get_product_string(handle, wstr, MAX_STR);
+- if (res < 0)
+- printf("Unable to read product string\n");
+- printf("Product String: %ls\n", wstr);
+-
+- // Read the Serial Number String
+- wstr[0] = 0x0000;
+- res = hid_get_serial_number_string(handle, wstr, MAX_STR);
+- if (res < 0)
+- printf("Unable to read serial number string\n");
+- printf("Serial Number String: (%d) %ls", wstr[0], wstr);
+- printf("\n");
+-
+- // Read Indexed String 1
+- wstr[0] = 0x0000;
+- res = hid_get_indexed_string(handle, 1, wstr, MAX_STR);
+- if (res < 0)
+- printf("Unable to read indexed string 1\n");
+- printf("Indexed String 1: %ls\n", wstr);
+-
+- // Set the hid_read() function to be non-blocking.
+- hid_set_nonblocking(handle, 1);
+-
+- // Try to read from the device. There shoud be no
+- // data here, but execution should not block.
+- res = hid_read(handle, buf, 17);
+-
+- // Send a Feature Report to the device
+- buf[0] = 0x2;
+- buf[1] = 0xa0;
+- buf[2] = 0x0a;
+- buf[3] = 0x00;
+- buf[4] = 0x00;
+- res = hid_send_feature_report(handle, buf, 17);
+- if (res < 0) {
+- printf("Unable to send a feature report.\n");
+- }
+-
+- memset(buf,0,sizeof(buf));
+-
+- // Read a Feature Report from the device
+- buf[0] = 0x2;
+- res = hid_get_feature_report(handle, buf, sizeof(buf));
+- if (res < 0) {
+- printf("Unable to get a feature report.\n");
+- printf("%ls", hid_error(handle));
+- }
+- else {
+- // Print out the returned buffer.
+- printf("Feature Report\n ");
+- for (i = 0; i < res; i++)
+- printf("%02hhx ", buf[i]);
+- printf("\n");
+- }
+-
+- memset(buf,0,sizeof(buf));
+-
+- // Toggle LED (cmd 0x80). The first byte is the report number (0x1).
+- buf[0] = 0x1;
+- buf[1] = 0x80;
+- res = hid_write(handle, buf, 17);
+- if (res < 0) {
+- printf("Unable to write()\n");
+- printf("Error: %ls\n", hid_error(handle));
+- }
+-
+-
+- // Request state (cmd 0x81). The first byte is the report number (0x1).
+- buf[0] = 0x1;
+- buf[1] = 0x81;
+- hid_write(handle, buf, 17);
+- if (res < 0)
+- printf("Unable to write() (2)\n");
+-
+- // Read requested state. hid_read() has been set to be
+- // non-blocking by the call to hid_set_nonblocking() above.
+- // This loop demonstrates the non-blocking nature of hid_read().
+- res = 0;
+- while (res == 0) {
+- res = hid_read(handle, buf, sizeof(buf));
+- if (res == 0)
+- printf("waiting...\n");
+- if (res < 0)
+- printf("Unable to read()\n");
+- #ifdef WIN32
+- Sleep(500);
+- #else
+- usleep(500*1000);
+- #endif
+- }
+-
+- printf("Data read:\n ");
+- // Print out the returned buffer.
+- for (i = 0; i < res; i++)
+- printf("%02hhx ", buf[i]);
+- printf("\n");
+-
+- hid_close(handle);
+-
+- /* Free static HIDAPI objects. */
+- hid_exit();
+-
+-#ifdef WIN32
+- system("pause");
+-#endif
+-
+- return 0;
+-}
--
-2.6.4
+2.7.4
--enable-new-hpcups \
--enable-lite-build
+# build system does not support cups-config
+HPLIP_CONF_ENV = LIBS=`$(STAGING_DIR)/usr/bin/cups-config --libs`
+
ifeq ($(BR2_PACKAGE_DBUS),y)
HPLIP_CONF_OPTS += --enable-dbus-build
HPLIP_DEPENDENCIES += dbus
config BR2_PACKAGE_IPSEC_TOOLS
bool "ipsec-tools"
+ depends on BR2_USE_MMU # fork()
+ depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_FLEX
- depends on BR2_USE_MMU # fork()
help
This package is required to support IPSec for Linux 2.6+
IPTRAF_NG_LICENSE_FILES = LICENSE
IPTRAF_NG_DEPENDENCIES = ncurses
-IPTRAF_NG_MAKE_ENV = NCURSES_LDFLAGS="-lpanel -lncurses"
+IPTRAF_NG_MAKE_ENV = \
+ NCURSES_LDFLAGS="-lpanel -lncurses"
+
+IPTRAF_NG_CONF_ENV = \
+ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
$(eval $(autotools-package))
# Locally computed
-sha256 73de246aee1fd3cd69b1341a0c4e1b4acfa655fe6f7363fd9424824aa8bf5a57 iputils-3a86a2542c6fe29413c439bebeae11ec8a57ec7c.tar.gz
+sha256 08b9f686fcc874f75b465f90f3e831aa9ac1f2e043f4bb61e6d99868e8869025 iputils-31d947cf7156cf78d3f57e0bd82b33e6f6ece6b4.tar.gz
# and IPv6 updates.
# http://www.spinics.net/lists/netdev/msg279881.html
-IPUTILS_VERSION = 3a86a2542c6fe29413c439bebeae11ec8a57ec7c
+IPUTILS_VERSION = 31d947cf7156cf78d3f57e0bd82b33e6f6ece6b4
IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION))
IPUTILS_LICENSE = GPLv2+, BSD-3c, BSD-4c
# Only includes a license file for BSD
--- /dev/null
+From 4b2c73ad056aa327dc3b505410da68cf384317ba Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Mon, 16 May 2016 22:26:05 +0200
+Subject: [PATCH] Make backtrace support depends on execinfo.h existence
+
+In some C-libraries (like uclibc), backtrace support is optional, so the
+execinfo.h file may not exist.
+
+This change adds the check for execinfo.h header and conditionnaly enable
+backtrace support.
+
+This issue has been triggered by Buildroot farms:
+ http://autobuild.buildroot.org/results/391/391e71a988250ea66ec4dbee6f60fdce9eaf2766/build-end.log
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ dbus/sigsegv.c | 8 +++++++-
+ wscript | 1 +
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c
+index ee12f91..0b31d89 100644
+--- a/dbus/sigsegv.c
++++ b/dbus/sigsegv.c
+@@ -27,7 +27,9 @@
+ #include <stdio.h>
+ #include <signal.h>
+ #include <dlfcn.h>
+-#include <execinfo.h>
++#if defined(HAVE_EXECINFO_H)
++# include <execinfo.h>
++#endif /* defined(HAVE_EXECINFO_H) */
+ #include <errno.h>
+ #ifndef NO_CPP_DEMANGLE
+ char * __cxa_demangle(const char * __mangled_name, char * __output_buffer, size_t * __length, int * __status);
+@@ -161,12 +163,16 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) {
+ bp = (void**)bp[0];
+ }
+ #else
++# if defined(HAVE_EXECINFO_H)
+ jack_error("Stack trace (non-dedicated):");
+ sz = backtrace(bt, 20);
+ strings = backtrace_symbols(bt, sz);
+
+ for(i = 0; i < sz; ++i)
+ jack_error("%s", strings[i]);
++# else /* defined(HAVE_EXECINFO_H) */
++ jack_error("Stack trace not available");
++# endif /* defined(HAVE_EXECINFO_H) */
+ #endif
+ jack_error("End of stack trace");
+ exit (-1);
+diff --git a/wscript b/wscript
+index aef4bd8..63ba3aa 100644
+--- a/wscript
++++ b/wscript
+@@ -166,6 +166,7 @@ def configure(conf):
+ if conf.env['BUILD_JACKDBUS'] != True:
+ conf.fatal('jackdbus was explicitly requested but cannot be built')
+
++ conf.check_cc(header_name='execinfo.h', define_name="HAVE_EXECINFO_H", mandatory=False)
+ conf.check_cc(header_name='samplerate.h', define_name="HAVE_SAMPLERATE")
+
+ if conf.is_defined('HAVE_SAMPLERATE'):
+--
+2.8.2
+
--- /dev/null
+From 7152ded5219453c9ff1cd062cecbeaf4d77e4cab Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Thu, 26 May 2016 15:05:48 +0200
+Subject: [PATCH] Use <fenv.h> instead of <fpu_control.h>
+
+musl libc (http://musl-libc.org lack the non-standard <fpu_control.h>
+header, which is used in src/os/linux/{i386,x86_64}/init.c files to
+setup the floating point precision. This patch makes it use the
+standard C <fenv.h> header instead.
+
+Original patch at Felix Janda at
+https://sourceforge.net/p/jamvm/patches/6/.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/os/linux/i386/init.c | 12 ++++++------
+ src/os/linux/x86_64/init.c | 16 ++++++----------
+ 2 files changed, 12 insertions(+), 16 deletions(-)
+
+diff --git a/src/os/linux/i386/init.c b/src/os/linux/i386/init.c
+index d9c6648..94a733e 100644
+--- a/src/os/linux/i386/init.c
++++ b/src/os/linux/i386/init.c
+@@ -19,18 +19,18 @@
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+-#include <fpu_control.h>
++#include <fenv.h>
+
+ /* Change floating point precision to double (64-bit) from
+ * the extended (80-bit) Linux default. */
+
+ void setDoublePrecision() {
+- fpu_control_t cw;
++ fenv_t fenv;
+
+- _FPU_GETCW(cw);
+- cw &= ~_FPU_EXTENDED;
+- cw |= _FPU_DOUBLE;
+- _FPU_SETCW(cw);
++ fegetenv(&fenv);
++ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
++ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
++ fesetenv(&fenv);
+ }
+
+ void initialisePlatform() {
+diff --git a/src/os/linux/x86_64/init.c b/src/os/linux/x86_64/init.c
+index 9d55229..a76a923 100644
+--- a/src/os/linux/x86_64/init.c
++++ b/src/os/linux/x86_64/init.c
+@@ -19,9 +19,7 @@
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+-#ifdef __linux__
+-#include <fpu_control.h>
+-#endif
++#include <fenv.h>
+
+ /* Change the x87 FPU precision to double (64-bit) from the extended
+ (80-bit) Linux default. Note, unlike on i386, my testcases pass
+@@ -30,14 +28,12 @@
+ */
+
+ void setDoublePrecision() {
+-#ifdef __linux__
+- fpu_control_t cw;
++ fenv_t fenv;
+
+- _FPU_GETCW(cw);
+- cw &= ~_FPU_EXTENDED;
+- cw |= _FPU_DOUBLE;
+- _FPU_SETCW(cw);
+-#endif
++ fegetenv(&fenv);
++ fenv.__control_word &= ~0x300; /*_FPU_EXTENDED */
++ fenv.__control_word |= 0x200; /*_FPU_DOUBLE */
++ fesetenv(&fenv);
+ }
+
+ void initialisePlatform() {
+--
+2.7.4
+
config BR2_PACKAGE_KODI_SCREENSAVER_ASTEROIDS
bool "kodi-screensaver-asteroids"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
Asteroids screensaver for Kodi
https://github.com/notspiff/screensaver.asteroids
-comment "kodi-screensaver-asteroids needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-asteroids needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_ASTERWAVE
bool "kodi-screensaver-asterwave"
- depends on BR2_PACKAGE_KODI_GL # libsoil
+ depends on BR2_PACKAGE_HAS_LIBGL # libglu, libsoil
+ select BR2_PACKAGE_LIBGLU
select BR2_PACKAGE_LIBSOIL
help
AsterWave screensaver for Kodi
https://github.com/notspiff/screensaver.asterwave
-comment "asterwave needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-asterwave needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
KODI_SCREENSAVER_ASTERWAVE_VERSION = 0dc2c48dadb100954eef823e7e3a5f502ce65b1e
KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,notspiff,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION))
-KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libsoil
+KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libglu libsoil
$(eval $(cmake-package))
config BR2_PACKAGE_KODI_SCREENSAVER_BIOGENESIS
bool "kodi-screensaver-biogenesis"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
BioGenesis screensaver for Kodi
https://github.com/notspiff/screensaver.biogenesis
-comment "kodi-screensaver-biogenesis needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-biogenesis needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_CPBLOBS
bool "kodi-screensaver-cpblobs"
- depends on BR2_PACKAGE_KODI_GL # libsoil
+ depends on BR2_PACKAGE_HAS_LIBGL # libsoil
select BR2_PACKAGE_LIBSOIL
help
CpBlobs screensaver for Kodi
https://github.com/notspiff/screensaver.cpblobs
-comment "cpblobs needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-cpblobs needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH
bool "kodi-screensaver-crystalmorph"
- depends on BR2_PACKAGE_KODI_GL # libglu
+ depends on BR2_PACKAGE_HAS_LIBGL # libglu
help
CrystalMorph screensaver for Kodi
https://github.com/notspiff/screensaver.crystalmorph
-comment "kodi-screensaver-crystalmorph needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-crystalmorph needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_GREYNETIC
bool "kodi-screensaver-greynetic"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
Greynetic screensaver for Kodi
https://github.com/notspiff/screensaver.greynetic
-comment "kodi-screensaver-greynetic needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-greynetic needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_MATRIXTRAILS
bool "kodi-screensaver-matrixtrails"
- depends on BR2_PACKAGE_KODI_GL # libsoil
+ depends on BR2_PACKAGE_HAS_LIBGL # libsoil
select BR2_PACKAGE_LIBSOIL
help
Matrix trails screensaver for Kodi
https://github.com/notspiff/screensaver.matrixtrails
-comment "matrixtrails needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-matrixtrails needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
--- /dev/null
+# Locally computed
+sha256 91990a29072cf85f4b9253a16a362d83fdfcc7595de796d982a189aa8618555c kodi-screensaver-matrixtrails-16057e7195f930109f0a4aea999296ca315700e5.tar.gz
config BR2_PACKAGE_KODI_SCREENSAVER_PINGPONG
bool "kodi-screensaver-pingpong"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
Ping-pong screensaver for Kodi
https://github.com/notspiff/screensaver.pingpong
-comment "kodi-screensaver-greynetic needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-pingpong needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE
bool "kodi-screensaver-planestate"
- depends on BR2_PACKAGE_KODI_GL # libsoil
+ depends on BR2_PACKAGE_HAS_LIBGL # libsoil
select BR2_PACKAGE_LIBSOIL
help
PlaneState screensaver for Kodi
https://github.com/notspiff/screensaver.planestate
-comment "planestate needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-planestate needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_PYRO
bool "kodi-screensaver-pyro"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
Pyro screensaver for Kodi
https://github.com/notspiff/screensaver.pyro
-comment "kodi-screensaver-pyro needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-pyro needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_SCREENSAVER_RSXS
bool "kodi-screensaver-rsxs"
- depends on BR2_PACKAGE_KODI_GL # libglu
+ depends on BR2_PACKAGE_HAS_LIBGL # libglu
+ depends on BR2_PACKAGE_XORG7 # xlib_libXmu
+ select BR2_PACKAGE_XLIB_LIBXMU
help
RSXS screensaver add-ons for Kodi
https://github.com/notspiff/screensavers.rsxs
-comment "kodi-screensaver-rsxs needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-rsxs depends on X.org and needs OpenGL"
+ depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
KODI_SCREENSAVER_RSXS_LICENSE = GPLv3
KODI_SCREENSAVER_RSXS_LICENSE_FILES = lib/rsxs-1.0/COPYING
-KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi
+KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi xlib_libXmu
$(eval $(cmake-package))
config BR2_PACKAGE_KODI_SCREENSAVER_STARS
bool "kodi-screensaver-stars"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
Starfield screensaver for Kodi
https://github.com/notspiff/screensaver.stars
-comment "kodi-screensaver-starts needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-screensaver-stars needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_VISUALISATION_FISHBMC
bool "kodi-visualisation-fishbmc"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
Fische visualiser for Kodi
https://github.com/notspiff/visualization.fishbmc
-comment "fishbmc needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-visualisation-fishbmc needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN
bool "kodi-visualisation-fountain"
- depends on BR2_PACKAGE_KODI_GL # libsoil
+ depends on BR2_PACKAGE_HAS_LIBGL # libsoil
select BR2_PACKAGE_LIBSOIL
help
Fountain visualization for Kodi
https://github.com/notspiff/visualization.fountain
-comment "fountain needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-visualisation-fountain needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_VISUALISATION_GOOM
bool "kodi-visualisation-goom"
- depends on BR2_PACKAGE_KODI_GL
+ depends on BR2_PACKAGE_HAS_LIBGL
help
GOOM visualiser for Kodi
https://github.com/notspiff/visualization.goom
-comment "kodi-visualization-goom needs an OpenGL backend"
- depends on !BR2_PACKAGE_KODI_GL
+comment "kodi-visualization-goom needs OpenGL"
+ depends on !BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_KODI_VISUALISATION_SHADERTOY
bool "kodi-visualisation-shadertoy"
+ select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_HAS_LIBGL
+ select BR2_PACKAGE_LIBPLATFORM
help
Shadertoy visualiser for Kodi
KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = src/main.cpp
KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = kodi libplatform
+ifeq ($(BR2_PACKAGE_LIBGLEW),y)
+KODI_VISUALISATION_SHADERTOY_DEPENDENCIES += libglew
+endif
+
$(eval $(cmake-package))
--- /dev/null
+From f63563615e357b7d794a38e1d37276c325d1466f Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Sat, 7 May 2016 13:47:42 +0100
+Subject: [PATCH] [exif] Fix for out-of-memory errors with large numbers
+ of jpegs
+
+This reverts part of https://github.com/xbmc/xbmc/pull/7472
+
+Basically the commit made the 4 comments in the exif block increase
+from 2K to 64K each, so you now need 256K per photo.
+
+When opening a folder exif information for all photos is extracted.
+So, for a folder of 5000 jpegs, 1.2GB of RAM is needed just for
+the comments.
+
+As a 64K comment string is of no use to kodi, just truncate them to 2K
+like we used to.
+
+See:
+http://trac.kodi.tv/ticket/16193
+http://forum.kodi.tv/showthread.php?tid=251908
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(backported from upstream commit in master branch:
+ https://github.com/xbmc/xbmc/commit/f63563615e357b7d794a38e1d37276c325d1466f)
+---
+ lib/libexif/libexif.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/libexif/libexif.h b/lib/libexif/libexif.h
+index aa8da07..519ac30 100644
+--- a/lib/libexif/libexif.h
++++ b/lib/libexif/libexif.h
+@@ -81,7 +81,7 @@ typedef struct {
+ #define EXIF_COMMENT_CHARSET_UNICODE 3 // Exif: Unicode (UTF-16)
+ #define EXIF_COMMENT_CHARSET_JIS 4 // Exif: JIS X208-1990
+
+-#define MAX_COMMENT 65533 // 2 bytes - 2 for the length param
++#define MAX_COMMENT 2000
+ #define MAX_DATE_COPIES 10
+
+ typedef struct {
+--
+2.8.1
+
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
bool
default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) \
+ && BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
+ && BR2_PACKAGE_BOOST_ARCH_SUPPORTS \
&& BR2_TOOLCHAIN_HAS_SYNC_8
comment "kodi needs a uClibc or (e)glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.7, host gcc >= 4.6"
--- /dev/null
+From d0331e8e5b05b475f20b1f3101fe1ad772d7e7e7 Mon Sep 17 00:00:00 2001
+From: Tim Kientzle <kientzle@acm.org>
+Date: Sun, 24 Apr 2016 17:13:45 -0700
+Subject: [PATCH] Issue #656: Fix CVE-2016-1541, VU#862384
+
+When reading OS X metadata entries in Zip archives that were stored
+without compression, libarchive would use the uncompressed entry size
+to allocate a buffer but would use the compressed entry size to limit
+the amount of data copied into that buffer. Since the compressed
+and uncompressed sizes are provided by data in the archive itself,
+an attacker could manipulate these values to write data beyond
+the end of the allocated buffer.
+
+This fix provides three new checks to guard against such
+manipulation and to make libarchive generally more robust when
+handling this type of entry:
+ 1. If an OS X metadata entry is stored without compression,
+ abort the entire archive if the compressed and uncompressed
+ data sizes do not match.
+ 2. When sanity-checking the size of an OS X metadata entry,
+ abort this entry if either the compressed or uncompressed
+ size is larger than 4MB.
+ 3. When copying data into the allocated buffer, check the copy
+ size against both the compressed entry size and uncompressed
+ entry size.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+---
+Status: from upstream https://github.com/libarchive/libarchive/issues/656
+
+ libarchive/archive_read_support_format_zip.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c
+index 0f8262c..0a0be96 100644
+--- a/libarchive/archive_read_support_format_zip.c
++++ b/libarchive/archive_read_support_format_zip.c
+@@ -2778,6 +2778,11 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
+
+ switch(rsrc->compression) {
+ case 0: /* No compression. */
++ if (rsrc->uncompressed_size != rsrc->compressed_size) {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++ "Malformed OS X metadata entry: inconsistent size");
++ return (ARCHIVE_FATAL);
++ }
+ #ifdef HAVE_ZLIB_H
+ case 8: /* Deflate compression. */
+ #endif
+@@ -2798,6 +2803,12 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
+ (intmax_t)rsrc->uncompressed_size);
+ return (ARCHIVE_WARN);
+ }
++ if (rsrc->compressed_size > (4 * 1024 * 1024)) {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++ "Mac metadata is too large: %jd > 4M bytes",
++ (intmax_t)rsrc->compressed_size);
++ return (ARCHIVE_WARN);
++ }
+
+ metadata = malloc((size_t)rsrc->uncompressed_size);
+ if (metadata == NULL) {
+@@ -2836,6 +2847,8 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
+ bytes_avail = remaining_bytes;
+ switch(rsrc->compression) {
+ case 0: /* No compression. */
++ if ((size_t)bytes_avail > metadata_bytes)
++ bytes_avail = metadata_bytes;
+ memcpy(mp, p, bytes_avail);
+ bytes_used = (size_t)bytes_avail;
+ metadata_bytes -= bytes_used;
# Locally calculated after checking pgp signature
-sha256 864e7819210b586d42c674a1fdd577ce75a78b3dda64c63565abe5aefd72c753 curl-7.48.0.tar.bz2
+sha256 eb63cec4bef692eab9db459033f409533e6d10e20942f4b060b32819e81885f1 curl-7.49.1.tar.bz2
#
################################################################################
-LIBCURL_VERSION = 7.48.0
+LIBCURL_VERSION = 7.49.1
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2
LIBCURL_SITE = http://curl.haxx.se/download
LIBCURL_DEPENDENCIES = host-pkgconf \
--- /dev/null
+From 7384f79f69fdb7b691cc5b0c28c301b3fe8b633e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Thu, 26 May 2016 10:46:57 +0200
+Subject: [PATCH] xf86atomic: require CAS support in libatomic_ops
+
+Since AO_compare_and_swap_full() is used by libdrm, AO_REQUIRE_CAS
+must be defined before including <atomic_ops.h> so that we are sure
+that CAS support will be provided. This is necessary to make sure that
+the AO_compare_and_swap_full() function will be provided on all
+architectures, including the ones that don't have built-in CAS support
+such as SPARCv8.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ xf86atomic.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/xf86atomic.h b/xf86atomic.h
+index 922b37d..d7017a5 100644
+--- a/xf86atomic.h
++++ b/xf86atomic.h
+@@ -58,6 +58,7 @@ typedef struct {
+ #endif
+
+ #if HAVE_LIB_ATOMIC_OPS
++#define AO_REQUIRE_CAS
+ #include <atomic_ops.h>
+
+ #define HAS_ATOMIC_OPS 1
+--
+2.7.4
+
if BR2_PACKAGE_LIBDRM
+config BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ bool
+ default y if BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS || \
+ BR2_TOOLCHAIN_HAS_SYNC_4
+
+config BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
+ bool
+ select BR2_PACKAGE_LIBATOMIC_OPS if !BR2_TOOLCHAIN_HAS_SYNC_4
+
config BR2_PACKAGE_LIBDRM_INSTALL_TESTS
bool "Install test programs"
help
config BR2_PACKAGE_LIBDRM_INTEL
bool "intel"
- select BR2_PACKAGE_LIBATOMIC_OPS
select BR2_PACKAGE_LIBPCIACCESS
depends on BR2_i386 || BR2_x86_64
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install intel graphics driver.
config BR2_PACKAGE_LIBDRM_RADEON
bool "radeon"
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install AMD/ATI graphics driver.
config BR2_PACKAGE_LIBDRM_AMDGPU
bool "amdgpu"
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install AMD GPU driver.
config BR2_PACKAGE_LIBDRM_NOUVEAU
bool "nouveau"
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install NVIDIA graphics driver.
config BR2_PACKAGE_LIBDRM_OMAP
bool "omap (experimental)"
depends on BR2_arm
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install the TI OMAP driver using an experimental API.
config BR2_PACKAGE_LIBDRM_FREEDRENO
bool "freedreno"
depends on BR2_arm || BR2_aarch64 || BR2_aarch64_be
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install Qualcomm Snapdragon driver.
config BR2_PACKAGE_LIBDRM_TEGRA
bool "tegra (experimental)"
depends on BR2_arm
+ depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
+ select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
Install NVIDIA Tegra driver using an experimental API.
LIBDRM_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
+ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y)
+LIBDRM_DEPENDENCIES += libatomic_ops
+ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
+LIBDRM_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DAO_NO_SPARC_V9"
+endif
+endif
+
ifeq ($(BR2_PACKAGE_LIBDRM_INTEL),y)
LIBDRM_CONF_OPTS += --enable-intel
-LIBDRM_DEPENDENCIES += libatomic_ops libpciaccess
+LIBDRM_DEPENDENCIES += libpciaccess
else
LIBDRM_CONF_OPTS += --disable-intel
endif
LIBEPOXY_VERSION = v1.3.1
LIBEPOXY_SITE = $(call github,anholt,libepoxy,$(LIBEPOXY_VERSION))
LIBEPOXY_INSTALL_STAGING = YES
-# For patches:
-# 0001-make-egl-and-glx-conditional.patch
-# 0002-Forward-egl-cflags-into-epoxy.pc.patch
+# For patches 0001-0006:
LIBEPOXY_AUTORECONF = YES
LIBEPOXY_DEPENDENCIES = xutil_util-macros
LIBEPOXY_LICENSE = MIT
endif
ifeq ($(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_XLIB_LIBX11),yy)
-LIBEPOXY_CONF_OPTS += --enable-egl
+LIBEPOXY_CONF_OPTS += --enable-glx
LIBEPOXY_DEPENDENCIES += libgl xlib_libX11
else
LIBEPOXY_CONF_OPTS += --disable-glx
# Handle argp-standalone or it errors out during build
ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
-LIBGPGME_CONF_ENV += LIBS="-largp"
+# musl libc does not define error_t in errno.h, but argp.h does.
+# Assume we have error_t to avoid collision with the argp.h error_t.
+LIBGPGME_CONF_ENV += LIBS="-largp" ac_cv_type_error_t=yes
LIBGPGME_DEPENDENCIES += argp-standalone
endif
--- /dev/null
+From 0df21f54942dc82ddde4095824e7b65efb96d261 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 16 May 2016 13:32:07 +1000
+Subject: [PATCH] Add configure.ac check for static_assert
+
+Part of C11, defined via assert.h.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: suggested upstream
+(https://lists.freedesktop.org/archives/wayland-devel/2016-May/028881.html)
+
+ configure.ac | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 602a86026544..28a5197cfa2e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,6 +55,10 @@ AC_CHECK_DECL(TFD_CLOEXEC,[],
+ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
+ [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile libinput")],
+ [[#include <time.h>]])
++AC_CHECK_DECL(static_assert, [],
++ [AC_DEFINE(static_assert(...), [/* */], [noop static_assert() replacement]),
++ AC_MSG_RESULT([no])],
++ [[#include <assert.h>]])
+
+ PKG_PROG_PKG_CONFIG()
+ PKG_CHECK_MODULES(MTDEV, [mtdev >= 1.1.0])
+--
+2.8.1
+
LIBINPUT_LICENSE_FILES = COPYING
# Tests need fork, so just disable them everywhere.
LIBINPUT_CONF_OPTS = --disable-tests --disable-libwacom
+# Patching configure.ac
+LIBINPUT_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_LIBGTK3),y)
LIBINPUT_CONF_OPTS += --enable-event-gui
LIBINPUT_DEPENDENCIES += libgtk3
else
-LIBINOUT_CONF_OPTS += --disable-event-gui
+LIBINPUT_CONF_OPTS += --disable-event-gui
endif
$(eval $(autotools-package))
LIBPJSIP_LICENSE = GPLv2+
LIBPJSIP_LICENSE_FILES = COPYING
LIBPJSIP_INSTALL_STAGING = YES
+LIBPJSIP_MAKE = $(MAKE1)
LIBPJSIP_CONF_ENV = \
LD="$(TARGET_CC)" \
select BR2_PACKAGE_BZIP2
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_USES_MUSL # getpwent_r()
depends on !BR2_arc
help
libsemanage is the policy management library. It uses
comment "libsemanage needs a toolchain w/ threads, dynamic library"
depends on !BR2_arc
+ depends on !BR2_TOOLCHAIN_USES_MUSL
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
depends on !BR2_xtensa
depends on !BR2_arc # no ucontext_i.sym file
depends on !BR2_microblaze
- # No ucontext support in uclibc for powerpc and superh
- depends on !((BR2_powerpc || BR2_sh) && BR2_TOOLCHAIN_USES_UCLIBC)
+ # No ucontext support in uclibc for powerpc, sparc and superh
+ depends on !((BR2_powerpc || BR2_sh || BR2_sparc ) && BR2_TOOLCHAIN_USES_UCLIBC)
help
Library for handling page faults in user mode.
http://libsigsegv.sourceforge.net/
comment "libsigsegv needs an (e)glibc toolchain"
- depends on (BR2_powerpc || BR2_sh) && BR2_TOOLCHAIN_USES_UCLIBC
+ depends on (BR2_powerpc || BR2_sh || BR2_sparc) && BR2_TOOLCHAIN_USES_UCLIBC
# Locally calculated after checking pgp signature
-sha256 4de9e31f46b44d34871c22f54bfc54398ef124d6f7cafb1f4a5958fbcd3ba12d libxml2-2.9.3.tar.gz
+sha256 ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c libxml2-2.9.4.tar.gz
#
################################################################################
-LIBXML2_VERSION = 2.9.3
+LIBXML2_VERSION = 2.9.4
LIBXML2_SITE = ftp://xmlsoft.org/libxml2
LIBXML2_INSTALL_STAGING = YES
LIBXML2_LICENSE = MIT
+++ /dev/null
-From 5af7ad745323004984287e48b42712e7305de35c Mon Sep 17 00:00:00 2001
-From: Per Hedeland <per@hedeland.org>
-Date: Fri, 13 Dec 2013 14:43:06 +0100
-Subject: [PATCH] Make --maxvars option work
-
-From upstream: https://gitorious.org/libxslt/libxslt/commit/5af7ad745323004984287e48b42
-
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- xsltproc/xsltproc.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
-index b22df37..66d8cbb 100644
---- a/xsltproc/xsltproc.c
-+++ b/xsltproc/xsltproc.c
-@@ -803,6 +803,10 @@ main(int argc, char **argv)
- (!strcmp(argv[i], "--maxdepth"))) {
- i++;
- continue;
-+ } else if ((!strcmp(argv[i], "-maxvars")) ||
-+ (!strcmp(argv[i], "--maxvars"))) {
-+ i++;
-+ continue;
- } else if ((!strcmp(argv[i], "-maxparserdepth")) ||
- (!strcmp(argv[i], "--maxparserdepth"))) {
- i++;
---
-2.1.0
-
-# Locally calculated
-sha256 5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c libxslt-1.1.28.tar.gz
+# Locally calculated after checking pgp signature
+sha256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce libxslt-1.1.29.tar.gz
#
################################################################################
-LIBXSLT_VERSION = 1.1.28
+LIBXSLT_VERSION = 1.1.29
LIBXSLT_SITE = ftp://xmlsoft.org/libxslt
LIBXSLT_INSTALL_STAGING = YES
LIBXSLT_LICENSE = MIT
default "3.4.112" if BR2_KERNEL_HEADERS_3_4
default "3.10.101" if BR2_KERNEL_HEADERS_3_10
default "3.12.59" if BR2_KERNEL_HEADERS_3_12
- default "3.14.68" if BR2_KERNEL_HEADERS_3_14
- default "3.18.32" if BR2_KERNEL_HEADERS_3_18
+ default "3.14.70" if BR2_KERNEL_HEADERS_3_14
+ default "3.18.33" if BR2_KERNEL_HEADERS_3_18
default "3.19.8" if BR2_KERNEL_HEADERS_3_19
default "4.0.9" if BR2_KERNEL_HEADERS_4_0
- default "4.1.23" if BR2_KERNEL_HEADERS_4_1
+ default "4.1.24" if BR2_KERNEL_HEADERS_4_1
default "4.2.8" if BR2_KERNEL_HEADERS_4_2
default "4.3.6" if BR2_KERNEL_HEADERS_4_3
- default "4.4.9" if BR2_KERNEL_HEADERS_4_4
- default "4.5.3" if BR2_KERNEL_HEADERS_4_5
+ default "4.4.11" if BR2_KERNEL_HEADERS_4_4
+ default "4.5.5" if BR2_KERNEL_HEADERS_4_5
default "4.6" if BR2_KERNEL_HEADERS_4_6
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
--- /dev/null
+From 3055eb3da9d0a202c1a975f7db0c8370a09a30bc Mon Sep 17 00:00:00 2001
+From: "Joseph D. Gaeddert" <joseph@liquidsdr.org>
+Date: Thu, 25 Feb 2016 17:47:07 -0500
+Subject: [PATCH] math/poly: wrapping isnan in T_ABS to help compilation w/
+ certain gcc versions
+
+This is an upstreamed patch backported from here:
+
+https://github.com/jgaeddert/liquid-dsp/commit/3055eb3da9d0a202c1a975f7db0c8370a09a30bc
+
+It fixes the following error:
+
+src/math/src/poly.findroots.c: In function
+'polyc_findroots_bairstow_recursion':
+src/math/src/poly.findroots.c:305:9: error: non-floating-point argument
+in call to function '__builtin_isnan'
+ if (isnan(du) || isnan(dv)) {
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+ src/math/src/poly.findroots.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/math/src/poly.findroots.c b/src/math/src/poly.findroots.c
+index 21b5756..e000ee8 100644
+--- a/src/math/src/poly.findroots.c
++++ b/src/math/src/poly.findroots.c
+@@ -302,7 +302,7 @@ void POLY(_findroots_bairstow_recursion)(T * _p,
+ #endif
+
+ // adjust u, v
+- if (isnan(du) || isnan(dv)) {
++ if (isnan(T_ABS(du)) || isnan(T_ABS(dv))) {
+ u *= 0.5f;
+ v *= 0.5f;
+ } else {
+--
+2.7.3
+
--- /dev/null
+From f2fc8c48e5e55a91b309225f377b6cb3783fc6f6 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Wed, 25 May 2016 15:21:57 +0200
+Subject: [PATCH] lib: use proper linking method to avoid parallel build issue
+
+Using <foo>_LDFLAGS = -l<library> is correct when <library> is an
+external library. However, when it is built by the same package, and
+especially in the same directory, this is wrong and can cause parallel
+build issues. In lib/Makefile.am, there was:
+
+libirrecord_la_LDFLAGS = -llirc
+
+But the liblirc library is built in the same directory. Or, due to the
+using of <foo>_LDFLAGS, make is not aware of the build dependency
+between libirrecord and liblirc.
+
+To solve this, <foo>_LIBADD should be used instead, as follows:
+
+libirrecord_la_LIBADD = liblirc.la
+
+This fixes parallel build issues seen by automated build tests
+conducted by the Buildroot project, such as:
+
+ http://autobuild.buildroot.org/results/eb4/eb47d57de8182d25b1dacbf0ac3726ed20063d04/build-end.log
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ lib/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index ce5c94c..8780f88 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -29,7 +29,7 @@ liblirc_la_SOURCES = config_file.c \
+ transmit.c \
+ util.c
+
+-libirrecord_la_LDFLAGS = -llirc
++libirrecord_la_LIBADD = liblirc.la
+ libirrecord_la_SOURCES = irrecord.c
+
+ liblirc_client_la_LDFLAGS = -version-info 4:0:4
+--
+2.7.4
+
LIRC_TOOLS_LICENSE_FILES = COPYING
LIRC_TOOLS_DEPENDENCIES = host-libxslt host-pkgconf host-python3
LIRC_TOOLS_INSTALL_STAGING = YES
+# 0001-lib-use-proper-linking-method-to-avoid-parallel-buil.patch
+LIRC_TOOLS_AUTORECONF = YES
LIRC_TOOLS_CONF_ENV = XSLTPROC=yes
LIRC_TOOLS_CONF_OPTS = --without-x
LTRIS_DEPENDENCIES = sdl
LTRIS_CONF_ENV = \
- SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config"
+ SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config" \
+ LIBS="$(LTRIS_LIBS)"
ifeq ($(BR2_PACKAGE_LTRIS_AUDIO),y)
-LTRIS_DEPENDENCIES += sdl_mixer
-LTRIS_CONF_OPTS += --enable-audio=yes
+LTRIS_DEPENDENCIES += sdl_mixer host-pkgconf
+LTRIS_CONF_OPTS += --enable-sound
+# configure script does NOT use pkg-config to figure out how to link
+# with sdl_mixer, breaking static linking as sdl_mixer can use libmad
+LTRIS_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs SDL_mixer`
else
-LTRIS_CONF_OPTS += --disable-audio
+LTRIS_CONF_OPTS += --disable-sound
endif
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
LTRIS_DEPENDENCIES += gettext
-LTRIS_CONF_ENV += LIBS=-lintl
+LTRIS_LIBS += -lintl
endif
$(eval $(autotools-package))
--- /dev/null
+From 670d0961a823df0db28f39a354430f3dc2519418 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Sat, 28 May 2016 12:53:33 +0200
+Subject: [PATCH] configure: fix uuid support detection on static build
+
+This change adds uuid support detection using pkg-config, before falling
+back on default AC_CHECK_LIB calls.
+
+Using flags from pkg-config is useful for static build, because they
+also include dependency flags; whereas
+
+AC_CHECK_LIB function achieves its test by trying to link against the
+requested library, without taking care of its dependency
+requirements/flags. Therefore, in case of static build, it can fail on
+the uuid detection like [1], because the uuid's dependency flags
+(regarding gettext) are missing.
+Instead, using pkg-config to do the check will take care of getting and
+setting all required flags.
+
+This change adds uuid detection using pkg-config helper before falling
+back on the standard AC_CHECK_LIB detection for platforms missing
+pkg-config.
+
+This issue [1] has been triggered on Buildroot farms.
+
+[1] http://autobuild.buildroot.net/results/43b/43b98ddf9eb44152ed9ac4a98d887af14831d8da/build-end.log
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ configure.ac | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 632fe39..b344fa8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -65,6 +65,15 @@ esac
+ AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"])
+
+ # Check for libuuid
++PKG_CHECK_MODULES([UUID], [uuid],
++[
++ LIBS="${UUID_LIBS} ${LIBS}"
++ CFLAGS="${CFLAGS} ${UUID_CFLAGS}"
++ AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
++ have_libuuid=yes
++],
++[
++# try detecting libuuid without pkg-config
+ AC_CHECK_LIB([uuid], [uuid_generate],
+ [
+ AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
+@@ -83,6 +92,7 @@ AC_CHECK_LIB([uuid], [uuid_generate],
+ AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
+ fi
+ ])
++])
+ ]
+ )
+ AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
+--
+2.8.3
+
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
-LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2
+LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 host-pkgconf
+# for 0002-configure-fix-uuid-support-detection-on-static-build.patch
+LTTNG_BABELTRACE_AUTORECONF = YES
$(eval $(autotools-package))
$(eval $(host-autotools-package))
--- /dev/null
+From 245bba9aadf8e7aea487b6fbd851f86c75524552 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Thu, 19 May 2016 21:51:27 +0200
+Subject: [PATCH] Fix redefinition of struct in6_addr
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+struct in6_addr is both defined in the C library header <netinet/in.h>
+and the Linux kernel header <linux/in6.h>.
+
+lxc_user_nic.c includes both <netinet/in.h> and <linux/if_bridge.h>. The
+later one includes <linux/in6.h>.
+
+This breaks build with the musl libc:
+ error: redefinition of ‘struct in6_addr’
+
+As lxc_user_nic.c does not use any references from <linux/if_bridge.h> it
+is safe to remove this header.
+
+Upstream status: Pending
+https://github.com/lxc/lxc/pull/1029
+
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ src/lxc/lxc_user_nic.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/lxc/lxc_user_nic.c b/src/lxc/lxc_user_nic.c
+index 87780ca..0cb38ba 100644
+--- a/src/lxc/lxc_user_nic.c
++++ b/src/lxc/lxc_user_nic.c
+@@ -41,7 +41,6 @@
+ #include <net/if.h>
+ #include <net/if_arp.h>
+ #include <netinet/in.h>
+-#include <linux/if_bridge.h>
+ #include <linux/netlink.h>
+ #include <linux/rtnetlink.h>
+ #include <linux/sockios.h>
+--
+2.8.2
+
MALI_T76X_VERSION = r5p0-06rel0
MALI_T76X_SOURCE = mali-t76x_$(MALI_T76X_VERSION)_linux_1+fbdev.tar.gz
MALI_T76X_SITE = http://malideveloper.arm.com/downloads/drivers/binary/$(MALI_T76X_VERSION)
-
+MALI_T76X_DEPENDENCIES = mesa3d-headers
MALI_T76X_INSTALL_STAGING = YES
MALI_T76X_PROVIDES = libegl libgles
$(@D)/include/mbedtls/config.h
endef
MBEDTLS_POST_PATCH_HOOKS += MBEDTLS_ENABLE_THREADING
+ifeq ($(BR2_STATIC_LIBS),y)
+MBEDTLS_CONF_OPTS += -DLINK_WITH_PTHREAD=ON
+endif
endif
ifeq ($(BR2_STATIC_LIBS),y)
expat \
libdrm
+# The Sourcery MIPS toolchain has a special (non-upstream) feature to
+# have "compact exception handling", which unfortunately breaks with
+# mesa3d, so we disable it here by passing -mno-compact-eh.
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS),y)
+MESA3D_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh"
+MESA3D_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mno-compact-eh"
+endif
+
ifeq ($(BR2_PACKAGE_OPENSSL),y)
MESA3D_DEPENDENCIES += openssl
MESA3D_CONF_OPTS += --with-sha1=libcrypto
# libGL is only provided for a full xorg stack
ifeq ($(BR2_PACKAGE_XORG7),y)
MESA3D_PROVIDES += libgl
+else
+MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_PC
endif
MESA3D_CONF_OPTS += \
--enable-shared-glapi \
comment "midori needs libgtk3 and an (e)glibc toolchain w/ C++, gcc >= 4.9"
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \
- || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_MIDORI
bool "midori"
depends on BR2_PACKAGE_LIBGTK3
depends on BR2_INSTALL_LIBSTDCPP # webkitgtk
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # webkitgtk
+ depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
help
Midori is a lightweight web browser based on WebKit
depends on BR2_USE_WCHAR # flac
depends on BR2_USE_MMU # fork
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FLAC
select BR2_PACKAGE_LIBVORBIS # selects libogg
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
- depends on !BR2_nios2 # ffmpeg
help
MiniDLNA (aka ReadyDLNA) is server software with the aim of being
fully compliant with DLNA/UPnP-AV clients.
comment "minidlna needs a toolchain w/ dynamic library, threads, wchar"
depends on BR2_USE_MMU
- depends on !BR2_nios2
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
BR2_STATIC_LIBS
depends on !BR2_STATIC_LIBS # libuv
depends on BR2_USE_MMU # libuv
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # libatomic_ops
- # needs AO_fetch_compare_and_swap, not implemented for sparcv9
- depends on !BR2_sparc64
+ # needs AO_fetch_compare_and_swap, not implemented for sparcv8/sparcv9
+ depends on !BR2_sparc64 && !BR2_sparc
select BR2_PACKAGE_LIBUV
select BR2_PACKAGE_LIBTOMMATH
select BR2_PACKAGE_LIBATOMIC_OPS
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
depends on BR2_USE_MMU
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS
- depends on !BR2_sparc64
+ depends on !BR2_sparc64 && !BR2_sparc
config BR2_PACKAGE_MPD_FFMPEG
bool "ffmpeg"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_FFMPEG
- depends on !BR2_nios2 # ffmpeg
help
Enable ffmpeg input support.
Select this if you want to play back files supported by
--- /dev/null
+From 25c2e71c9ce762561eeacd35bf432c6692c0fb44 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <peter@korsgaard.com>
+Date: Tue, 24 May 2016 17:34:32 +0200
+Subject: [PATCH] Makefile.am: don't override LIBS
+
+Patch status: posted upstream
+https://sourceforge.net/p/mpg123/mailman/message/35111696/
+
+The recent build system change broke custom LIBS handling. As opposed to the
+other internal variables, LIBS can be provided by the user when running
+configure, E.G.:
+
+LIBS="-lfoo -lbar" ./configure ..
+
+This is correctly used by the configure checks, but doesn't end up in the
+Makefile any more because of this override - Breaking static builds where
+the configure script needs a bit of help to link with -lpthread when
+alsa/portaudio is used (as those use pthreads internally).
+
+Fixes the following build issues from the Buildroot autobuilders:
+
+http://autobuild.buildroot.net/?reason=mpg123-1.23.3
+
+(see https://git.buildroot.net/buildroot/tree/package/mpg123/mpg123.mk for
+the build logic)
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d695a3b..863f59f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,7 +9,6 @@
+ ACLOCAL_AMFLAGS = -I m4
+ bin_PROGRAMS =
+ EXTRA_PROGRAMS =
+-LIBS =
+ EXTRA_DIST =
+ pkglib_LTLIBRARIES =
+ lib_LTLIBRARIES =
+--
+2.7.0
+
MPG123_LICENSE = LGPLv2.1
MPG123_LICENSE_FILES = COPYING
MPG123_DEPENDENCIES = host-pkgconf
+# 0001-Makefile.am-don-t-override-LIBS.patch patches Makefile.am
+MPG123_AUTORECONF = YES
MPG123_CPU = $(if $(BR2_SOFT_FLOAT),generic_nofpu,generic_fpu)
--- /dev/null
+Fix aarch64 compile by adding HAVE_ARMV8 define
+
+Fixes build errors seen on the buildroot autobuilders:
+http://autobuild.buildroot.net/results/5f8/5f85c32eb89aac48ae8da892d9800bd13274cd3e/build-end.log
+
+libavutil/aarch64/cpu.c: In function 'ff_get_cpu_flags_aarch64':
+libavutil/aarch64/cpu.c:25:32: error: 'HAVE_ARMV8' undeclared (first use in this function)
+ return AV_CPU_FLAG_ARMV8 * HAVE_ARMV8 |
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(patch sent upstream:
+ http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-May/073496.html)
+
+Index: configure
+===================================================================
+--- a/configure (revision 37871)
++++ b/configure (working copy)
+@@ -1445,6 +1445,8 @@
+ --disable-armv6) _armv6=no ;;
+ --enable-armv6t2) _armv6t2=yes ;;
+ --disable-armv6t2) _armv6t2=no ;;
++ --enable-armv8) _armv8=yes ;;
++ --disable-armv8) _armv8=no ;;
+ --enable-armvfp) _armvfp=yes ;;
+ --disable-armvfp) _armvfp=no ;;
+ --enable-vfpv3) vfpv3=yes ;;
+@@ -3261,7 +3263,7 @@
+ echores "$_iwmmxt"
+ fi
+
+-cpuexts_all='ALTIVEC XOP AVX AVX2 FMA3 FMA4 MMX MMX2 MMXEXT AMD3DNOW AMD3DNOWEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 FAST_CMOV I686 FAST_CLZ ARMV5TE ARMV6 ARMV6T2 VFP VFPV3 SETEND NEON IWMMXT MMI VIS MVI'
++cpuexts_all='ALTIVEC XOP AVX AVX2 FMA3 FMA4 MMX MMX2 MMXEXT AMD3DNOW AMD3DNOWEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 FAST_CMOV I686 FAST_CLZ ARMV5TE ARMV6 ARMV6T2 ARMV8 VFP VFPV3 SETEND NEON IWMMXT MMI VIS MVI'
+ test "$_altivec" = yes && cpuexts="ALTIVEC $cpuexts"
+ test "$_mmx" = yes && cpuexts="MMX $cpuexts"
+ test "$_mmxext" = yes && cpuexts="MMX2 $cpuexts"
+@@ -3285,6 +3287,7 @@
+ test "$_armv5te" = yes && cpuexts="ARMV5TE $cpuexts"
+ test "$_armv6" = yes && cpuexts="ARMV6 $cpuexts"
+ test "$_armv6t2" = yes && cpuexts="ARMV6T2 $cpuexts"
++test "$_armv8" = yes && cpuexts="ARMV8 $cpuexts"
+ test "$_armvfp" = yes && cpuexts="VFP $cpuexts"
+ test "$vfpv3" = yes && cpuexts="VFPV3 $cpuexts"
+ test "$setend" = yes && cpuexts="SETEND $cpuexts"
MPLAYER_CONF_OPTS += --enable-armv6
endif
+ifeq ($(BR2_aarch64),y)
+MPLAYER_CONF_OPTS += --enable-armv8
+endif
+
ifeq ($(BR2_ARM_SOFT_FLOAT),)
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
MPLAYER_CONF_OPTS += --enable-neon
endif
ifeq ($(BR2_X86_CPU_HAS_MMX),y)
-MPLAYER_CONF_OPTS += --yasm=$(HOST_DIR)/usr/bin/yasm
+MPLAYER_CONF_OPTS += \
+ --enable-mmx \
+ --yasm=$(HOST_DIR)/usr/bin/yasm
MPLAYER_DEPENDENCIES += host-yasm
else
-MPLAYER_CONF_OPTS += --yasm=''
+MPLAYER_CONF_OPTS += \
+ --disable-mmx \
+ --yasm=''
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE),y)
+MPLAYER_CONF_OPTS += --enable-sse
+else
+MPLAYER_CONF_OPTS += --disable-sse
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
+MPLAYER_CONF_OPTS += --enable-sse2
+else
+MPLAYER_CONF_OPTS += --disable-sse2
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE3),y)
+MPLAYER_CONF_OPTS += --enable-sse3
+else
+MPLAYER_CONF_OPTS += --disable-sse3
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
+MPLAYER_CONF_OPTS += --enable-ssse3
+else
+MPLAYER_CONF_OPTS += --disable-ssse3
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE4),y)
+MPLAYER_CONF_OPTS += --enable-sse4
+else
+MPLAYER_CONF_OPTS += --disable-sse4
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE42),y)
+MPLAYER_CONF_OPTS += --enable-sse42
+else
+MPLAYER_CONF_OPTS += --disable-sse42
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_AVX),y)
+MPLAYER_CONF_OPTS += --enable-avx
+else
+MPLAYER_CONF_OPTS += --disable-avx
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_AVX2),y)
+MPLAYER_CONF_OPTS += --enable-avx2
+else
+MPLAYER_CONF_OPTS += --disable-avx2
endif
define MPLAYER_CONFIGURE_CMDS
config BR2_PACKAGE_MPV
bool "mpv"
- depends on !BR2_nios2 # ffmpeg
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE
https://mpv.io/
comment "mpv needs a toolchain w/ threads"
- depends on !BR2_nios2
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS
MTOOLS_SITE = $(BR2_GNU_MIRROR)/mtools
MTOOLS_LICENSE = GPLv3+
MTOOLS_LICENSE_FILES = COPYING
-MTOOLS_CONF_ENV = ac_cv_func_setpgrp_void=yes
MTOOLS_CONF_OPTS = --without-x
+# info documentation not needed
+MTOOLS_CONF_ENV = \
+ ac_cv_func_setpgrp_void=yes \
+ ac_cv_path_INSTALL_INFO=
+
+HOST_MTOOLS_CONF_ENV = \
+ ac_cv_path_INSTALL_INFO=
# link with iconv if enabled
ifeq ($(BR2_PACKAGE_LIBICONV),y)
config BR2_PACKAGE_MTR
bool "mtr"
+ depends on BR2_USE_MMU # fork()
help
mtr combines the functionality of the 'traceroute' and 'ping'
programs in a single network diagnostic tool.
--- /dev/null
+# Locally calculated
+sha256 12a6a94c0ec04d508de27eda5f5ba91f50d4b5fe74a98aca0973e2c16a42555a mtr-66de3ecbab28b054b868a73fbb57f30549d770ac.tar.gz
#
################################################################################
-MTR_VERSION = v0.86
+MTR_VERSION = 66de3ecbab28b054b868a73fbb57f30549d770ac
MTR_SITE = $(call github,traviscross,mtr,$(MTR_VERSION))
MTR_AUTORECONF = YES
MTR_CONF_OPTS = --without-gtk
MTR_LICENSE = GPLv2
MTR_LICENSE_FILES = COPYING
-# uClibc has res_ninit but not res_nmkquery
-ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
-define MTR_DISABLE_RES_NINIT
- $(SED) 's/#ifdef res_ninit/#if 0/' \
- $(@D)/dns.c
-endef
-endif
-
-MTR_POST_PATCH_HOOKS += MTR_DISABLE_RES_NINIT
-
$(eval $(autotools-package))
default y
select BR2_PACKAGE_LINUX_HEADERS
select BR2_PACKAGE_NETBSD_QUEUE
+ select BR2_TOOLCHAIN_HAS_SSP
--- /dev/null
+From a2076079a409141704701ec17a205d89e5b24052 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Sat, 28 May 2016 20:45:02 +0200
+Subject: [PATCH] Makefile: fix static linking issue with lintl
+
+When net-tools are build with uClibc-ng and statically linked,
+some tools like hostname and route needs to link with -lintl.
+
+Adding -lintl in LDFLAGS place the library before object files:
+arm-linux-gcc -O2 -g -Wall -fno-strict-aliasing -static -lintl -Llib -o hostname hostname.o
+
+Add $(LIBS) after object files in the Makefile to place -lintl correctly.
+
+Fixes:
+http://autobuild.buildroot.net/results/134/1345b6d366125320b89512e7ce7f142f1a03acf8
+
+Ref:
+http://lists.busybox.net/pipermail/buildroot/2016-May/162216.html
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ Makefile | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 171123d..a2baf79 100644
+--- a/Makefile
++++ b/Makefile
+@@ -158,37 +158,37 @@ subdirs: libdir
+ @for i in $(SUBDIRS:$(NET_LIB_PATH)/=); do $(MAKE) -C $$i || exit $$? ; done
+
+ ifconfig: $(NET_LIB) ifconfig.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ifconfig.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ifconfig.o $(LIBS) $(NLIB)
+
+ nameif: $(NET_LIB) nameif.o
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ nameif.o $(NLIB)
+
+ hostname: hostname.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ hostname.o $(DNLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ hostname.o $(LIBS) $(DNLIB)
+
+ route: $(NET_LIB) route.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ route.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ route.o $(LIBS) $(NLIB)
+
+ arp: $(NET_LIB) arp.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ arp.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ arp.o $(LIBS) $(NLIB)
+
+ rarp: $(NET_LIB) rarp.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ rarp.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ rarp.o $(LIBS) $(NLIB)
+
+ slattach: $(NET_LIB) slattach.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ slattach.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ slattach.o $(LIBS) $(NLIB)
+
+ plipconfig: $(NET_LIB) plipconfig.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ plipconfig.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ plipconfig.o $(LIBS) $(NLIB)
+
+ netstat: $(NET_LIB) netstat.o statistics.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ netstat.o statistics.o $(NLIB) $(SELIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ netstat.o statistics.o $(LIBS) $(NLIB) $(SELIB)
+
+ iptunnel: $(NET_LIB) iptunnel.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ iptunnel.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ iptunnel.o $(LIBS) $(NLIB)
+
+ ipmaddr: $(NET_LIB) ipmaddr.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ipmaddr.o $(NLIB)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ipmaddr.o $(LIBS) $(NLIB)
+
+ mii-tool: $(NET_LIB) mii-tool.o
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mii-tool.o $(NLIB)
+--
+2.5.5
+
NET_TOOLS_VERSION = 3f170bff115303e92319791cbd56371e33dcbf6d
NET_TOOLS_SITE = git://git.code.sf.net/p/net-tools/code
NET_TOOLS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
-NET_TOOLS_LDFLAGS = $(TARGET_LDFLAGS) \
- $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)
NET_TOOLS_LICENSE = GPLv2+
NET_TOOLS_LICENSE_FILES = COPYING
define NET_TOOLS_BUILD_CMDS
$(TARGET_MAKE_ENV) AR="$(TARGET_AR)" CC="$(TARGET_CC)" \
- LDFLAGS="$(NET_TOOLS_LDFLAGS)" $(MAKE) -C $(@D)
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ LIBS="$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" \
+ $(MAKE) -C $(@D)
endef
# install renames conflicting binaries, update does not
From fe05ccf80afe5de33d4f9c5e5545390c450bcd2d Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Thu, 24 Apr 2014 23:27:32 +0200
-Subject: [PATCH 1/5] auto/type/sizeof: rework autotest to be cross-compilation
+Subject: [PATCH] auto/type/sizeof: rework autotest to be cross-compilation
friendly
Rework the sizeof test to do the checks at compile time instead of at
From ef72be22ad6d58e230f75553d80b470b80c3303a Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sun, 4 May 2014 00:40:49 +0200
-Subject: [PATCH 2/5] auto/feature: add mechanism allowing to force feature run
+Subject: [PATCH] auto/feature: add mechanism allowing to force feature run
test result
Whenever a feature needs to run a test, the ngx_feature_run_force_result
From 71939b727a8fa9f722934700948a5b68960f6183 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Thu, 29 May 2014 18:52:10 +0200
-Subject: [PATCH 3/5] auto/*: set ngx_feature_run_force_result for each feature
+Subject: [PATCH] auto/*: set ngx_feature_run_force_result for each feature
requiring run test
Each feature requiring a run test has a matching preset variable (called
+++ /dev/null
-From 5d281572d0afbf69d934737e1ee4c553670a46cc Mon Sep 17 00:00:00 2001
-From: Samuel Martin <s.martin49@gmail.com>
-Date: Thu, 29 May 2014 19:22:27 +0200
-Subject: [PATCH 4/5] auto/lib/libxslt/conf: allow to override ngx_feature_path
- and ngx_feature_libs
-
-Because libxml2 headers are not in /usr/include by default, hardcoding the
-include directory to /usr/include/libxml2 does not play well when
-cross-compiling, or if libxml2 has been installed somewhere else.
-
-This patch allows to define/override the libxslt include directory, and
-the libxslt libs flags.
-
-Being able to override the include location is especially useful when
-cross-compiling to prevent gcc from complaining about unsafe include
-location for cross-compilation (-Wpoision-system-directories).
-
-So far, this warning is only triggered by libxslt.
-
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
----
- auto/lib/libxslt/conf | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf
-index bc19d83..386f1a0 100644
---- a/auto/lib/libxslt/conf
-+++ b/auto/lib/libxslt/conf
-@@ -12,8 +12,8 @@
- #include <libxslt/xsltInternals.h>
- #include <libxslt/transform.h>
- #include <libxslt/xsltutils.h>"
-- ngx_feature_path="/usr/include/libxml2"
-- ngx_feature_libs="-lxml2 -lxslt"
-+ ngx_feature_path="${ngx_feature_path_libxslt:=/usr/include/libxml2}"
-+ ngx_feature_libs="${ngx_feature_libs_libxslt:=-lxml2 -lxslt}"
- ngx_feature_test="xmlParserCtxtPtr ctxt = NULL;
- xsltStylesheetPtr sheet = NULL;
- xmlDocPtr doc;
---
-1.9.2
-
--- /dev/null
+From 211b9f19a3a62826fadef55d2f89d6f66fbf4aa6 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Thu, 29 May 2014 19:22:27 +0200
+Subject: [PATCH] auto/lib/libxslt/conf: use pkg-config
+
+Change to using pkg-config to find the path to libxslt and its
+dependencies.
+
+Signed-off-by: Martin Bark <martin@barkynet.com>
+---
+ auto/lib/libxslt/conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf
+index 3a0f37b..3c2a60e 100644
+--- a/auto/lib/libxslt/conf
++++ b/auto/lib/libxslt/conf
+@@ -12,8 +12,8 @@
+ #include <libxslt/xsltInternals.h>
+ #include <libxslt/transform.h>
+ #include <libxslt/xsltutils.h>"
+- ngx_feature_path="/usr/include/libxml2"
+- ngx_feature_libs="-lxml2 -lxslt"
++ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I libxslt|sed 's/-I//g')"
++ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs libxslt)"
+ ngx_feature_test="xmlParserCtxtPtr ctxt = NULL;
+ xsltStylesheetPtr sheet = NULL;
+ xmlDocPtr doc;
+--
+2.8.2
+
From 08617a8d29ee22831175697555558fec8f52772c Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sun, 1 Jun 2014 16:05:04 +0200
-Subject: [PATCH 5/5] auto/unix: make sys_nerr guessing cross-friendly
+Subject: [PATCH] auto/unix: make sys_nerr guessing cross-friendly
This patch replaces the default sys_nerr runtest with a test done at
buildtime.
--- /dev/null
+From 756556d127da291cad8a2c007a89124a692aef7f Mon Sep 17 00:00:00 2001
+From: Martin Bark <martin@barkynet.com>
+Date: Fri, 6 May 2016 14:48:31 +0100
+Subject: [PATCH] auto/lib/openssl/conf: use pkg-config
+
+Change to using pkg-config to find the path to openssl and its
+dependencies.
+
+Signed-off-by: Martin Bark <martin@barkynet.com>
+---
+ auto/lib/openssl/conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
+index 39d9602..995c6f3 100644
+--- a/auto/lib/openssl/conf
++++ b/auto/lib/openssl/conf
+@@ -50,8 +50,8 @@ else
+ ngx_feature_name="NGX_OPENSSL"
+ ngx_feature_run=no
+ ngx_feature_incs="#include <openssl/ssl.h>"
+- ngx_feature_path=
+- ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL"
++ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl|sed 's/-I//g')"
++ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)"
+ ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
+ . auto/feature
+
+--
+2.8.2
+
--- /dev/null
+From fd9885fe5fef5826034547ca6be7299863f99769 Mon Sep 17 00:00:00 2001
+From: Martin Bark <martin@barkynet.com>
+Date: Fri, 6 May 2016 14:48:49 +0100
+Subject: [PATCH] auto/lib/libgd/conf: use pkg-config
+
+Change to using pkg-config to find the path to libgd and its
+dependencies.
+
+Signed-off-by: Martin Bark <martin@barkynet.com>
+---
+ auto/lib/libgd/conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/auto/lib/libgd/conf b/auto/lib/libgd/conf
+index 6e4e91c..1c536a2 100644
+--- a/auto/lib/libgd/conf
++++ b/auto/lib/libgd/conf
+@@ -7,8 +7,8 @@
+ ngx_feature_name=
+ ngx_feature_run=no
+ ngx_feature_incs="#include <gd.h>"
+- ngx_feature_path=
+- ngx_feature_libs="-lgd"
++ ngx_feature_path="$(${GDLIB_CONFIG:=gdlib-config} --includedir)"
++ ngx_feature_libs="$(${GDLIB_CONFIG:=gdlib-config} --libs)"
+ ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);"
+ . auto/feature
+
+--
+2.8.2
+
--- /dev/null
+From 8dc9dffc1f99ac951865f3135dfb5061a08d1f85 Mon Sep 17 00:00:00 2001
+From: Martin Bark <martin@barkynet.com>
+Date: Fri, 6 May 2016 16:29:17 +0100
+Subject: [PATCH] src/os/unix/ngx_linux_config.h: only include dlfcn.h if
+ available
+
+Signed-off-by: Martin Bark <martin@barkynet.com>
+---
+ src/os/unix/ngx_linux_config.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/os/unix/ngx_linux_config.h b/src/os/unix/ngx_linux_config.h
+index 2f6129d..4244086 100644
+--- a/src/os/unix/ngx_linux_config.h
++++ b/src/os/unix/ngx_linux_config.h
+@@ -55,10 +55,12 @@
+ #include <crypt.h>
+ #include <sys/utsname.h> /* uname() */
+
+-#include <dlfcn.h>
++#include <ngx_auto_config.h>
+
+
+-#include <ngx_auto_config.h>
++#if (NGX_HAVE_DLOPEN)
++#include <dlfcn.h>
++#endif
+
+
+ #if (NGX_HAVE_POSIX_SEM)
+--
+2.8.2
+
menuconfig BR2_PACKAGE_NGINX
bool "nginx"
depends on BR2_USE_MMU # fork()
+ select BR2_PACKAGE_LIBATOMIC_OPS if BR2_sparc_v8 || BR2_sparc_leon3
help
nginx is an HTTP and reverse proxy server, as well as a mail proxy
server.
NGINX_SITE = http://nginx.org/download
NGINX_LICENSE = BSD-2c
NGINX_LICENSE_FILES = LICENSE
+NGINX_DEPENDENCIES = host-pkgconf
NGINX_CONF_OPTS = \
--crossbuild=Linux::$(BR2_ARCH) \
--with-cc="$(TARGET_CC)" \
--with-cpp="$(TARGET_CC)" \
- --with-cc-opt="$(TARGET_CFLAGS)" \
--with-ld-opt="$(TARGET_LDFLAGS)" \
--with-ipv6
ngx_force_c99_have_variadic_macros=yes \
ngx_force_gcc_have_variadic_macros=yes \
ngx_force_gcc_have_atomic=yes \
- ngx_force_have_libatomic=no \
ngx_force_have_epoll=yes \
ngx_force_have_sendfile=yes \
ngx_force_have_sendfile64=yes \
$(if $(BR2_PACKAGE_NGINX_FILE_AIO),--with-file-aio) \
$(if $(BR2_PACKAGE_NGINX_THREADS),--with-threads)
+ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y)
+NGINX_DEPENDENCIES += libatomic_ops
+NGINX_CONF_OPTS += --with-libatomic
+NGINX_CONF_ENV += ngx_force_have_libatomic=yes
+ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
+NGINX_CFLAGS += "-DAO_NO_SPARC_V9"
+endif
+else
+NGINX_CONF_ENV += ngx_force_have_libatomic=no
+endif
+
ifeq ($(BR2_PACKAGE_PCRE),y)
NGINX_DEPENDENCIES += pcre
NGINX_CONF_OPTS += --with-pcre
ifeq ($(BR2_PACKAGE_NGINX_HTTP_XSLT_MODULE),y)
NGINX_DEPENDENCIES += libxml2 libxslt
NGINX_CONF_OPTS += --with-http_xslt_module
-NGINX_CONF_ENV += \
- ngx_feature_path_libxslt=$(STAGING_DIR)/usr/include/libxml2
endif
ifeq ($(BR2_PACKAGE_NGINX_HTTP_IMAGE_FILTER_MODULE),y)
NGINX_PRE_CONFIGURE_HOOKS += NGINX_DISABLE_WERROR
define NGINX_CONFIGURE_CMDS
- cd $(@D) ; $(NGINX_CONF_ENV) ./configure $(NGINX_CONF_OPTS)
+ cd $(@D) ; $(NGINX_CONF_ENV) \
+ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
+ GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config \
+ ./configure $(NGINX_CONF_OPTS) \
+ --with-cc-opt="$(TARGET_CFLAGS) $(NGINX_CFLAGS)"
endef
define NGINX_BUILD_CMDS
config BR2_PACKAGE_OPENCV_LIB_GPU
bool "gpu"
+ depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # opencv libphoto
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
select BR2_PACKAGE_OPENCV_LIB_LEGACY
select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
select BR2_PACKAGE_OPENCV_LIB_PHOTO
select BR2_PACKAGE_OPENCV_LIB_VIDEO
+ depends on !BR2_STATIC_LIBS
help
Include opencv_gpu module into the OpenCV build.
+comment "gpu module needs a toolchain w/ dynamic libraries"
+ depends on BR2_STATIC_LIBS
+
config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
bool "highgui"
default y
config BR2_PACKAGE_OPENCV_LIB_PHOTO
bool "photo"
default y
+ depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Binutils 2.25 nios2 issue
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
help
Include opencv_photo module into the OpenCV build.
config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB
bool "videostab"
default y
+ depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # opencv libphoto
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
select BR2_PACKAGE_OPENCV_LIB_HIGHGUI
help
Include opencv_videostab module into the OpenCV build.
+if !BR2_STATIC_LIBS
+
comment "Test sets"
+
config BR2_PACKAGE_OPENCV_BUILD_TESTS
bool "build tests"
config BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS
bool "build performance tests"
+endif
+
+comment "Tests sets need a toolchain w/ dynamic libraries"
+ depends on BR2_STATIC_LIBS
+
comment "3rd party support"
config BR2_PACKAGE_OPENCV_WITH_FFMPEG
bool "ffmpeg support"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE
- depends on !BR2_nios2 # ffmpeg
help
Use ffmpeg from the target system.
config BR2_PACKAGE_OPENCV3_WITH_FFMPEG
bool "ffmpeg support"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_AVRESAMPLE
select BR2_PACKAGE_FFMPEG_SWSCALE
- depends on !BR2_nios2 # ffmpeg
help
Use ffmpeg from the target system.
--- /dev/null
+From 01128a2d8ad3288e8b96a908888049f186d156ee Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sat, 21 May 2016 19:44:48 +0200
+Subject: [PATCH 1/1] Rework headers includes to fix build with musl libc
+
+Downloaded patch from
+http://git.alpinelinux.org/cgit/aports/plain/main/openpgm/openpgm-fix-includes.patch
+and adjusted paths by prefixing with "openpgm/pgm/"
+
+A build log with the compile error can be found here:
+http://autobuild.buildroot.net/results/854/854554827ead82f29b293ddceced6eb7fbfeec27/build-end.log
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(Patch sent upstream: https://github.com/steve-o/openpgm/pull/44)
+---
+ openpgm/pgm/include/impl/security.h | 3 ++-
+ openpgm/pgm/include/pgm/types.h | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/openpgm/pgm/include/impl/security.h b/openpgm/pgm/include/impl/security.h
+index c2b3e3d..896316f 100644
+--- a/openpgm/pgm/include/impl/security.h
++++ b/openpgm/pgm/include/impl/security.h
+@@ -33,7 +33,6 @@
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <sys/types.h>
+-#include <sys/timeb.h>
+ #include <impl/i18n.h>
+ #include <impl/errno.h>
+ #include <impl/string.h>
+@@ -41,6 +40,8 @@
+ PGM_BEGIN_DECLS
+
+ #ifdef HAVE_FTIME
++#include <sys/timeb.h>
++
+ static inline
+ errno_t
+ # if !defined( _WIN32 )
+diff --git a/openpgm/pgm/include/pgm/types.h b/openpgm/pgm/include/pgm/types.h
+index 4e41261..58731a3 100644
+--- a/openpgm/pgm/include/pgm/types.h
++++ b/openpgm/pgm/include/pgm/types.h
+@@ -27,6 +27,7 @@
+
+ #ifndef _MSC_VER
+ # include <sys/param.h>
++# include <sys/types.h>
+ #endif
+ #include <pgm/macros.h>
+
+--
+2.8.1
+
-From 5cf3f37e12d0bb4649e3cda29a43d748708aa554 Mon Sep 17 00:00:00 2001
+From 6f4bcf829efe5ce31592003e049606ae1de05e90 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@openwide.fr>
Date: Wed, 12 Aug 2015 11:24:24 +0200
Subject: [PATCH] Add top level CMakeLists.txt
For a top level build, CMake will automatically add a build
dependency on oplk libraries for building demos applications.
-This patch has been submitted upstream:
+Also replace OPLKLIB_DEBUG by OPLKLIB in OPLK_LINK_LIBRARIES macro
+if CMAKE_BUILD_TYPE is "Debug", otherwise TARGET_LINK_LIBRARIES can't
+find the openpowerlink library.
+This issue may be related to:
+https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/issues/109
+
+Fixes:
+http://autobuild.buildroot.net/results/da4/da445b65cb136d71577f04e3a17fdb2ef6302a9b
+
+This patch has not been accepted by upstream:
https://github.com/openPOWERLINK/openPOWERLINK_V2/pull/57
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
CMakeLists.txt | 36 +++++++++++++++
apps/common/cmake/findoplklib.cmake | 68 +++++++++++++++-------------
+ apps/common/cmake/linkoplklib.cmake | 2 +-
drivers/linux/drv_daemon_pcap/CMakeLists.txt | 12 +++--
- 3 files changed, 82 insertions(+), 34 deletions(-)
+ 4 files changed, 83 insertions(+), 35 deletions(-)
create mode 100644 CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
+ ENDIF(CFG_OPLK_LIB)
ENDMACRO(FIND_OPLK_LIBRARY)
+diff --git a/apps/common/cmake/linkoplklib.cmake b/apps/common/cmake/linkoplklib.cmake
+index 49aab66..d9fd418 100644
+--- a/apps/common/cmake/linkoplklib.cmake
++++ b/apps/common/cmake/linkoplklib.cmake
+@@ -33,7 +33,7 @@ MACRO(OPLK_LINK_LIBRARIES EXECUTABLE_NAME)
+ TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${OPLKLIB} debug ${OPLKLIB_DEBUG})
+ ELSE()
+ IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+- TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} debug ${OPLKLIB_DEBUG})
++ TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} debug ${OPLKLIB})
+ ELSE ()
+ TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${OPLKLIB})
+ ENDIF()
diff --git a/drivers/linux/drv_daemon_pcap/CMakeLists.txt b/drivers/linux/drv_daemon_pcap/CMakeLists.txt
index 2702abd..81bb598 100644
--- a/drivers/linux/drv_daemon_pcap/CMakeLists.txt
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -std=c99 -pthread -fno-strict-aliasing")
--
-2.4.3
+2.5.5
--- /dev/null
+From 42a95209c5650662b86d222678ec14e7edfae156 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Wed, 25 May 2016 13:26:49 +0200
+Subject: [PATCH] veth: avoid kernel header issue with musl
+
+The Virtual Ethernet driver doesn't build when the musl libc is used on the
+system. As stated in the musl wiki [1], the userspace and kernel headers are
+mixed leading to a "clash" with the definitions provided by musl.
+
+Remove netinet/if_ether.h userspace header and replace ETHER_ADDR_LEN by
+ETH_ALEN [2] and ETHERMTU by ETH_DATA_LEN [3] in veth-linuxuser.c.
+
+Fixes:
+http://autobuild.buildroot.org/results/2ca/2ca04bb046263e479e7597867b56469893d3c11d/build-end.log
+
+Upsteam status: pending
+https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/pull/120
+
+[Rebase on v2.2.2]
+[1] http://wiki.musl-libc.org/wiki/FAQ#Q:_why_am_i_getting_.22error:_redefinition_of_struct_ethhdr.2Ftcphdr.2Fetc.22_.3F
+[2] https://git.musl-libc.org/cgit/musl/tree/include/net/ethernet.h?h=v1.1.14#n35
+[3] https://git.musl-libc.org/cgit/musl/tree/include/net/ethernet.h?h=v1.1.14#n48
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ stack/src/kernel/veth/veth-linuxuser.c | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/stack/src/kernel/veth/veth-linuxuser.c b/stack/src/kernel/veth/veth-linuxuser.c
+index 2a0bdd0..2bfaa87 100644
+--- a/stack/src/kernel/veth/veth-linuxuser.c
++++ b/stack/src/kernel/veth/veth-linuxuser.c
+@@ -61,7 +61,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #include <arpa/inet.h>
+ #include <linux/if.h>
+ #include <linux/if_tun.h>
+-#include <netinet/if_ether.h>
+
+ //============================================================================//
+ // G L O B A L D E F I N I T I O N S //
+@@ -248,7 +247,7 @@ static void getMacAdrs(UINT8* pMac_p)
+
+ close(sock);
+
+- OPLK_MEMCPY(pMac_p, &ifr.ifr_hwaddr.sa_data[0], ETHER_ADDR_LEN);
++ OPLK_MEMCPY(pMac_p, &ifr.ifr_hwaddr.sa_data[0], ETH_ALEN);
+ }
+
+ //------------------------------------------------------------------------------
+@@ -272,9 +271,9 @@ static tOplkError veth_receiveFrame(tFrameInfo* pFrameInfo_p,
+
+ // replace the MAC address of the POWERLINK Ethernet interface with virtual
+ // Ethernet MAC address before forwarding it into the virtual Ethernet interface
+- if (OPLK_MEMCMP(pFrameInfo_p->pFrame->aDstMac, vethInstance_l.macAdrs, ETHER_ADDR_LEN) == 0)
++ if (OPLK_MEMCMP(pFrameInfo_p->pFrame->aDstMac, vethInstance_l.macAdrs, ETH_ALEN) == 0)
+ {
+- OPLK_MEMCPY(pFrameInfo_p->pFrame->aDstMac, vethInstance_l.tapMacAdrs, ETHER_ADDR_LEN);
++ OPLK_MEMCPY(pFrameInfo_p->pFrame->aDstMac, vethInstance_l.tapMacAdrs, ETH_ALEN);
+ }
+
+ nwrite = write(vethInstance_l.fd, pFrameInfo_p->pFrame, pFrameInfo_p->frameSize);
+@@ -302,7 +301,7 @@ to be used as a thread which does a blocking read in a while loop.
+ //------------------------------------------------------------------------------
+ static void* vethRecvThread(void* pArg_p)
+ {
+- UINT8 buffer[ETHERMTU];
++ UINT8 buffer[ETH_DATA_LEN];
+ UINT nread;
+ tFrameInfo frameInfo;
+ tOplkError ret = kErrorOk;
+@@ -331,7 +330,7 @@ static void* vethRecvThread(void* pArg_p)
+ break;
+
+ default: // data from tun/tap ready for read
+- nread = read(pInstance->fd, buffer, ETHERMTU);
++ nread = read(pInstance->fd, buffer, ETH_DATA_LEN);
+ if (nread > 0)
+ {
+ DEBUG_LVL_VETH_TRACE("VETH:Read %d bytes from the tap interface\n", nread);
+@@ -340,7 +339,7 @@ static void* vethRecvThread(void* pArg_p)
+ DEBUG_LVL_VETH_TRACE("DST MAC: %02X:%02X:%02x:%02X:%02X:%02x\n",
+ buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5]);
+ // replace src MAC address with MAC address of virtual Ethernet interface
+- OPLK_MEMCPY(&buffer[6], pInstance->macAdrs, ETHER_ADDR_LEN);
++ OPLK_MEMCPY(&buffer[6], pInstance->macAdrs, ETH_ALEN);
+
+ frameInfo.pFrame = (tPlkFrame *)buffer;
+ frameInfo.frameSize = nread;
+--
+2.5.5
+
config BR2_PACKAGE_OPENVPN
bool "openvpn"
depends on BR2_USE_MMU # fork()
+ select BR2_PACKAGE_OPENSSL
help
OpenVPN is a full-featured SSL VPN solution which can
accomodate a wide range of configurations, including road
Allow --askpass and --auth-user-pass passwords to be read
from a file.
-choice
- prompt "Crypto backend"
- default BR2_PACKAGE_OPENVPN_CRYPTO_OPENSSL
- help
- Select the cryptographic library to use.
-
- config BR2_PACKAGE_OPENVPN_CRYPTO_OPENSSL
- bool "OpenSSL"
- select BR2_PACKAGE_OPENSSL
- help
- Enable TLS-based key exchange and OpenSSL crypto support.
-
- config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL
- bool "PolarSSL"
- select BR2_PACKAGE_POLARSSL
- help
- Enable TLS-based key exchange and PolarSSL crypto support.
-
-endchoice
-
endif
# Locally calculated after checking pgp signature
-sha256 52f16bef3a02369682f1464fbd2821070c98d0bd993f4c46c764e87375abdcc1 openvpn-2.3.9.tar.xz
+sha256 0f5f1ca1dc5743fa166d93dd4ec952f014b5f33bafd88f0ea34b455cae1434a7 openvpn-2.3.11.tar.xz
#
################################################################################
-OPENVPN_VERSION = 2.3.9
+OPENVPN_VERSION = 2.3.11
OPENVPN_SOURCE = openvpn-$(OPENVPN_VERSION).tar.xz
OPENVPN_SITE = http://swupdate.openvpn.net/community/releases
-OPENVPN_DEPENDENCIES = host-pkgconf
+OPENVPN_DEPENDENCIES = host-pkgconf openssl
OPENVPN_LICENSE = GPLv2
OPENVPN_LICENSE_FILES = COPYRIGHT.GPL
OPENVPN_CONF_OPTS = \
--disable-plugin-auth-pam \
--enable-iproute2 \
+ --with-crypto-library=openssl \
$(if $(BR2_STATIC_LIBS),--disable-plugins)
OPENVPN_CONF_ENV = IFCONFIG=/sbin/ifconfig \
NETSTAT=/bin/netstat \
OPENVPN_CONF_OPTS += --disable-password-save
endif
-ifeq ($(BR2_PACKAGE_OPENVPN_CRYPTO_OPENSSL),y)
-OPENVPN_CONF_OPTS += --with-crypto-library=openssl
-OPENVPN_DEPENDENCIES += openssl
-endif
-
-ifeq ($(BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL),y)
-OPENVPN_CONF_OPTS += --with-crypto-library=polarssl
-OPENVPN_DEPENDENCIES += polarssl
-endif
-
define OPENVPN_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 $(@D)/src/openvpn/openvpn \
$(TARGET_DIR)/usr/sbin/openvpn
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_aarch64 && !BR2_nios2 # binutils
depends on BR2_USE_WCHAR # binutils
- depends on !BR2_xtensa
+ # no memory barrier functions
+ depends on !BR2_xtensa && !BR2_microblaze
# libpfm4 is needed on PowerPC, and requires thread support
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_powerpc
help
comment "oprofile needs a toolchain w/ C++, wchar"
depends on BR2_USE_MMU
- depends on !BR2_aarch64 && !BR2_nios2 && !BR2_xtensa
+ depends on !BR2_aarch64 && !BR2_nios2 && !BR2_xtensa && !BR2_microblaze
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
comment "oprofile needs a toolchain w/ NPTL on PPC"
# nconfig, gconfig, xconfig).
# So we simply remove our PATH and PKG_CONFIG_* variables.
$(2)_CONFIGURATOR_MAKE_ENV = \
- $$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV))
+ $$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
+ PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)"
# Configuration editors (menuconfig, ...)
#
POSTGRESQL_INSTALL_STAGING = YES
POSTGRESQL_CONFIG_SCRIPTS = pg_config
POSTGRESQL_CONF_ENV = ac_cv_type_struct_sockaddr_in6=yes \
- pgac_cv_snprintf_long_long_int_format="%lld" \
+ pgac_cv_snprintf_long_long_int_modifier="%lld" \
pgac_cv_snprintf_size_t_support=yes
POSTGRESQL_CONF_OPTS = --disable-rpath
--- /dev/null
+From 71830c804be76cf6abe913ac2fe584947b7a91ea Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Tue, 24 May 2016 23:08:40 +0200
+Subject: [PATCH] cmake: add check for explicit linking against libatomic
+
+To use atomics functions, some toolchains requires to explicitly add
+-latomic to the linker flags (because they are not provided by libc,
+but libatomic).
+
+This change adds a helper function trying to build/link a test program
+using atomics, then calls it to:
+* first check if atomics are directly available in the libc;
+* if not and libatomic has been found, then run the same test with
+ "-latomic" added to the linker flags.
+The pulseview link library list is updated according to the results of
+these tests.
+
+This issue was triggered by the Buildroot farms:
+ http://autobuild.buildroot.org/results/1e3/1e3101261252d5f30fdf842cc99604e4f4c25eef/build-end.log
+
+Notes:
+1- CMAKE_REQUIRED_* variables are only used in check functions. They
+ are not automatically forwarded to/handled by the target commands
+ (such as target_link_library), because the check functions are
+ implemented as macro in CMake code, whereas many target commands
+ are native.
+2- Because of note #1, CMAKE_REQUIRED_LIBRARIES (or its value) must be
+ explicitly passed to the target_link_library command when this is
+ needed.
+3- In this implementation, LIBATOMIC_LIBRARY is only set when it is
+ needed; so, unconditionally appending it to PULSEVIEW_LINK_LIBS
+ will produce the expected behavior.
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+
+---
+changes v1->v2:
+- use std::atomic_fetch_add_explicit function instead of
+ __atomic_fetch_add_4;
+- rework code using cmake_*_check_state and find_library helpers;
+- quiet-ize checks and clean outputs
+- extend the commit log
+---
+ CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9dac69f..44f810e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -107,6 +107,55 @@ endif()
+ # This will set ${CMAKE_THREAD_LIBS_INIT} to the correct, OS-specific value.
+ find_package(Threads REQUIRED)
+
++
++# Check for explicit link against libatomic
++#
++# Depending on the toolchain, linking a program using atomic functions may need
++# "-latomic" explicitly passed to the linker
++#
++# This check first tests if atomics are available in the C-library, if not and
++# libatomic exists, then it runs the same test with -latomic added to the
++# linker flags.
++
++# Helper for checking for atomics
++function(check_working_cxx_atomics varname additional_lib)
++ include(CheckCXXSourceCompiles)
++ include(CMakePushCheckState)
++ cmake_push_check_state()
++ set(CMAKE_REQUIRED_FLAGS "-std=c++11")
++ set(CMAKE_REQUIRED_LIBRARIES "${additional_lib}")
++ set(CMAKE_REQUIRED_QUIET 1)
++ CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++std::atomic<int> x;
++int main() {
++ return std::atomic_fetch_add_explicit(&x, 1, std::memory_order_seq_cst);
++}
++" ${varname})
++ cmake_pop_check_state()
++endfunction(check_working_cxx_atomics)
++
++# First check if atomics work without the library.
++# If not, check if the library exists, and atomics work with it.
++check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB "")
++if(HAVE_CXX_ATOMICS_WITHOUT_LIB)
++ message(STATUS "Atomics provided by the C-library - yes")
++else()
++ message(STATUS "Atomics provided by the C-library - no")
++ find_library(LIBATOMIC_LIBRARY NAMES atomic PATH_SUFFIXES lib)
++ if(LIBATOMIC_LIBRARY)
++ check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB "${LIBATOMIC_LIBRARY}")
++ if (HAVE_CXX_ATOMICS_WITH_LIB)
++ message(STATUS "Atomics provided by libatomic - yes")
++ else()
++ message(STATUS "Atomics provided by libatomic - no")
++ message(FATAL_ERROR "Compiler must support std::atomic!")
++ endif()
++ else()
++ message(FATAL_ERROR "Compiler appears to require libatomic, but cannot find it.")
++ endif()
++endif()
++
+ #===============================================================================
+ #= System Introspection
+ #-------------------------------------------------------------------------------
+@@ -387,6 +436,7 @@ set(PULSEVIEW_LINK_LIBS
+ ${Boost_LIBRARIES}
+ ${QT_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT}
++ ${LIBATOMIC_LIBRARY}
+ )
+
+ if(STATIC_PKGDEPS_LIBS)
+--
+2.8.3
+
--- /dev/null
+From 4ae1577b432c1859704d2763f70a764dee23bd98 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Thu, 28 Apr 2016 22:40:32 -0400
+Subject: [PATCH] uxcons: Fix on musl libc
+
+musl libc exports FD_SET and friends in sys/select.h.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: upstream commit 4ae1577b432c
+
+ unix/uxcons.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/unix/uxcons.c b/unix/uxcons.c
+index b9fd67fe9274..f2a25f3fed70 100644
+--- a/unix/uxcons.c
++++ b/unix/uxcons.c
+@@ -12,6 +12,7 @@
+ #include <termios.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <sys/select.h>
+
+ #include "putty.h"
+ #include "storage.h"
+--
+2.8.1
+
--- /dev/null
+From 3377ea57f5d333d65d44a1130161396782389e88 Mon Sep 17 00:00:00 2001
+From: Tim Kosse <tim.kosse@filezilla-project.org>
+Date: Tue, 11 Aug 2015 09:43:34 +0200
+Subject: [PATCH] Fix __uint128_t compile error on MinGW.
+
+MinGW has __uint128_t, but not __uint64_t.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: upstream commit 3377ea57f5
+
+ sshbn.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sshbn.h b/sshbn.h
+index a043241eea67..9366f614ae4c 100644
+--- a/sshbn.h
++++ b/sshbn.h
+@@ -26,7 +26,7 @@
+ * using the same 'two machine registers' kind of code generation that
+ * 32-bit targets use for 64-bit ints. If we have one of these, we can
+ * use a 64-bit BignumInt and a 128-bit BignumDblInt. */
+-typedef __uint64_t BignumInt;
++typedef unsigned long long BignumInt;
+ typedef __uint128_t BignumDblInt;
+ #define BIGNUM_INT_MASK 0xFFFFFFFFFFFFFFFFULL
+ #define BIGNUM_TOP_BIT 0x8000000000000000ULL
+--
+2.8.1
+
--- /dev/null
+From 3cf8d89cbb44b5c7a0693d0b5d665e68acc3927c Mon Sep 17 00:00:00 2001
+From: Thomas Klausner <wiz@NetBSD.org>
+Date: Tue, 10 May 2016 00:14:33 +0200
+Subject: [PATCH] Fix twisted detection.
+
+Addresses https://github.com/coherence-project/Coherence/issues/25
+
+Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+---
+ coherence/__init__.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/coherence/__init__.py b/coherence/__init__.py
+index 2e4e8f1..4c4d73d 100644
+--- a/coherence/__init__.py
++++ b/coherence/__init__.py
+@@ -24,8 +24,6 @@ try:
+ if twisted_version < Version("twisted", 2, 5, 0):
+ raise ImportError("Twisted >= 2.5 is required. Please install it.")
+
+- if twisted_web_version < Version("twisted.web", 2, 5, 0):
+- raise ImportError("Twisted.Web >= 2.5 is required. Please install it")
+ except ImportError, exc:
+ # log error to stderr, might be useful for debugging purpose
+ for arg in exc.args:
+--
+2.8.1
+
select BR2_PACKAGE_PYTHON_PYASN # runtime
select BR2_PACKAGE_PYTHON_PYASN_MODULES # runtime
select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime
+ depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl, python-pyasn
help
Service identity verification for pyOpenSSL.
https://pypi.python.org/pypi/service_identity
+
+comment "python-service-identify needs a toolchain w/ C++"
+ depends on !BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_PYTHON_SIX # runtime
select BR2_PACKAGE_PYTHON_TWISTED # runtime
select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime
+ depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl
help
treq is an HTTP library inspired by requests but written on
top of Twisted's Agents. It provides a simple, higher level
API for making HTTP requests when using Twisted.
https://github.com/twisted/treq
+
+comment "python-treq needs a toolchain w/ C++"
+ depends on !BR2_INSTALL_LIBSTDCPP
--- /dev/null
+From fe45b18f777b1414aee908f08f56a5730a00dbb5 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sat, 21 May 2016 09:59:56 +0200
+Subject: [PATCH 1/1] md5: fix musl build by removing usage of internal glibc
+ header sys/cdefs.h
+
+As suggested in musl FAQ:
+http://wiki.musl-libc.org/wiki/FAQ#Q:_I.27m_trying_to_compile_something_against_musl_and_I_get_error_messages_about_sys.2Fcdefs.h
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(Patch for master branch sent upstream:
+ https://github.com/wolkykim/qlibc/pull/53,
+ this patch is a backport for v2.1.6)
+---
+ src/internal/md5/md5.h | 10 ++++++----
+ src/internal/md5/md5c.c | 1 -
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/internal/md5/md5.h b/src/internal/md5/md5.h
+index cbfa7ca..8e726fe 100644
+--- a/src/internal/md5/md5.h
++++ b/src/internal/md5/md5.h
+@@ -35,9 +35,9 @@ typedef struct MD5Context {
+ unsigned char buffer[64]; /* input buffer */
+ } MD5_CTX;
+
+-#include <sys/cdefs.h>
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ void MD5Init (MD5_CTX *);
+ void MD5Update (MD5_CTX *, const unsigned char *, unsigned int);
+ void MD5Final (unsigned char[16], MD5_CTX *);
+@@ -45,6 +45,8 @@ char * MD5End(MD5_CTX *, char *);
+ char * MD5File(const char *, char *);
+ char * MD5FileChunk(const char *, char *, off_t, off_t);
+ char * MD5Data(const unsigned char *, unsigned int, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* Q_MD5_H */
+diff --git a/src/internal/md5/md5c.c b/src/internal/md5/md5c.c
+index de9e47f..040bf5e 100644
+--- a/src/internal/md5/md5c.c
++++ b/src/internal/md5/md5c.c
+@@ -26,7 +26,6 @@
+ * edited for clarity and style only.
+ */
+
+-#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <string.h>
+ #include "md5.h"
+--
+2.8.1
+
select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_QT5BASE_GUI
select BR2_PACKAGE_QT5BASE_NETWORK
+ select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5BASE_OPENGL
help
Qt is a cross-platform application and UI framework for
developers using C++.
config BR2_PACKAGE_QT5SERIALBUS
bool "qt5serialbus"
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 # CAN FD
select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_QT5SERIALPORT
help
This package corresponds to the qt5serialbus module.
http://qt.io
+
+comment "qt5serialbus needs headers >= 3.6"
+ depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
QUAGGA_DEPENDENCIES = host-gawk
QUAGGA_LICENSE = GPLv2+
QUAGGA_LICENSE_FILES = COPYING
-QUAGGA_CONF_OPTS = --program-transform-name=''
+
+# We need to override the sysconf and localstate directories so that
+# quagga can create files as the quagga user without extra
+# intervention
+QUAGGA_CONF_OPTS = \
+ --program-transform-name='' \
+ --sysconfdir=/etc/quagga \
+ --localstatedir=/var/run/quagga
+
# 0002-configure-fix-static-linking-with-readline.patch
QUAGGA_AUTORECONF = YES
QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE),--enable-bgp-announce,--disable-bgp-announce)
QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_TCP_ZERBRA),--enable-tcp-zebra,--disable-tcp-zebra)
+define QUAGGA_USERS
+ quagga -1 quagga -1 * - - - Quagga priv drop user
+endef
+
+# Set the permissions of /etc/quagga such that quagga (through vtysh)
+# can save the configuration - set the folder recursively as the files
+# need to be 600, and then set the folder (non-recursively) to 755 so
+# it can used. Quagga also needs to write to the folder as it moves
+# and creates, rather than overwriting.
+define QUAGGA_PERMISSIONS
+ /etc/quagga r 600 quagga quagga - - - - -
+ /etc/quagga d 755 quagga quagga - - - - -
+endef
+
ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y)
QUAGGA_CONF_ENV += ac_cv_path_NETSNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config
QUAGGA_CONF_OPTS += --enable-snmp=agentx
QUAGGA_CONF_OPTS += --disable-pie
endif
+define QUAGGA_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/quagga/quagga_tmpfiles.conf \
+ $(TARGET_DIR)/usr/lib/tmpfiles.d/quagga.conf
+endef
+
$(eval $(autotools-package))
--- /dev/null
+d /var/run/quagga/ 1755 quagga quagga -
depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
+comment "rpm needs a toolchain w/ gcc >= 5"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
+
config BR2_PACKAGE_RPM
bool "rpm"
+ # triggers internal compiler error
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_BEECRYPT
--- /dev/null
+From 24e6d5bcf791a5c3f46191e544731420ff8b1312 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Thu, 19 May 2016 11:10:02 -0300
+Subject: [PATCH] process.c: fix rb_spawn_process() for nommu
+
+rb_spawn_process() in process.c tries different solutions for when fork
+and/or spawnv are/aren't available.
+The last resort when both aren't is to use the system() call which
+stores the value in the status variable, which isn't declared.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+---
+Patch status: reported https://bugs.ruby-lang.org/issues/12398
+
+ process.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/process.c b/process.c
+index e196639..40967f7 100644
+--- a/process.c
++++ b/process.c
+@@ -3897,6 +3897,9 @@ rb_spawn_process(struct rb_execarg *eargp, char *errmsg, size_t errmsg_buflen)
+ VALUE prog;
+ struct rb_execarg sarg;
+ #endif
++#if !defined HAVE_WORKING_FORK || !USE_SPAWNV
++ int status;
++#endif
+
+ #if defined HAVE_WORKING_FORK && !USE_SPAWNV
+ pid = rb_fork_async_signal_safe(NULL, rb_exec_atfork, eargp, eargp->redirect_fds, errmsg, errmsg_buflen);
+--
+2.7.3
+
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smb.service
ln -sf ../../../../usr/lib/systemd/system/winbind.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbind.service
+ $(INSTALL) -D -m 644 $(@D)/packaging/systemd/samba.conf.tmp \
+ $(TARGET_DIR)/etc/tmpfiles.d/samba.conf
+ printf "d /var/log/samba 755 root root\n" >>$(TARGET_DIR)/etc/tmpfiles.d/samba.conf
endef
$(eval $(generic-package))
config BR2_PACKAGE_SG3_UTILS
bool "sg3-utils"
+ depends on !BR2_bfin # symbol prefixing problems
depends on BR2_TOOLCHAIN_HAS_THREADS
help
Low level utilities for devices that use a SCSI command set.
endif
comment "sg3-utils needs a toolchain w/ threads"
+ depends on !BR2_bfin
depends on !BR2_TOOLCHAIN_HAS_THREADS
endif
ifneq ($(SKELETON_CUSTOM_NOT_MERGED_USR),)
-$(error Use of systemd as an init system requires a merged /usr. \
- However, the custom skeleton in $(SKELETON_PATH) is not \
+$(error The custom skeleton in $(SKELETON_PATH) is not \
using a merged /usr for the following directories: \
$(SKELETON_CUSTOM_NOT_MERGED_USR))
endif
config BR2_PACKAGE_SQUEEZELITE_FFMPEG
bool "Enable WMA and ALAC decoding"
default y
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_FFMPEG
- depends on !BR2_nios2 # ffmpeg
config BR2_PACKAGE_SQUEEZELITE_DSD
bool "Enable DSD decoding"
# perf.c needs PERF_COUNT_HW_REF_CPU_CYCLES
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
depends on !BR2_microblaze # keyutils
+ # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
+ depends on !BR2_nios2
depends on !BR2_STATIC_LIBS # keyutils
select BR2_PACKAGE_KEYUTILS # stress-key.c needs keyutils.h
select BR2_PACKAGE_ATTR # stress-xattr.c needs xattr.h
http://kernel.ubuntu.com/~cking/stress-ng/
comment "stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3"
- depends on !BR2_microblaze
+ depends on !BR2_microblaze && !BR2_nios2
depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 \
|| !BR2_TOOLCHAIN_USES_GLIBC
# Locally calculated
-sha256 9d17dffafdf8dd71eb5c191973b65d4eb2964ecc31f1d01ad188fd03a0c49f6c stress-ng-0.04.16.tar.gz
+sha256 7af9759a37902ebf401f92fedeada0b82bcd1e3f4e9e10130177344f143470eb stress-ng-0.06.02.tar.gz
#
################################################################################
-STRESS_NG_VERSION = 0.04.16
+STRESS_NG_VERSION = 0.06.02
STRESS_NG_SITE = http://kernel.ubuntu.com/~cking/tarballs/stress-ng
STRESS_NG_LICENSE = GPLv2+
STRESS_NG_LICENSE_FILES = COPYING
comment "strongswan needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
menuconfig BR2_PACKAGE_STRONGSWAN
bool "strongswan"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_STATIC_LIBS
help
strongSwan is an OpenSource IPsec implementation for the
--enable-vici=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \
--enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no)
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+STRONGSWAN_CONF_ENV += LIBS='-latomic'
+endif
+
ifeq ($(BR2_PACKAGE_STRONGSWAN_EAP),y)
STRONGSWAN_CONF_OPTS += \
--enable-eap-sim \
config BR2_PACKAGE_TIME
bool "time"
depends on BR2_USE_MMU # fork()
+ # See https://savannah.gnu.org/bugs/index.php?48000
+ depends on !BR2_STATIC_LIBS
help
The GNU time utility.
http://savannah.gnu.org/projects/time/
+
+comment "time needs a toolchain w/ dynamic library"
+ depends on BR2_USE_MMU
+ depends on BR2_STATIC_LIBS
--- /dev/null
+From: Jo-Philipp Wich <jow@openwrt.org>
+Date: Thu, 18 Jun 2015 21:58:31 +0000 (+0200)
+Subject: fix musl compatibility
+X-Git-Tag: release-1.0.26~9
+X-Git-Url: http://www.tinc-vpn.org/git/browse?p=tinc;a=commitdiff_plain;h=a04fd9d0c9babca461cee186677db8f607677c6a;hp=bb616245b7883ab30291cd8d46672ed2ae733166
+
+fix musl compatibility
+
+Let configure include sys/if_tun.h when testing for netinet/if_ether.h
+to detect the Kernel/libc header conflict on musl.
+
+After this patch, configure will correctly detect netinet/if_ether.h as
+unusable and the subsequent compilation will not attempt to use it.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(downloaded upstream commit included in tinc 1.0.25:
+ http://www.tinc-vpn.org/git/browse?p=tinc;a=commitdiff;h=a04fd9d0c9babca461cee186677db8f607677c6a)
+---
+
+diff --git a/src/have.h b/src/have.h
+index e83f98f..69d5100 100644
+--- a/src/have.h
++++ b/src/have.h
+@@ -207,4 +207,8 @@
+ #include <resolv.h>
+ #endif
+
++#ifdef HAVE_LINUX_IF_TUN_H
++#include <linux/if_tun.h>
++#endif
++
+ #endif /* __TINC_SYSTEM_H__ */
select BR2_PACKAGE_LZO
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
+ depends on !BR2_STATIC_LIBS # tinc requires libdl for OpenSSL
depends on BR2_USE_MMU # fork()
help
tinc is a Virtual Private Network (VPN) daemon that uses
between hosts on the Internet.
http://www.tinc-vpn.org/
+
+comment "tinc needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
--- /dev/null
+From c8333f8c7a4e4b9549abeef7530b2cd20a18e537 Mon Sep 17 00:00:00 2001
+From: rofl0r <retnyg@gmx.net>
+Date: Mon, 12 Oct 2015 12:57:09 +0100
+Subject: [PATCH] asound.h: include <time.h> to get struct timespec prototype
+
+without including it, we get
+In file included from mixer.c:44:0:
+include/sound/asound.h:337:18: error: field 'trigger_tstamp' has incomplete type
+include/sound/asound.h:338:18: error: field 'tstamp' has incomplete type
+etc.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: upstream commit c8333f8c7a4e
+
+ include/sound/asound.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/sound/asound.h b/include/sound/asound.h
+index a041628ec28e..7c6de81673f5 100644
+--- a/include/sound/asound.h
++++ b/include/sound/asound.h
+@@ -12,6 +12,7 @@
+ #ifndef __SOUND_ASOUND_H
+ #define __SOUND_ASOUND_H
+
++#include <time.h>
+ #include <linux/types.h>
+
+ #define SNDRV_PROTOCOL_VERSION(major, minor, subminor) (((major)<<16)|((minor)<<8)|(subminor))
+--
+2.8.1
+
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
- depends on !BR2_nios2 # ffmpeg
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS
# The below dependencies are runtime dependencies only
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # procps_ng
comment "tovid needs a toolchain w/ threads, C++, wchar"
depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_INSTALL_LIBSTDCPP \
comment "tovid depends on python or python3"
depends on !BR2_PACKAGE_PYTHON && !BR2_PACKAGE_PYTHON3
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS
TURBOLUA_MAKE_OPTS = \
$(TARGET_CONFIGURE_OPTS) \
- SSL=$(if $(BR2_PACKAGE_OPENSSL),openssl,none) \
LUAJIT_VERSION="$(LUAJIT_VERSION)"
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+TURBOLUA_MAKE_OPTS += SSL=openssl
+TURBOLUA_DEPENDENCIES += openssl
+else
+TURBOLUA_MAKE_OPTS += SSL=none
+endif
+
define TURBOLUA_BUILD_CMDS
$(MAKE) $(TURBOLUA_MAKE_OPTS) -C $(@D) all
endef
bool "ustr"
# unconditionally builds a shared library
depends on !BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_USES_MUSL # broken vsnprintf detection
help
A small, safe string library.
comment "ustr needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_USES_MUSL
BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
BR2_x86_64
depends on !BR2_STATIC_LIBS
+ depends on !BR2_MIPS_SOFT_FLOAT
help
Tool for debugging and profiling Linux programs.
-# From http://www.webkitgtk.org/releases/webkitgtk-2.12.2.tar.xz.sha1
-sha1 84d02caadd3d39805e83a4719e2424c1ba4a54d6 webkitgtk-2.12.2.tar.xz
+# From http://www.webkitgtk.org/releases/webkitgtk-2.12.3.tar.xz.sha1
+sha1 d6a0d598c09d2d56ba0862f8d9206e89d75317cb webkitgtk-2.12.3.tar.xz
# Calculated based on the hash above
-sha256 9dc49b908b1c37da739703e1402a7f07c4ea9093b8ecfb34f20e8f74e328f124 webkitgtk-2.12.2.tar.xz
+sha256 173cbb9a2eca23eee52e99965483ab25aa9c0569ef5b57041fc0c129cc26c307 webkitgtk-2.12.3.tar.xz
#
################################################################################
-WEBKITGTK_VERSION = 2.12.2
+WEBKITGTK_VERSION = 2.12.3
WEBKITGTK_SITE = http://www.webkitgtk.org/releases
WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
WEBKITGTK_INSTALL_STAGING = YES
bool "xf86-video-fbturbo"
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_PIXMAN
+ select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_LIBUMP
select BR2_PACKAGE_XPROTO_FONTSPROTO
select BR2_PACKAGE_XPROTO_RANDRPROTO
select BR2_PACKAGE_XPROTO_RENDERPROTO
XDRIVER_XF86_VIDEO_FBTURBO_CONF_OPTS += --disable-pciaccess
endif
+ifeq ($(BR2_PACKAGE_LIBUMP),y)
+XDRIVER_XF86_VIDEO_FBTURBO_DEPENDENCIES += libump
+endif
+
+ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y)
+XDRIVER_XF86_VIDEO_FBTURBO_DEPENDENCIES += xproto_dri2proto
+endif
+
define XDRIVER_XF86_VIDEO_FBTURBO_INSTALL_CONF_FILE
$(INSTALL) -m 0644 -D $(@D)/xorg.conf $(TARGET_DIR)/etc/X11/xorg.conf
endef
--disable-systemd-logind
endif
+# Xwayland support needs libdrm, libepoxy, wayland and libxcomposite
+ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_LIBEPOXY)$(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),yyyy)
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-xwayland
+XSERVER_XORG_SERVER_DEPENDENCIES += libdrm libepoxy wayland xlib_libXcomposite
+else
+XSERVER_XORG_SERVER_CONF_OPTS += --disable-xwayland
+endif
+
# Present protocol only required for xserver 1.15+, but does not matter if
# enabled for older versions as they don't use it (not even optionally).
ifeq ($(BR2_PACKAGE_XPROTO_PRESENTPROTO),y)
--- /dev/null
+Fix musl build
+
+Add missing header needed for ssize_t.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: posted upstream
+(http://lists.gnu.org/archive/html/bug-xorriso/2016-05/msg00000.html)
+
+diff -Nuar xorriso-1.4.2-orig/libisofs/aaip_0_2.h xorriso-1.4.2/libisofs/aaip_0_2.h
+--- xorriso-1.4.2-orig/libisofs/aaip_0_2.h 2015-11-28 16:41:33.000000000 +0200
++++ xorriso-1.4.2/libisofs/aaip_0_2.h 2016-05-24 11:40:43.874191174 +0300
+@@ -16,6 +16,7 @@
+ #ifndef Aaip_h_is_includeD
+ #define Aaip_h_is_includeD yes
+
++#include <unistd.h>
+
+ /* --------------------------------- Encoder ---------------------------- */
+
################################################################################
# Buildroot version to use
-RELEASE='2016.02'
+RELEASE='2016.05'
### Change here for more memory/cores ###
VM_MEMORY=2048
help="Ordering of packages: build or duration (for histogram only)")
parser.add_argument("--alternate-colors", '-c', action="store_true",
help="Use alternate colour-scheme")
-parser.add_argument("--input", '-i', metavar="OUTPUT",
+parser.add_argument("--input", '-i', metavar="INPUT",
help="Input file (usually $(O)/build/build-time.log)")
parser.add_argument("--output", '-o', metavar="OUTPUT", required=True,
help="Output file (.pdf or .png extension)")
config BR2_INIT_NONE
bool "None"
+ help
+ Buildroot will not install any init system. You will
+ have to provide your own, either with a new package
+ or with a rootfs-overlay.
endchoice
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
- select BR2_TOOLCHAIN_HAS_SSP
config BR2_TOOLCHAIN_USES_UCLIBC
bool
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
- select BR2_TOOLCHAIN_HAS_SSP
choice
prompt "Toolchain type"
copy_toolchain_lib_root = \
LIB="$(strip $1)"; \
\
- LIBPATHS=`find -L $(STAGING_DIR) -name "$${LIB}" 2>/dev/null` ; \
+ LIBPATHS=`find $(STAGING_DIR)/ -name "$${LIB}" 2>/dev/null` ; \
for LIBPATH in $${LIBPATHS} ; do \
DESTDIR=`echo $${LIBPATH} | sed "s,^$(STAGING_DIR)/,," | xargs dirname` ; \
mkdir -p $(TARGET_DIR)/$${DESTDIR}; \
$(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\
$(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\
$(call check_uclibc_feature,__PTHREADS_DEBUG_SUPPORT__,BR2_TOOLCHAIN_HAS_THREADS_DEBUG,$${UCLIBC_CONFIG_FILE},Thread debugging support) ;\
- $(call check_uclibc_feature,__UCLIBC_HAS_THREADS_NATIVE__,BR2_TOOLCHAIN_HAS_THREADS_NPTL,$${UCLIBC_CONFIG_FILE},NPTL thread support) ;\
- $(call check_uclibc_feature,__UCLIBC_HAS_SSP__,BR2_TOOLCHAIN_HAS_SSP,$${UCLIBC_CONFIG_FILE},Stack Smashing Protection support)
+ $(call check_uclibc_feature,__UCLIBC_HAS_THREADS_NATIVE__,BR2_TOOLCHAIN_HAS_THREADS_NPTL,$${UCLIBC_CONFIG_FILE},NPTL thread support)
#
# Check that the Buildroot configuration of the ABI matches the
exit 1 ; \
fi
+#
+# Check if the toolchain has SSP (stack smashing protector) support
+#
+# $1: cross-gcc path
+#
+check_toolchain_ssp = \
+ __CROSS_CC=$(strip $1) ; \
+ __HAS_SSP=`echo 'void main(){}' | $${__CROSS_CC} -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \
+ if [ "$(BR2_TOOLCHAIN_HAS_SSP)" != "y" -a "$${__HAS_SSP}" = "y" ] ; then \
+ echo "SSP support available in this toolchain, please enable BR2_TOOLCHAIN_EXTERNAL_HAS_SSP" ; \
+ exit 1 ; \
+ fi ; \
+ if [ "$(BR2_TOOLCHAIN_HAS_SSP)" = "y" -a "$${__HAS_SSP}" != "y" ] ; then \
+ echo "SSP support not available in this toolchain, please disable BR2_TOOLCHAIN_EXTERNAL_HAS_SSP" ; \
+ exit 1 ; \
+ fi ; \
+ rm -f $(BUILD_DIR)/.br-toolchain-test.tmp*
+
#
# Generate gdbinit file for use with Buildroot
#
depends on BR2_ARM_EABIHF
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
depends on BR2_ARM_EABIHF
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
depends on BR2_ARM_EABIHF
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
depends on BR2_ARM_EABIHF
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
depends on BR2_ARM_EABI
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on BR2_ARM_CPU_HAS_VFPV3
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on BR2_ARM_EABI
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on !BR2_MIPS_NABI32
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on !BR2_STATIC_LIBS
depends on BR2_x86_jaguar || BR2_x86_steamroller
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on !BR2_x86_jaguar
depends on !BR2_x86_steamroller
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
depends on BR2_HOSTARCH = "x86"
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
depends on BR2_HOSTARCH = "x86_64"
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
# Unsupported for MIPS R6
depends on !BR2_mips_32r6 && !BR2_mips_64r6
select BR2_TOOLCHAIN_EXTERNAL_MUSL
+ select BR2_TOOLCHAIN_HAS_SSP
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
+endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
+
config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
bool "Toolchain has SSP support?"
select BR2_TOOLCHAIN_HAS_SSP
+ default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
help
Selection this option if your external toolchain has Stack
Smashing Protection support enabled. If you don't know,
leave the default value, Buildroot will tell you if it's
correct or not.
-endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
-
config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
bool "Toolchain has RPC support?"
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
sha256 bf5d3111dad5aa9aef0e955875fb7fc9e918cb24519af7014dd67a9e581a49b1 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_src.tar.bz2
sha256 f488caf46680b0c0a16b66b43fbfd157e3d6389df18e957983132e89529a9804 gcc-linaro-5.3-2016.02-x86_64_armeb-linux-gnueabihf.tar.xz
sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz
-sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_src.tar.bz2
+sha256 a7b8f842fdc9d9be22ca4e0c999429780fc6f16ea798b032421b5ec0cfa53b3e gcc-linaro-aarch64-linux-gnu-4.9-2014.09_src.tar.bz2
sha256 1c85af550bedd378be583317b4abbdc96342b42c19fb19873c13d3093ff694ad gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
# Codescape toolchains from Imagination Technologies
TOOLCHAIN_EXTERNAL_LIBS += libstdc++.so.*
endif
-TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_TOOLCHAIN_EXTERNAL_LIBS))
+TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
# Details about sysroot directory selection.
#
else \
$(call check_glibc,$${SYSROOT_DIR}) ; \
fi
+ $(Q)$(call check_toolchain_ssp,$(TOOLCHAIN_EXTERNAL_CC))
endef
# With the musl C library, the libc.so library directly plays the role