aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Peter Korsgaard <peter@korsgaard.com>2018-03-05 21:04:14 +0100
committerGravatar Peter Korsgaard <peter@korsgaard.com>2018-03-05 21:04:14 +0100
commit92b8bd0879e5f594d1233091437ac9a8b0c240d7 (patch)
treec0196bf0d0ad2603198f469e0eda88fe71b7abc0
parent528f16547689fa771bc7cb8de0885286dd439c17 (diff)
parentfb4a33e586bc041a43cd415869e91d29287dcefd (diff)
downloadbuildroot-92b8bd0879e5f594d1233091437ac9a8b0c240d7.tar.gz
buildroot-92b8bd0879e5f594d1233091437ac9a8b0c240d7.tar.bz2
Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--DEVELOPERS12
-rw-r--r--board/amarula/vyasa/extlinux.conf4
-rw-r--r--board/amarula/vyasa/genimage.cfg21
-rw-r--r--board/amarula/vyasa/linux_gmac.fragment3
-rwxr-xr-xboard/amarula/vyasa/post-build.sh9
-rw-r--r--board/amarula/vyasa/readme.txt31
-rw-r--r--board/asus/tinker/extlinux.conf4
-rw-r--r--board/asus/tinker/genimage.cfg15
-rwxr-xr-xboard/asus/tinker/post-build.sh9
-rw-r--r--board/asus/tinker/readme.txt37
-rw-r--r--board/orangepi/orangepi-zero-plus2/linux-extras.config10
-rw-r--r--board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch73
-rw-r--r--board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch30
-rw-r--r--board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt54
-rw-r--r--board/qemu/aarch64-virt/linux-4.15.config (renamed from board/qemu/aarch64-virt/linux-4.13.config)2
-rw-r--r--board/qemu/aarch64-virt/readme.txt2
-rw-r--r--configs/amarula_vyasa_rk3288_defconfig47
-rw-r--r--configs/asus_tinker_rk3288_defconfig45
-rw-r--r--configs/orangepi_zero_plus2_defconfig24
-rw-r--r--configs/qemu_aarch64_virt_defconfig8
-rw-r--r--configs/wandboard_defconfig10
-rw-r--r--linux/Config.in19
-rw-r--r--linux/linux.mk11
-rw-r--r--package/18xx-ti-utils/18xx-ti-utils.hash3
-rw-r--r--package/18xx-ti-utils/18xx-ti-utils.mk30
-rw-r--r--package/18xx-ti-utils/Config.in14
-rw-r--r--package/Config.in6
-rw-r--r--package/autofs/Config.in9
-rw-r--r--package/autofs/autofs.mk9
-rw-r--r--package/azmq/azmq.hash5
-rw-r--r--package/azmq/azmq.mk2
-rw-r--r--package/bind/bind.mk4
-rw-r--r--package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch2
-rw-r--r--package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch46
-rw-r--r--package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch79
-rw-r--r--package/busybox/0005-httpd-fix-handling-of-range-requests.patch27
-rw-r--r--package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch101
-rw-r--r--package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch34
-rw-r--r--package/busybox/busybox-minimal.config93
-rw-r--r--package/busybox/busybox.config87
-rw-r--r--package/busybox/busybox.hash9
-rw-r--r--package/busybox/busybox.mk2
-rw-r--r--package/cjson/cjson.hash2
-rw-r--r--package/cjson/cjson.mk2
-rw-r--r--package/czmq/czmq.hash6
-rw-r--r--package/czmq/czmq.mk12
-rw-r--r--package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch48
-rw-r--r--package/gcc/4.9.4/891-fix-m68k-uclinux.patch18
-rw-r--r--package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch48
-rw-r--r--package/gcc/5.5.0/891-fix-m68k-uclinux.patch18
-rw-r--r--package/gcc/6.4.0/0001-m68k-coldfire-pr68467.patch48
-rw-r--r--package/gcc/6.4.0/891-fix-m68k-uclinux.patch18
-rw-r--r--package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch48
-rw-r--r--package/gcc/7.3.0/0891-fix-m68k-uclinux.patch30
-rw-r--r--package/glibc/glibc.hash6
-rw-r--r--package/glibc/glibc.mk10
-rw-r--r--package/gnupg2/gnupg2.hash8
-rw-r--r--package/gnupg2/gnupg2.mk2
-rw-r--r--package/gnutls/gnutls.hash4
-rw-r--r--package/gnutls/gnutls.mk2
-rw-r--r--package/go/go.hash2
-rw-r--r--package/go/go.mk2
-rw-r--r--package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch52
-rw-r--r--package/htop/htop.hash6
-rw-r--r--package/htop/htop.mk2
-rw-r--r--package/inadyn/inadyn.hash6
-rw-r--r--package/inadyn/inadyn.mk2
-rw-r--r--package/iproute2/0002-ss-add-local-PF_VSOCK-AF_VSOCK-definitions.patch58
-rw-r--r--package/iproute2/iproute2.hash2
-rw-r--r--package/iproute2/iproute2.mk2
-rw-r--r--package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch44
-rw-r--r--package/iptables/iptables.hash6
-rw-r--r--package/iptables/iptables.mk2
-rw-r--r--package/iw/iw.hash4
-rw-r--r--package/iw/iw.mk5
-rw-r--r--package/json-for-modern-cpp/json-for-modern-cpp.hash4
-rw-r--r--package/json-for-modern-cpp/json-for-modern-cpp.mk2
-rw-r--r--package/keepalived/keepalived.hash3
-rw-r--r--package/keepalived/keepalived.mk2
-rw-r--r--package/libdrm/libdrm.hash10
-rw-r--r--package/libdrm/libdrm.mk2
-rw-r--r--package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch32
-rw-r--r--package/libepoxy/libepoxy.hash7
-rw-r--r--package/libepoxy/libepoxy.mk4
-rw-r--r--package/libgpiod/libgpiod.hash2
-rw-r--r--package/libgpiod/libgpiod.mk2
-rw-r--r--package/libite/libite.hash6
-rw-r--r--package/libite/libite.mk4
-rw-r--r--package/liblo/liblo.hash9
-rw-r--r--package/liblo/liblo.mk14
-rw-r--r--package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch37
-rw-r--r--package/libmbim/libmbim.hash2
-rw-r--r--package/libmbim/libmbim.mk2
-rw-r--r--package/libmicrohttpd/libmicrohttpd.hash2
-rw-r--r--package/libmicrohttpd/libmicrohttpd.mk2
-rw-r--r--package/libostree/libostree.hash2
-rw-r--r--package/libostree/libostree.mk2
-rw-r--r--package/libqmi/libqmi.hash2
-rw-r--r--package/libqmi/libqmi.mk2
-rw-r--r--package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch348
-rw-r--r--package/libupnp/libupnp.hash2
-rw-r--r--package/libupnp/libupnp.mk2
-rw-r--r--package/liburiparser/Config.in2
-rw-r--r--package/liburiparser/liburiparser.hash6
-rw-r--r--package/liburiparser/liburiparser.mk4
-rw-r--r--package/libva-intel-driver/libva-intel-driver.hash4
-rw-r--r--package/libva-intel-driver/libva-intel-driver.mk2
-rw-r--r--package/libva-utils/libva-utils.hash4
-rw-r--r--package/libva-utils/libva-utils.mk2
-rw-r--r--package/libva/libva.hash4
-rw-r--r--package/libva/libva.mk2
-rw-r--r--package/libvpx/libvpx.hash4
-rw-r--r--package/libvpx/libvpx.mk5
-rw-r--r--package/linux-firmware/Config.in5
-rw-r--r--package/linux-firmware/linux-firmware.mk8
-rw-r--r--package/lzip/lzip.hash6
-rw-r--r--package/lzip/lzip.mk2
-rw-r--r--package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch (renamed from package/mesa3d-demos/0001-demos-optional-gl.patch)56
-rw-r--r--package/mesa3d-demos/mesa3d-demos.hash7
-rw-r--r--package/mesa3d-demos/mesa3d-demos.mk5
-rw-r--r--package/modem-manager/modem-manager.hash2
-rw-r--r--package/modem-manager/modem-manager.mk2
-rw-r--r--package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch69
-rw-r--r--package/nasm/nasm.hash2
-rw-r--r--package/nasm/nasm.mk2
-rw-r--r--package/ncurses/0001-gcc-5.x-MKlib_gen.patch5
-rw-r--r--package/ncurses/0002-recognise-uclinux.patch29
-rw-r--r--package/ncurses/Config.in10
-rw-r--r--package/ncurses/ncurses.hash2
-rw-r--r--package/ncurses/ncurses.mk6
-rw-r--r--package/openssh/openssh.mk6
-rw-r--r--package/pkgconf/pkg-config.in2
-rw-r--r--package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch64
-rw-r--r--package/pulseaudio/pulseaudio.mk3
-rw-r--r--package/python-flask-sqlalchemy/Config.in9
-rw-r--r--package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash4
-rw-r--r--package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk14
-rw-r--r--package/python-sqlalchemy/Config.in13
-rw-r--r--package/python-sqlalchemy/python-sqlalchemy.hash4
-rw-r--r--package/python-sqlalchemy/python-sqlalchemy.mk14
-rw-r--r--package/qemu/Config.in.host10
-rw-r--r--package/rauc/rauc.hash4
-rw-r--r--package/rauc/rauc.mk2
-rw-r--r--package/rygel/rygel.hash4
-rw-r--r--package/rygel/rygel.mk2
-rw-r--r--package/sngrep/0001-Fix-building-against-LibreSSL.patch78
-rw-r--r--package/sngrep/sngrep.hash6
-rw-r--r--package/sngrep/sngrep.mk2
-rw-r--r--package/sqlite/sqlite.hash4
-rw-r--r--package/sqlite/sqlite.mk4
-rw-r--r--package/sunxi-mali-mainline-driver/Config.in25
-rw-r--r--package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk34
-rw-r--r--package/sunxi-mali-mainline/Config.in40
-rw-r--r--package/sunxi-mali-mainline/egl.pc12
-rw-r--r--package/sunxi-mali-mainline/glesv2.pc12
-rw-r--r--package/sunxi-mali-mainline/sunxi-mali-mainline.mk34
-rw-r--r--package/systemd/Config.in3
-rw-r--r--package/systemd/systemd.mk11
-rw-r--r--package/tinycbor/tinycbor.hash2
-rw-r--r--package/tinycbor/tinycbor.mk10
-rw-r--r--package/udftools/Config.in12
-rw-r--r--package/udftools/udftools.hash3
-rw-r--r--package/udftools/udftools.mk12
-rw-r--r--package/usb_modeswitch/usb_modeswitch.hash3
-rw-r--r--package/usb_modeswitch/usb_modeswitch.mk2
-rw-r--r--package/usb_modeswitch_data/usb_modeswitch_data.hash3
-rw-r--r--package/usb_modeswitch_data/usb_modeswitch_data.mk2
-rw-r--r--package/wget/wget.hash5
-rw-r--r--package/wget/wget.mk2
-rw-r--r--package/x11r7/xlib_libxshmfence/0001-configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch31
-rw-r--r--package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk3
-rw-r--r--package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch27
-rw-r--r--package/x11vnc/x11vnc.hash2
-rw-r--r--package/x11vnc/x11vnc.mk2
-rw-r--r--package/x265/x265.hash2
-rw-r--r--package/x265/x265.mk4
-rw-r--r--support/config-fragments/autobuild/br-arm-internal-glibc.config4
-rw-r--r--support/config-fragments/autobuild/br-arm-internal-musl.config4
-rw-r--r--support/config-fragments/autobuild/br-xtensa-full-internal.config1
-rw-r--r--support/config-fragments/autobuild/toolchain-configs.csv2
-rw-r--r--support/testing/tests/package/test_python_cryptography.py31
-rw-r--r--system/Config.in6
-rw-r--r--toolchain/toolchain/toolchain.mk12
-rwxr-xr-xutils/scanpypi47
185 files changed, 2099 insertions, 891 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f76e53b565..30c8ff920b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -67,12 +67,14 @@ acmesystems_aria_g25_128mb_defconfig: *defconfig
acmesystems_aria_g25_256mb_defconfig: *defconfig
acmesystems_arietta_g25_128mb_defconfig: *defconfig
acmesystems_arietta_g25_256mb_defconfig: *defconfig
+amarula_vyasa_rk3288_defconfig: *defconfig
arcturus_ucp1020_defconfig: *defconfig
arm_foundationv8_defconfig: *defconfig
arm_juno_defconfig: *defconfig
armadeus_apf27_defconfig: *defconfig
armadeus_apf28_defconfig: *defconfig
armadeus_apf51_defconfig: *defconfig
+asus_tinker_rk3288_defconfig: *defconfig
at91sam9260eknf_defconfig: *defconfig
at91sam9g20dfc_defconfig: *defconfig
at91sam9g45m10ek_defconfig: *defconfig
@@ -282,6 +284,8 @@ tests.package.test_ipython.TestIPythonPy2: *runtime_test
tests.package.test_ipython.TestIPythonPy3: *runtime_test
tests.package.test_python.TestPython2: *runtime_test
tests.package.test_python.TestPython3: *runtime_test
+tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
+tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
tests.package.test_rust.TestRust: *runtime_test
tests.package.test_rust.TestRustBin: *runtime_test
tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
diff --git a/DEVELOPERS b/DEVELOPERS
index 41e1b54d99..dbd90e5b8c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -51,7 +51,9 @@ F: package/libsemanage/
F: package/libsepol/
F: package/nginx-naxsi/
F: package/policycoreutils/
+F: package/python-flask-sqlalchemy/
F: package/python-mutagen/
+F: package/python-sqlalchemy/
F: package/restorecond/
F: package/refpolicy/
F: package/selinux-python/
@@ -203,6 +205,7 @@ F: package/pulseview/
F: package/sigrok-cli/
N: Baruch Siach <baruch@tkos.co.il>
+F: package/18xx-ti-utils/
F: package/daemon/
F: package/dropbear/
F: package/ebtables/
@@ -728,6 +731,10 @@ F: package/ocrad/
F: package/tesseract-ocr/
F: package/webp/
+N: Giulio Benetti <giulio.benetti@micronovasrl.com>
+F: package/sunxi-mali-mainline/
+F: package/sunxi-mali-mainline-driver/
+
N: Gregory Dymarek <gregd72002@gmail.com>
F: package/ding-libs/
F: package/gengetopt/
@@ -782,8 +789,12 @@ N: Ismael Luceno <ismael@iodev.co.uk>
F: package/axel/
N: Jagan Teki <jagan@amarulasolutions.com>
+F: board/amarula/
+F: board/asus/
F: board/bananapi/
F: board/engicam/
+F: configs/amarula_vyasa_rk3288_defconfig
+F: configs/asus_tinker_rk3288_defconfig
F: board/friendlyarm/nanopi-a64/
F: board/friendlyarm/nanopi-neo2/
F: board/olimex/a64-olinuxino/
@@ -1686,6 +1697,7 @@ F: package/dvdrw-tools/
F: package/memtest86/
F: package/mjpegtools/
F: package/tovid/
+F: package/udftools/
F: package/xorriso/
N: Steve Thomas <scjthm@live.com>
diff --git a/board/amarula/vyasa/extlinux.conf b/board/amarula/vyasa/extlinux.conf
new file mode 100644
index 0000000000..a8fcc35f5a
--- /dev/null
+++ b/board/amarula/vyasa/extlinux.conf
@@ -0,0 +1,4 @@
+label Vyasa linux-next
+ kernel /boot/uImage
+ devicetree /boot/rk3288-vyasa.dtb
+ append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
diff --git a/board/amarula/vyasa/genimage.cfg b/board/amarula/vyasa/genimage.cfg
new file mode 100644
index 0000000000..fa41de3672
--- /dev/null
+++ b/board/amarula/vyasa/genimage.cfg
@@ -0,0 +1,21 @@
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot-tpl-spl-dtb {
+ in-partition-table = "no"
+ image = "u-boot-tpl-spl-dtb.img"
+ offset = 32K
+ }
+
+ partition u-boot-dtb {
+ in-partition-table = "no"
+ image = "u-boot-dtb.img"
+ offset = 8M
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/amarula/vyasa/linux_gmac.fragment b/board/amarula/vyasa/linux_gmac.fragment
new file mode 100644
index 0000000000..8ebf383597
--- /dev/null
+++ b/board/amarula/vyasa/linux_gmac.fragment
@@ -0,0 +1,3 @@
+# Currently mainline kernel exhibits issues when running rockchip gmac
+# on the board, so enable it as loadable module and insert it later
+CONFIG_DWMAC_ROCKCHIP=m
diff --git a/board/amarula/vyasa/post-build.sh b/board/amarula/vyasa/post-build.sh
new file mode 100755
index 0000000000..ffbbcdeb58
--- /dev/null
+++ b/board/amarula/vyasa/post-build.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+MKIMAGE=$HOST_DIR/bin/mkimage
+BOARD_DIR="$(dirname $0)"
+
+$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
+cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
diff --git a/board/amarula/vyasa/readme.txt b/board/amarula/vyasa/readme.txt
new file mode 100644
index 0000000000..b95889e814
--- /dev/null
+++ b/board/amarula/vyasa/readme.txt
@@ -0,0 +1,31 @@
+Vyasa RK3288
+============
+
+Vyasa is RK3288 based Single board computer with fully supported opensource software.
+
+https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288
+
+How to build it
+===============
+
+ $ make amarula_vyasa_rk3288_defconfig
+
+Then you can edit the build options using
+
+ $ make menuconfig
+
+Compile all and build rootfs image:
+
+ $ make
+
+Prepare your SDCard
+===================
+
+Buildroot generates a ready-to-use SD card image that you can flash directly to
+the card. The image will be in output/images/sdcard.img.
+You can write this image directly to an SD card device (i.e. /dev/xxx):
+
+ $ sudo dd if=output/images/sdcard.img of=/dev/xxx
+ $ sudo sync
+
+Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it.
diff --git a/board/asus/tinker/extlinux.conf b/board/asus/tinker/extlinux.conf
new file mode 100644
index 0000000000..136af0debd
--- /dev/null
+++ b/board/asus/tinker/extlinux.conf
@@ -0,0 +1,4 @@
+label Tinker linux-next
+ kernel /boot/uImage
+ devicetree /boot/rk3288-tinker.dtb
+ append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
diff --git a/board/asus/tinker/genimage.cfg b/board/asus/tinker/genimage.cfg
new file mode 100644
index 0000000000..a4b1e8d608
--- /dev/null
+++ b/board/asus/tinker/genimage.cfg
@@ -0,0 +1,15 @@
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot-spl-dtb {
+ in-partition-table = "no"
+ image = "u-boot-spl-dtb.img"
+ offset = 32K
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/asus/tinker/post-build.sh b/board/asus/tinker/post-build.sh
new file mode 100755
index 0000000000..8108ed83ff
--- /dev/null
+++ b/board/asus/tinker/post-build.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+MKIMAGE=$HOST_DIR/bin/mkimage
+BOARD_DIR="$(dirname $0)"
+
+$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
+cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
diff --git a/board/asus/tinker/readme.txt b/board/asus/tinker/readme.txt
new file mode 100644
index 0000000000..7372d29520
--- /dev/null
+++ b/board/asus/tinker/readme.txt
@@ -0,0 +1,37 @@
+Tinker RK3288
+=============
+
+Tinker Board is a Single Board Computer (SBC) in an ultra-small form
+factor that offers class-leading performance while leveraging outstanding
+mechanical compatibility.
+
+Tinker link:
+https://www.asus.com/in/Single-Board-Computer/Tinker-Board/
+
+Wiki link:
+https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288
+
+How to build it
+===============
+
+ $ make asus_tinker_rk3288_defconfig
+
+Then you can edit the build options using
+
+ $ make menuconfig
+
+Compile all and build rootfs image:
+
+ $ make
+
+Prepare your SDCard
+===================
+
+Buildroot generates a ready-to-use SD card image that you can flash directly to
+the card. The image will be in output/images/sdcard.img.
+You can write this image directly to an SD card device (i.e. /dev/xxx):
+
+ $ sudo dd if=output/images/sdcard.img of=/dev/xxx
+ $ sudo sync
+
+Finally, you can insert the SD card to the Tinker RK3288 board and boot it.
diff --git a/board/orangepi/orangepi-zero-plus2/linux-extras.config b/board/orangepi/orangepi-zero-plus2/linux-extras.config
new file mode 100644
index 0000000000..52b4b4b29e
--- /dev/null
+++ b/board/orangepi/orangepi-zero-plus2/linux-extras.config
@@ -0,0 +1,10 @@
+# wireless core
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_CFG80211_WEXT=y
+
+# wireless drivers
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_BROADCOM=y
+CONFIG_BRCMFMAC=m
diff --git a/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch b/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch
new file mode 100644
index 0000000000..282e2171f2
--- /dev/null
+++ b/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch
@@ -0,0 +1,73 @@
+From: Sergey Matyukevich <geomatsi@gmail.com>
+Date: Sun, 11 Feb 2018 16:21:43 +0300
+Subject: [PATCH] arm64: dts: orange-pi-zero-plus2: enable AP6212a WiFi/BT combo
+
+Enable AP6212a WiFi/BT combo chip on orange-pi-zero-plus2 board:
+- WiFi SDIO interface is connected to MMC1
+- WiFi REG_ON pin connected to gpio PA9: attach to mmc-pwrseq
+- WiFi HOST_WAKE pin connected to gpio PL7
+- BT is connected to UART1
+
+Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ .../allwinner/sun50i-h5-orangepi-zero-plus2.dts | 32 ++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
+index a42fd79a62a3..d415b7b67cce 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
+@@ -64,6 +64,13 @@
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
++
++ wifi_pwrseq: wifi_pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ pinctrl-names = "default";
++ reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
++ post-power-on-delay-ms = <200>;
++ };
+ };
+
+ &mmc0 {
+@@ -75,6 +82,25 @@
+ status = "okay";
+ };
+
++&mmc1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc1_pins_a>;
++ vmmc-supply = <&reg_vcc3v3>;
++ vqmmc-supply = <&reg_vcc3v3>;
++ mmc-pwrseq = <&wifi_pwrseq>;
++ bus-width = <4>;
++ non-removable;
++ status = "okay";
++
++ brcmf: wifi@1 {
++ reg = <1>;
++ compatible = "brcm,bcm4329-fmac";
++ interrupt-parent = <&r_pio>;
++ interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
++ interrupt-names = "host-wake";
++ };
++};
++
+ &mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_8bit_pins>;
+@@ -90,3 +116,9 @@
+ pinctrl-0 = <&uart0_pins_a>;
+ status = "okay";
+ };
++
++&uart1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
++ status = "okay";
++};
+--
+2.16.1
+
diff --git a/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch b/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch
deleted file mode 100644
index 203402932b..0000000000
--- a/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f88e9301948173dd35afad4a6939092c7f269aed Mon Sep 17 00:00:00 2001
-From: Sergey Matyukevich <geomatsi@gmail.com>
-Date: Fri, 3 Nov 2017 22:58:54 +0300
-Subject: [PATCH] arm64: dts: orange-pi-zero-plus2: fix sdcard detect
-
-The sdcard detect pin on orange-pi-zero-plus2 is pulled up.
-Fix cd-gpio description to enable sdcard detect.
-
-Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
-Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
----
- arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
-index b6b7a56..a42fd79 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
-@@ -71,7 +71,7 @@
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
- vmmc-supply = <&reg_vcc3v3>;
- bus-width = <4>;
-- cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
- status = "okay";
- };
-
---
-1.9.1
-
diff --git a/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt b/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt
new file mode 100644
index 0000000000..8f0bf69063
--- /dev/null
+++ b/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt
@@ -0,0 +1,54 @@
+#AP6212_NVRAM_V1.0_20140603
+# 2.4 GHz, 20 MHz BW mode
+
+# The following parameter values are just placeholders, need to be updated.
+manfid=0x2d0
+prodid=0x0726
+vendid=0x14e4
+devid=0x43e2
+boardtype=0x0726
+boardrev=0x1101
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+sromrev=11
+boardflags=0x00404201
+xtalfreq=26000
+nocrc=1
+ag0=255
+aa2g=1
+ccode=ALL
+
+pa0itssit=0x20
+extpagain2g=0
+
+#PA parameters for 2.4GHz, measured at CHIP OUTPUT
+pa2ga0=-168,7161,-820
+AvVmid_c0=0x0,0xc8
+cckpwroffset0=5
+
+# PPR params
+maxp2ga0=90
+txpwrbckof=6
+cckbw202gpo=0x5555
+legofdmbw202gpo=0x77777777
+mcsbw202gpo=0xaaaaaaaa
+
+# OFDM IIR :
+ofdmdigfilttype=7
+# PAPD mode:
+papdmode=2
+
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+
+#OOB parameters
+hostwake=0x40
+hostrdy=0x41
+usbrdy=0x03
+usbrdydelay=100
+deadman_to=0xffffffff
+# muxenab: 0x1 for UART enable, 0x10 for Host awake
+muxenab=0x10
+# CLDO PWM voltage settings - 0x4 - 1.1 volt
+#cldo_pwm=0x4
+
diff --git a/board/qemu/aarch64-virt/linux-4.13.config b/board/qemu/aarch64-virt/linux-4.15.config
index 93cb42f2ea..c9f2708ad5 100644
--- a/board/qemu/aarch64-virt/linux-4.13.config
+++ b/board/qemu/aarch64-virt/linux-4.15.config
@@ -1,6 +1,5 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
-CONFIG_FHANDLE=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_TASKSTATS=y
@@ -10,7 +9,6 @@ CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_ARCH_VEXPRESS=y
-CONFIG_SMP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_BINFMT_MISC=y
CONFIG_COMPAT=y
diff --git a/board/qemu/aarch64-virt/readme.txt b/board/qemu/aarch64-virt/readme.txt
index 9e09d953f9..ce0b621366 100644
--- a/board/qemu/aarch64-virt/readme.txt
+++ b/board/qemu/aarch64-virt/readme.txt
@@ -4,4 +4,4 @@ Run the emulation with:
The login prompt will appear in the terminal that started Qemu.
-Tested with QEMU 2.9.0
+Tested with QEMU 2.11.0
diff --git a/configs/amarula_vyasa_rk3288_defconfig b/configs/amarula_vyasa_rk3288_defconfig
new file mode 100644
index 0000000000..4cd46e79de
--- /dev/null
+++ b/configs/amarula_vyasa_rk3288_defconfig
@@ -0,0 +1,47 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a17=y
+BR2_ARM_FPU_NEON_VFPV4=y
+
+# Linux headers same as kernel, a 4.14 series
+BR2_KERNEL_HEADERS_4_14=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/openedev/linux-openedev"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d127129e85a020879f334154300ddd3f7ec21c1e"
+BR2_LINUX_KERNEL_DEFCONFIG="multi_v7"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-vyasa"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/amarula/vyasa/linux_gmac.fragment"
+
+# Filesystem
+BR2_TARGET_GENERIC_HOSTNAME="vyasa-rk3288"
+BR2_TARGET_GENERIC_ISSUE="Welcome to VYASA RK3288!"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/vyasa/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/vyasa/post-build.sh"
diff --git a/configs/asus_tinker_rk3288_defconfig b/configs/asus_tinker_rk3288_defconfig
new file mode 100644
index 0000000000..22e9bcd817
--- /dev/null
+++ b/configs/asus_tinker_rk3288_defconfig
@@ -0,0 +1,45 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a17=y
+BR2_ARM_FPU_NEON_VFPV4=y
+
+# Linux headers same as kernel, a 4.12 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
+BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12"
+BR2_LINUX_KERNEL_DEFCONFIG="multi_v7"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-tinker"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# Filesystem
+BR2_TARGET_GENERIC_HOSTNAME="tinker-rk3288"
+BR2_TARGET_GENERIC_ISSUE="Welcome to TINKER RK3288!"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker/post-build.sh"
diff --git a/configs/orangepi_zero_plus2_defconfig b/configs/orangepi_zero_plus2_defconfig
index 5b1ff3500c..5ca6cf0fe2 100644
--- a/configs/orangepi_zero_plus2_defconfig
+++ b/configs/orangepi_zero_plus2_defconfig
@@ -2,11 +2,10 @@ BR2_aarch64=y
BR2_cortex_a53=y
BR2_ARM_FPU_VFPV4=y
-# Linux headers same as kernel, a 4.14 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y
-
-# Patch dir
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero-plus2/patches"
+BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay"
# Firmware
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
@@ -20,7 +19,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
@@ -34,10 +33,23 @@ BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero-plus2/boot.cmd
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.2"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero-plus2/linux-extras.config"
+
+# wireless firmware
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
+
+# wireless tools
+BR2_PACKAGE_IW=y
+BR2_PACKAGE_WIRELESS_TOOLS=y
+BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
+BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
+BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
# Filesystem
BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus2"
diff --git a/configs/qemu_aarch64_virt_defconfig b/configs/qemu_aarch64_virt_defconfig
index c94c4ac773..3bafd90e5a 100644
--- a/configs/qemu_aarch64_virt_defconfig
+++ b/configs/qemu_aarch64_virt_defconfig
@@ -10,12 +10,12 @@ BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
-# Linux headers same as kernel, a 4.13 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y
+# Linux headers same as kernel, a 4.15 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.6"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux-4.13.config"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux-4.15.config"
diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig
index e6ba1d4e14..b43c0c0e13 100644
--- a/configs/wandboard_defconfig
+++ b/configs/wandboard_defconfig
@@ -3,8 +3,8 @@ BR2_cortex_a9=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_ENABLE_VFP=y
BR2_ARM_FPU_VFPV3=y
-# Linux headers same as kernel, a 4.13 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y
+# Linux headers same as kernel, a 4.15 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/wandboard/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/wandboard/post-image.sh"
@@ -13,16 +13,16 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="wandboard"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01"
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="SPL"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.1"
BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1 imx6q-wandboard-revd1 imx6dl-wandboard-revd1 imx6qp-wandboard-revd1"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
# required tools to create the SD card image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
diff --git a/linux/Config.in b/linux/Config.in
index 5afd620d98..bc6cd1b5f7 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -363,10 +363,6 @@ config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
config BR2_LINUX_KERNEL_APPENDED_DTB
bool
-choice
- prompt "Device tree source"
- default BR2_LINUX_KERNEL_USE_INTREE_DTS
-
config BR2_LINUX_KERNEL_USE_INTREE_DTS
bool "Use a device tree present in the kernel"
help
@@ -374,14 +370,6 @@ config BR2_LINUX_KERNEL_USE_INTREE_DTS
the kernel sources. The dts files are located
in the arch/<arch>/boot/dts folder.
-config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
- bool "Use a custom device tree file"
- help
- Use a custom device tree file, i.e, a device
- tree file that does not belong to the kernel
- source tree.
-endchoice
-
config BR2_LINUX_KERNEL_INTREE_DTS_NAME
string "Device Tree Source file names"
depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
@@ -390,6 +378,13 @@ config BR2_LINUX_KERNEL_INTREE_DTS_NAME
the trailing .dts. You can provide a list of
dts files to build, separated by spaces.
+config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
+ bool "Use a custom device tree file"
+ help
+ Use a custom device tree file, i.e, a device
+ tree file that does not belong to the kernel
+ source tree.
+
config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
string "Device Tree Source file paths"
depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
diff --git a/linux/linux.mk b/linux/linux.mk
index 5300b9cfc5..ab940e7305 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -119,13 +119,15 @@ endif
LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`
ifeq ($(BR2_LINUX_KERNEL_USE_INTREE_DTS),y)
-KERNEL_DTS_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
-else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y)
+KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
+endif
+
+ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y)
# We keep only the .dts files, so that the user can specify both .dts
# and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be
# copied to arch/<arch>/boot/dts, but only the .dts files will
# actually be generated as .dtb.
-KERNEL_DTS_NAME = $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
+KERNEL_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
endif
KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))
@@ -291,6 +293,9 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK,$(@D)/.config))
+ $(if $(BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER),
+ $(call KCONFIG_ENABLE_OPT,CONFIG_CMA,$(@D)/.config)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA,$(@D)/.config))
$(if $(BR2_PACKAGE_IPTABLES),
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER,$(@D)/.config)
diff --git a/package/18xx-ti-utils/18xx-ti-utils.hash b/package/18xx-ti-utils/18xx-ti-utils.hash
new file mode 100644
index 0000000000..faa23d0b3e
--- /dev/null
+++ b/package/18xx-ti-utils/18xx-ti-utils.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 9ce2c7228dd0ac8d3cc530a32bb92b532bdbc5dfb6a405c245abee678d878697 18xx-ti-utils-R8.7_SP3.tar.gz
+sha256 363cef40b276a7a91ebcff3f78626d9cfe5e5a51927c725236007259403d5fc4 COPYING
diff --git a/package/18xx-ti-utils/18xx-ti-utils.mk b/package/18xx-ti-utils/18xx-ti-utils.mk
new file mode 100644
index 0000000000..d1f0388c3a
--- /dev/null
+++ b/package/18xx-ti-utils/18xx-ti-utils.mk
@@ -0,0 +1,30 @@
+################################################################################
+#
+# 18xx-ti-utils
+#
+################################################################################
+
+18XX_TI_UTILS_VERSION = R8.7_SP3
+18XX_TI_UTILS_SITE = git://git.ti.com/wilink8-wlan/18xx-ti-utils
+18XX_TI_UTILS_DEPENDENCIES = libnl
+18XX_TI_UTILS_LICENSE = BSD-3-Clause
+18XX_TI_UTILS_LICENSE_FILES = COPYING
+
+18XX_TI_UTILS_CFLAGS = -I$(STAGING_DIR)/usr/include/libnl3 -DCONFIG_LIBNL32
+
+ifeq ($(BR2_STATIC_LIBS),y)
+18XX_TI_UTILS_BUILD_TARGET = static
+endif
+
+define 18XX_TI_UTILS_BUILD_CMDS
+ $(TARGET_MAKE_ENV) CROSS_COMPILE=$(TARGET_CROSS) \
+ NFSROOT="$(STAGING_DIR)" NLVER=3 $(MAKE) -C $(@D) \
+ CFLAGS="$(TARGET_CFLAGS) $(18XX_TI_UTILS_CFLAGS)" \
+ $(18XX_TI_UTILS_BUILD_TARGET)
+endef
+
+define 18XX_TI_UTILS_INSTALL_TARGET_CMDS
+ $(INSTALL) -m 0755 $(@D)/calibrator $(TARGET_DIR)/usr/bin/calibrator
+endef
+
+$(eval $(generic-package))
diff --git a/package/18xx-ti-utils/Config.in b/package/18xx-ti-utils/Config.in
new file mode 100644
index 0000000000..571d196e09
--- /dev/null
+++ b/package/18xx-ti-utils/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_18XX_TI_UTILS
+ bool "18xx-ti-utils"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+ select BR2_PACKAGE_LIBNL
+ help
+ TI Wilink calibration utilities.
+
+ CONFIG_NL80211_TESTMODE must be enabled in the kernel
+ configuration for this package to work.
+
+ http://processors.wiki.ti.com/index.php/WL18xx_TX_Testing
+
+comment "18xx-ti-utils needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/Config.in b/package/Config.in
index 9cd5d9c087..12d3d2bbff 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -196,6 +196,7 @@ menu "Filesystem and flash utilities"
source "package/squashfs/Config.in"
source "package/sshfs/Config.in"
source "package/sunxi-tools/Config.in"
+ source "package/udftools/Config.in"
source "package/unionfs/Config.in"
source "package/xfsprogs/Config.in"
endmenu
@@ -374,6 +375,7 @@ menu "Firmware"
source "package/wilink-bt-firmware/Config.in"
source "package/zd1211-firmware/Config.in"
endmenu
+ source "package/18xx-ti-utils/Config.in"
source "package/a10disp/Config.in"
source "package/acpica/Config.in"
source "package/acpid/Config.in"
@@ -503,6 +505,8 @@ endmenu
source "package/stm32flash/Config.in"
source "package/sunxi-cedarx/Config.in"
source "package/sunxi-mali/Config.in"
+ source "package/sunxi-mali-mainline/Config.in"
+ source "package/sunxi-mali-mainline-driver/Config.in"
source "package/sysstat/Config.in"
source "package/targetcli-fb/Config.in"
source "package/ti-gfx/Config.in"
@@ -774,6 +778,7 @@ menu "External python modules"
source "package/python-flask-babel/Config.in"
source "package/python-flask-jsonrpc/Config.in"
source "package/python-flask-login/Config.in"
+ source "package/python-flask-sqlalchemy/Config.in"
source "package/python-flup/Config.in"
source "package/python-futures/Config.in"
source "package/python-gobject/Config.in"
@@ -918,6 +923,7 @@ menu "External python modules"
source "package/python-socketio/Config.in"
source "package/python-sortedcontainers//Config.in"
source "package/python-spidev/Config.in"
+ source "package/python-sqlalchemy/Config.in"
source "package/python-systemd/Config.in"
source "package/python-tabledata/Config.in"
source "package/python-tempora/Config.in"
diff --git a/package/autofs/Config.in b/package/autofs/Config.in
index 8e08357a4e..8bb5fe276f 100644
--- a/package/autofs/Config.in
+++ b/package/autofs/Config.in
@@ -2,8 +2,9 @@ config BR2_PACKAGE_AUTOFS
bool "autofs"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU
- depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
depends on !BR2_STATIC_LIBS # dlfcn
+ depends on !BR2_TOOLCHAIN_USES_MUSL # nsswitch
+ select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
help
Autofs controls the operation of the automount daemons. The
automount daemons automatically mount filesystems when they
@@ -15,7 +16,7 @@ config BR2_PACKAGE_AUTOFS
http://www.linuxfromscratch.org/blfs/view/svn/general/autofs.html
-comment "autofs needs a toolchain w/ NPTL, RPC, dynamic library"
+comment "autofs needs a glibc or uClibc toolchain w/ NPTL and dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \
- !BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \
+ || BR2_TOOLCHAIN_USES_MUSL
diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk
index 90cc38de55..87a218441e 100644
--- a/package/autofs/autofs.mk
+++ b/package/autofs/autofs.mk
@@ -9,7 +9,7 @@ AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz
AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5
AUTOFS_LICENSE = GPL-2.0+
AUTOFS_LICENSE_FILES = COPYING COPYRIGHT
-AUTOFS_DEPENDENCIES = host-flex host-bison
+AUTOFS_DEPENDENCIES = host-flex host-bison host-pkgconf
# autofs looks on the build machine for the path of modprobe, so tell
# it explicitly where it will be located on the target.
@@ -31,4 +31,11 @@ AUTOFS_CONF_OPTS = \
AUTOFS_MAKE_ENV = DONTSTRIP=1
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+AUTOFS_CONF_OPTS += --with-libtirpc
+AUTOFS_DEPENDENCIES += libtirpc
+else
+AUTOFS_CONF_OPTS += --without-libtirpc
+endif
+
$(eval $(autotools-package))
diff --git a/package/azmq/azmq.hash b/package/azmq/azmq.hash
index d3993f4988..35139cfaeb 100644
--- a/package/azmq/azmq.hash
+++ b/package/azmq/azmq.hash
@@ -1,3 +1,4 @@
# Locally calculated
-# https://github.com/zeromq/azmq/archive/v1.0.tar.gz
-sha256 c204c731bcb7810ca3a2c5515e88974ef2ff8d0589e60a897dc238b369180e7b azmq-v1.0.tar.gz
+# https://github.com/zeromq/azmq/archive/v1.0.2.tar.gz
+sha256 25fa8b07756cffae95e25a55c7ea42efe02e8cd797552201aa771dd69cfc8fbf azmq-v1.0.2.tar.gz
+sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE-BOOST_1_0
diff --git a/package/azmq/azmq.mk b/package/azmq/azmq.mk
index 427ad0f5b4..9ccb407a65 100644
--- a/package/azmq/azmq.mk
+++ b/package/azmq/azmq.mk
@@ -4,7 +4,7 @@
#
################################################################################
-AZMQ_VERSION = v1.0
+AZMQ_VERSION = v1.0.2
AZMQ_SITE = $(call github,zeromq,azmq,$(AZMQ_VERSION))
AZMQ_DEPENDENCIES = boost zeromq
AZMQ_LICENSE = BSL-1.0
diff --git a/package/bind/bind.mk b/package/bind/bind.mk
index bec902079c..392ef321c2 100644
--- a/package/bind/bind.mk
+++ b/package/bind/bind.mk
@@ -93,11 +93,11 @@ endef
ifeq ($(BR2_PACKAGE_BIND_SERVER),y)
define BIND_INSTALL_INIT_SYSV
- $(INSTALL) -m 0755 -D package/bind/S81named \
+ $(INSTALL) -m 0755 -D $(BIND_PKGDIR)/S81named \
$(TARGET_DIR)/etc/init.d/S81named
endef
define BIND_INSTALL_INIT_SYSTEMD
- $(INSTALL) -D -m 644 package/bind/named.service \
+ $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \
$(TARGET_DIR)/usr/lib/systemd/system/named.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
diff --git a/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch b/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
index 105626cbe2..a5da3a251e 100644
--- a/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
+++ b/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
@@ -12,7 +12,7 @@ diff --git a/Makefile.flags b/Makefile.flags
index 307afa7..885e323 100644
--- a/Makefile.flags
+++ b/Makefile.flags
-@@ -141,7 +141,9 @@ ifeq ($(CONFIG_SELINUX),y)
+@@ -153,7 +153,9 @@ ifeq ($(CONFIG_SELINUX),y)
SELINUX_PC_MODULES = libselinux libsepol
$(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES)))
CPPFLAGS += $(SELINUX_CFLAGS)
diff --git a/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch b/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch
deleted file mode 100644
index 610ca3992d..0000000000
--- a/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 2c240f131ae5cc981702b45397be3b311c67a9ee Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Fri, 14 Jul 2017 22:23:46 +0200
-Subject: [PATCH] Makefile: include per-arch Makefile before Makefile.flags
-
-Makefile.flags contains:
-
-ARCH_FPIC ?= -fpic
-ARCH_FPIE ?= -fpie
-
-However, arch/$(ARCH)/Makefile gets included *after* Makefile.flags,
-and therefore doesn't get the chance to provide its own value.
-
-Fix this by including arch/$(ARCH)/Makefile *before* Makefile.flags.
-
-[Submitted upstream: http://lists.busybox.net/pipermail/busybox/2017-July/085632.html]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 971e68e..fe85070 100644
---- a/Makefile
-+++ b/Makefile
-@@ -508,6 +508,8 @@ ifeq ($(dot-config),1)
- # To avoid any implicit rule to kick in, define an empty command
- .config .kconfig.d: ;
-
-+-include $(srctree)/arch/$(ARCH)/Makefile
-+
- # Now we can define CFLAGS etc according to .config
- include $(srctree)/Makefile.flags
-
-@@ -531,8 +533,6 @@ endif
- # Defaults busybox but it is usually overridden in the arch makefile
- all: busybox doc
-
---include $(srctree)/arch/$(ARCH)/Makefile
--
- # arch Makefile may override CC so keep this after arch Makefile is included
- #bbox# NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
- CHECKFLAGS += $(NOSTDINC_FLAGS)
---
-2.9.4
-
diff --git a/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch b/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch
deleted file mode 100644
index b487035358..0000000000
--- a/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 43593d65827f4e7f848fc410321b0b2deed986fc Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Fri, 14 Jul 2017 21:54:37 +0200
-Subject: [PATCH] arch/{sparc,sparc64}/Makefile: define ARCH_FPIC
-
-Building Busybox on SPARC or SPARC64 with CONFIG_BUILD_LIBBUSYBOX=y
-currently fails with:
-
-miscutils/lib.a(i2c_tools.o): In function `i2c_dev_open':
-i2c_tools.c:(.text.i2c_dev_open+0x14): relocation truncated to fit: R_SPARC_GOT13 against `.LC0'
-i2c_tools.c:(.text.i2c_dev_open+0x38): relocation truncated to fit: R_SPARC_GOT13 against symbol `bb_errno' defined in COMMON section in libbb/lib.a(ptr_to_globals.o)
-i2c_tools.c:(.text.i2c_dev_open+0x6c): relocation truncated to fit: R_SPARC_GOT13 against `.LC1'
-miscutils/lib.a(i2c_tools.o): In function `check_funcs_test_end':
-i2c_tools.c:(.text.check_funcs_test_end+0x24): relocation truncated to fit: R_SPARC_GOT13 against `.LC2'
-i2c_tools.c:(.text.check_funcs_test_end+0x2c): relocation truncated to fit: R_SPARC_GOT13 against `.LC3'
-miscutils/lib.a(i2c_tools.o): In function `check_read_funcs':
-i2c_tools.c:(.text.check_read_funcs+0x30): relocation truncated to fit: R_SPARC_GOT13 against `.LC10'
-i2c_tools.c:(.text.check_read_funcs+0x80): relocation truncated to fit: R_SPARC_GOT13 against `.LC4'
-i2c_tools.c:(.text.check_read_funcs+0x98): relocation truncated to fit: R_SPARC_GOT13 against `.LC5'
-i2c_tools.c:(.text.check_read_funcs+0xc0): relocation truncated to fit: R_SPARC_GOT13 against `.LC6'
-i2c_tools.c:(.text.check_read_funcs+0xe0): relocation truncated to fit: R_SPARC_GOT13 against `.LC7'
-i2c_tools.c:(.text.check_read_funcs+0xf8): additional relocation overflows omitted from the output
-
-As stated by the gcc documentation, the SPARC architecture has a
-limited GOT size, which prevents moderately large binaries to be built
-with -fpic, and -fPIC is necessary. From gcc's documentation:
-
-'-fpic'
- Generate position-independent code (PIC) suitable for use in a
- shared library, if supported for the target machine. Such code
- accesses all constant addresses through a global offset table
- (GOT). The dynamic loader resolves the GOT entries when the
- program starts (the dynamic loader is not part of GCC; it is part
- of the operating system). If the GOT size for the linked
- executable exceeds a machine-specific maximum size, you get an
- error message from the linker indicating that '-fpic' does not
- work; in that case, recompile with '-fPIC' instead. (These
- maximums are 8k on the SPARC, 28k on AArch64 and 32k on the m68k
- and RS/6000. The x86 has no such limit.)
-
-'-fPIC'
- If supported for the target machine, emit position-independent
- code, suitable for dynamic linking and avoiding any limit on the
- size of the global offset table. This option makes a difference on
- AArch64, m68k, PowerPC and SPARC.
-
-With a limit of 8KB on SPARC, we quickly reach this limit, and we hit
-it when building Busybox on SPARC/SPARC64 with the
-CONFIG_BUILD_LIBBUSYBOX=y option enabled.
-
-Therefore, this commit redefines ARCH_FPIC as -fPIC on sparc and
-sparc64 to solve this issue.
-
-[Submitted upstream: http://lists.busybox.net/pipermail/busybox/2017-July/085633.html]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- arch/sparc/Makefile | 1 +
- arch/sparc64/Makefile | 1 +
- 2 files changed, 2 insertions(+)
- create mode 100644 arch/sparc/Makefile
- create mode 100644 arch/sparc64/Makefile
-
-diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
-new file mode 100644
-index 0000000..4d6c5fb
---- /dev/null
-+++ b/arch/sparc/Makefile
-@@ -0,0 +1 @@
-+ARCH_FPIC = -fPIC
-diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile
-new file mode 100644
-index 0000000..4d6c5fb
---- /dev/null
-+++ b/arch/sparc64/Makefile
-@@ -0,0 +1 @@
-+ARCH_FPIC = -fPIC
---
-2.9.4
-
diff --git a/package/busybox/0005-httpd-fix-handling-of-range-requests.patch b/package/busybox/0005-httpd-fix-handling-of-range-requests.patch
deleted file mode 100644
index b3ca32d75c..0000000000
--- a/package/busybox/0005-httpd-fix-handling-of-range-requests.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 2b400d9b2b7309d6e479102fc3ce646e893058a5 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Mon, 18 Sep 2017 13:09:11 +0200
-Subject: [PATCH] httpd: fix handling of range requests
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- networking/httpd.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/networking/httpd.c b/networking/httpd.c
-index e072f23c7..5e32fc936 100644
---- a/networking/httpd.c
-+++ b/networking/httpd.c
-@@ -2337,7 +2337,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
- if (STRNCASECMP(iobuf, "Range:") == 0) {
- /* We know only bytes=NNN-[MMM] */
- char *s = skip_whitespace(iobuf + sizeof("Range:")-1);
-- if (is_prefixed_with(s, "bytes=") == 0) {
-+ if (is_prefixed_with(s, "bytes=")) {
- s += sizeof("bytes=")-1;
- range_start = BB_STRTOOFF(s, &s, 10);
- if (s[0] != '-' || range_start < 0) {
---
-2.11.0
-
diff --git a/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch b/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch
deleted file mode 100644
index e8fd2e027d..0000000000
--- a/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 0402cb32df015d9372578e3db27db47b33d5c7b0 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Sun, 22 Oct 2017 18:23:23 +0200
-Subject: [PATCH] bunzip2: fix runCnt overflow from bug 10431
-
-This particular corrupted file can be dealth with by using "unsigned".
-If there will be cases where it genuinely overflows, there is a disabled
-code to deal with that too.
-
-function old new delta
-get_next_block 1678 1667 -11
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Patch status: upstream commit 0402cb32df0
-
- archival/libarchive/decompress_bunzip2.c | 30 +++++++++++++++++++-----------
- 1 file changed, 19 insertions(+), 11 deletions(-)
-
-diff --git a/archival/libarchive/decompress_bunzip2.c b/archival/libarchive/decompress_bunzip2.c
-index 7cd18f5ed4cf..bec89edd3a4d 100644
---- a/archival/libarchive/decompress_bunzip2.c
-+++ b/archival/libarchive/decompress_bunzip2.c
-@@ -156,15 +156,15 @@ static unsigned get_bits(bunzip_data *bd, int bits_wanted)
- static int get_next_block(bunzip_data *bd)
- {
- struct group_data *hufGroup;
-- int dbufCount, dbufSize, groupCount, *base, *limit, selector,
-- i, j, runPos, symCount, symTotal, nSelectors, byteCount[256];
-- int runCnt = runCnt; /* for compiler */
-+ int groupCount, *base, *limit, selector,
-+ i, j, symCount, symTotal, nSelectors, byteCount[256];
- uint8_t uc, symToByte[256], mtfSymbol[256], *selectors;
- uint32_t *dbuf;
- unsigned origPtr, t;
-+ unsigned dbufCount, runPos;
-+ unsigned runCnt = runCnt; /* for compiler */
-
- dbuf = bd->dbuf;
-- dbufSize = bd->dbufSize;
- selectors = bd->selectors;
-
- /* In bbox, we are ok with aborting through setjmp which is set up in start_bunzip */
-@@ -187,7 +187,7 @@ static int get_next_block(bunzip_data *bd)
- it didn't actually work. */
- if (get_bits(bd, 1)) return RETVAL_OBSOLETE_INPUT;
- origPtr = get_bits(bd, 24);
-- if ((int)origPtr > dbufSize) return RETVAL_DATA_ERROR;
-+ if (origPtr > bd->dbufSize) return RETVAL_DATA_ERROR;
-
- /* mapping table: if some byte values are never used (encoding things
- like ascii text), the compression code removes the gaps to have fewer
-@@ -435,7 +435,14 @@ static int get_next_block(bunzip_data *bd)
- symbols, but a run of length 0 doesn't mean anything in this
- context). Thus space is saved. */
- runCnt += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */
-- if (runPos < dbufSize) runPos <<= 1;
-+//The 32-bit overflow of runCnt wasn't yet seen, but probably can happen.
-+//This would be the fix (catches too large count way before it can overflow):
-+// if (runCnt > bd->dbufSize) {
-+// dbg("runCnt:%u > dbufSize:%u RETVAL_DATA_ERROR",
-+// runCnt, bd->dbufSize);
-+// return RETVAL_DATA_ERROR;
-+// }
-+ if (runPos < bd->dbufSize) runPos <<= 1;
- goto end_of_huffman_loop;
- }
-
-@@ -445,14 +452,15 @@ static int get_next_block(bunzip_data *bd)
- literal used is the one at the head of the mtfSymbol array.) */
- if (runPos != 0) {
- uint8_t tmp_byte;
-- if (dbufCount + runCnt > dbufSize) {
-- dbg("dbufCount:%d+runCnt:%d %d > dbufSize:%d RETVAL_DATA_ERROR",
-- dbufCount, runCnt, dbufCount + runCnt, dbufSize);
-+ if (dbufCount + runCnt > bd->dbufSize) {
-+ dbg("dbufCount:%u+runCnt:%u %u > dbufSize:%u RETVAL_DATA_ERROR",
-+ dbufCount, runCnt, dbufCount + runCnt, bd->dbufSize);
- return RETVAL_DATA_ERROR;
- }
- tmp_byte = symToByte[mtfSymbol[0]];
- byteCount[tmp_byte] += runCnt;
-- while (--runCnt >= 0) dbuf[dbufCount++] = (uint32_t)tmp_byte;
-+ while ((int)--runCnt >= 0)
-+ dbuf[dbufCount++] = (uint32_t)tmp_byte;
- runPos = 0;
- }
-
-@@ -466,7 +474,7 @@ static int get_next_block(bunzip_data *bd)
- first symbol in the mtf array, position 0, would have been handled
- as part of a run above. Therefore 1 unused mtf position minus
- 2 non-literal nextSym values equals -1.) */
-- if (dbufCount >= dbufSize) return RETVAL_DATA_ERROR;
-+ if (dbufCount >= bd->dbufSize) return RETVAL_DATA_ERROR;
- i = nextSym - 1;
- uc = mtfSymbol[i];
-
---
-2.15.1
-
diff --git a/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch b/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch
deleted file mode 100644
index c8d875010e..0000000000
--- a/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9ac42c500586fa5f10a1f6d22c3f797df11b1f6b Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Fri, 27 Oct 2017 15:37:03 +0200
-Subject: [PATCH] unlzma: fix SEGV, closes 10436
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Patch status: upstream commit 9ac42c500586f
-
- archival/libarchive/decompress_unlzma.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/archival/libarchive/decompress_unlzma.c b/archival/libarchive/decompress_unlzma.c
-index a9040877efa0..be4342414435 100644
---- a/archival/libarchive/decompress_unlzma.c
-+++ b/archival/libarchive/decompress_unlzma.c
-@@ -450,8 +450,12 @@ unpack_lzma_stream(transformer_state_t *xstate)
- IF_NOT_FEATURE_LZMA_FAST(string:)
- do {
- uint32_t pos = buffer_pos - rep0;
-- if ((int32_t)pos < 0)
-+ if ((int32_t)pos < 0) {
- pos += header.dict_size;
-+ /* bug 10436 has an example file where this triggers: */
-+ if ((int32_t)pos < 0)
-+ goto bad;
-+ }
- previous_byte = buffer[pos];
- IF_NOT_FEATURE_LZMA_FAST(one_byte2:)
- buffer[buffer_pos++] = previous_byte;
---
-2.15.1
-
diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config
index 4130e6a8b6..a7aa19ea8a 100644
--- a/package/busybox/busybox-minimal.config
+++ b/package/busybox/busybox-minimal.config
@@ -1,39 +1,39 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.27.1
-# Sun Jul 30 15:42:11 2017
+# Busybox version: 1.28.0
+# Wed Feb 7 09:47:09 2018
#
CONFIG_HAVE_DOT_CONFIG=y
#
-# Busybox Settings
+# Settings
#
# CONFIG_DESKTOP is not set
# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_FEDORA_COMPAT is not set
CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_LONG_OPTS=y
# CONFIG_SHOW_USAGE is not set
# CONFIG_FEATURE_VERBOSE_USAGE is not set
# CONFIG_FEATURE_COMPRESS_USAGE is not set
-CONFIG_BUSYBOX=y
-CONFIG_FEATURE_INSTALLER=y
-# CONFIG_INSTALL_NO_USR is not set
+CONFIG_LFS=y
# CONFIG_PAM is not set
-CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_UTMP=y
CONFIG_FEATURE_WTMP=y
# CONFIG_FEATURE_PIDFILE is not set
CONFIG_PID_FILE_PATH=""
+CONFIG_BUSYBOX=y
+CONFIG_FEATURE_INSTALLER=y
+# CONFIG_INSTALL_NO_USR is not set
CONFIG_FEATURE_SUID=y
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SYSLOG=y
-# CONFIG_FEATURE_HAVE_RPC is not set
CONFIG_PLATFORM_LINUX=y
#
@@ -43,14 +43,15 @@ CONFIG_STATIC=y
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
+# CONFIG_USE_PORTABLE_CODE is not set
#
# Installation Options ("make install" behavior)
@@ -77,7 +78,7 @@ CONFIG_NO_DEBUG_LIB=y
# CONFIG_EFENCE is not set
#
-# Busybox Library Tuning
+# Library Tuning
#
# CONFIG_FEATURE_USE_BSS_TAIL is not set
CONFIG_FEATURE_RTMINMAX=y
@@ -144,7 +145,6 @@ CONFIG_BZCAT=y
# CONFIG_UNLZMA is not set
CONFIG_LZCAT=y
# CONFIG_LZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_UNXZ is not set
CONFIG_XZCAT=y
# CONFIG_XZ is not set
@@ -164,8 +164,8 @@ CONFIG_FEATURE_GZIP_DECOMPRESS=y
CONFIG_UNLZOP=y
CONFIG_LZOPCAT=y
# CONFIG_LZOP_COMPR_HIGH is not set
-# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
+# CONFIG_RPM2CPIO is not set
# CONFIG_TAR is not set
# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
# CONFIG_FEATURE_TAR_CREATE is not set
@@ -183,12 +183,14 @@ CONFIG_LZOPCAT=y
# CONFIG_FEATURE_UNZIP_BZIP2 is not set
# CONFIG_FEATURE_UNZIP_LZMA is not set
# CONFIG_FEATURE_UNZIP_XZ is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
+CONFIG_FEATURE_CATN=y
CONFIG_FEATURE_CATV=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
@@ -219,11 +221,8 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
-# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
# CONFIG_UNEXPAND is not set
-# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
CONFIG_FACTOR=y
@@ -261,12 +260,10 @@ CONFIG_SHA3SUM=y
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
# CONFIG_MKTEMP is not set
CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
CONFIG_NICE=y
CONFIG_NL=y
CONFIG_NOHUP=y
@@ -281,7 +278,6 @@ CONFIG_FEATURE_READLINK_FOLLOW=y
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
CONFIG_SEQ=y
CONFIG_SHRED=y
# CONFIG_SHUF is not set
@@ -320,6 +316,7 @@ CONFIG_TRUNCATE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNAME_OSNAME="GNU/Linux"
+CONFIG_BB_ARCH=y
CONFIG_UNIQ=y
CONFIG_UNLINK=y
CONFIG_USLEEP=y
@@ -388,6 +385,14 @@ CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
CONFIG_WHICH=y
#
+# klibc-utils
+#
+# CONFIG_MINIPS is not set
+CONFIG_NUKE=y
+CONFIG_RESUME=y
+CONFIG_RUN_INIT=y
+
+#
# Editors
#
# CONFIG_AWK is not set
@@ -456,6 +461,8 @@ CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
+CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y
+CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
#
# Init Utilities
@@ -489,12 +496,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
# CONFIG_ADD_SHELL is not set
# CONFIG_REMOVE_SHELL is not set
CONFIG_ADDUSER=y
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=60000
CONFIG_FIRST_SYSTEM_ID=100
@@ -604,7 +609,6 @@ CONFIG_FEATURE_GETOPT_LONG=y
# CONFIG_HD is not set
CONFIG_XXD=y
# CONFIG_HWCLOCK is not set
-# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
# CONFIG_IONICE is not set
# CONFIG_IPCRM is not set
@@ -644,7 +648,6 @@ CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_FEATURE_MOUNT_OTHERTAB=y
# CONFIG_MOUNTPOINT is not set
# CONFIG_NSENTER is not set
-# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
# CONFIG_PIVOT_ROOT is not set
# CONFIG_RDATE is not set
# CONFIG_RDEV is not set
@@ -658,11 +661,15 @@ CONFIG_FEATURE_MOUNT_OTHERTAB=y
CONFIG_LINUX32=y
CONFIG_LINUX64=y
CONFIG_SETPRIV=y
+CONFIG_FEATURE_SETPRIV_DUMP=y
+CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
+CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
# CONFIG_SETSID is not set
CONFIG_SWAPON=y
# CONFIG_FEATURE_SWAPON_DISCARD is not set
# CONFIG_FEATURE_SWAPON_PRI is not set
CONFIG_SWAPOFF=y
+CONFIG_FEATURE_SWAPONOFF_LABEL=y
# CONFIG_SWITCH_ROOT is not set
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
@@ -678,7 +685,11 @@ CONFIG_FEATURE_UMOUNT_ALL=y
CONFIG_FEATURE_MOUNT_LOOP=y
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_MTAB_SUPPORT is not set
-# CONFIG_VOLUMEID is not set
+CONFIG_VOLUMEID=y
+
+#
+# Filesystem/Volume identification
+#
# CONFIG_FEATURE_VOLUMEID_BCACHE is not set
# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
@@ -692,6 +703,7 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+CONFIG_FEATURE_VOLUMEID_MINIX=y
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
@@ -724,6 +736,7 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set
CONFIG_FEATURE_CROND_DIR=""
# CONFIG_CRONTAB is not set
# CONFIG_DC is not set
@@ -746,6 +759,7 @@ CONFIG_FEATURE_CROND_DIR=""
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+CONFIG_HEXEDIT=y
# CONFIG_I2CGET is not set
# CONFIG_I2CSET is not set
# CONFIG_I2CDUMP is not set
@@ -777,6 +791,7 @@ CONFIG_PARTPROBE=y
# CONFIG_RFKILL is not set
# CONFIG_RUNLEVEL is not set
# CONFIG_RX is not set
+CONFIG_SETFATTR=y
CONFIG_SETSERIAL=y
# CONFIG_STRINGS is not set
# CONFIG_TIME is not set
@@ -872,6 +887,7 @@ CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
# CONFIG_NBDCLIENT is not set
CONFIG_NC=y
+# CONFIG_NETCAT is not set
CONFIG_NC_SERVER=y
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
@@ -899,11 +915,11 @@ CONFIG_FEATURE_TELNET_WIDTH=y
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
# CONFIG_TFTP is not set
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTPD is not set
# CONFIG_FEATURE_TFTP_GET is not set
# CONFIG_FEATURE_TFTP_PUT is not set
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
-# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
# CONFIG_TLS is not set
# CONFIG_TRACEROUTE is not set
@@ -922,13 +938,9 @@ CONFIG_WGET=y
# CONFIG_FEATURE_WGET_OPENSSL is not set
# CONFIG_WHOIS is not set
# CONFIG_ZCIP is not set
-# CONFIG_UDHCPC6 is not set
-# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
-# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
-# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
# CONFIG_UDHCPD is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
CONFIG_DHCPD_LEASES_FILE=""
# CONFIG_DUMPLEASES is not set
# CONFIG_DHCPRELAY is not set
@@ -936,11 +948,19 @@ CONFIG_UDHCPC=y
# CONFIG_FEATURE_UDHCPC_ARPING is not set
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+# CONFIG_UDHCPC6 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
+
+#
+# Common options for DHCP applets
+#
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=9
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
#
@@ -1020,13 +1040,11 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
CONFIG_SVC=y
# CONFIG_SVLOGD is not set
# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SESTATUS is not set
# CONFIG_SETENFORCE is not set
@@ -1081,17 +1099,19 @@ CONFIG_HUSH_TEST=y
CONFIG_HUSH_HELP=y
CONFIG_HUSH_EXPORT=y
CONFIG_HUSH_EXPORT_N=y
+CONFIG_HUSH_READONLY=y
CONFIG_HUSH_KILL=y
CONFIG_HUSH_WAIT=y
CONFIG_HUSH_TRAP=y
CONFIG_HUSH_TYPE=y
+CONFIG_HUSH_TIMES=y
CONFIG_HUSH_READ=y
CONFIG_HUSH_SET=y
CONFIG_HUSH_UNSET=y
CONFIG_HUSH_ULIMIT=y
CONFIG_HUSH_UMASK=y
+CONFIG_HUSH_GETOPTS=y
# CONFIG_HUSH_MEMLEAK is not set
-# CONFIG_MSH is not set
#
# Options common to all shells
@@ -1101,6 +1121,7 @@ CONFIG_FEATURE_SH_MATH_64=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_READ_FRAC=y
# CONFIG_FEATURE_SH_HISTFILESIZE is not set
#
diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config
index 7753a861fd..38de13d4d9 100644
--- a/package/busybox/busybox.config
+++ b/package/busybox/busybox.config
@@ -1,39 +1,39 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.27.1
-# Sun Jul 30 15:27:03 2017
+# Busybox version: 1.28.0
+# Wed Feb 7 09:44:57 2018
#
CONFIG_HAVE_DOT_CONFIG=y
#
-# Busybox Settings
+# Settings
#
CONFIG_DESKTOP=y
# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_FEDORA_COMPAT is not set
CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_LONG_OPTS=y
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
# CONFIG_FEATURE_COMPRESS_USAGE is not set
-CONFIG_BUSYBOX=y
-CONFIG_FEATURE_INSTALLER=y
-# CONFIG_INSTALL_NO_USR is not set
+CONFIG_LFS=y
# CONFIG_PAM is not set
-CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_UTMP=y
CONFIG_FEATURE_WTMP=y
# CONFIG_FEATURE_PIDFILE is not set
CONFIG_PID_FILE_PATH=""
+CONFIG_BUSYBOX=y
+CONFIG_FEATURE_INSTALLER=y
+# CONFIG_INSTALL_NO_USR is not set
CONFIG_FEATURE_SUID=y
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SYSLOG=y
-# CONFIG_FEATURE_HAVE_RPC is not set
CONFIG_PLATFORM_LINUX=y
#
@@ -43,14 +43,15 @@ CONFIG_PLATFORM_LINUX=y
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
+# CONFIG_USE_PORTABLE_CODE is not set
#
# Installation Options ("make install" behavior)
@@ -77,7 +78,7 @@ CONFIG_NO_DEBUG_LIB=y
# CONFIG_EFENCE is not set
#
-# Busybox Library Tuning
+# Library Tuning
#
# CONFIG_FEATURE_USE_BSS_TAIL is not set
CONFIG_FEATURE_RTMINMAX=y
@@ -144,7 +145,6 @@ CONFIG_BZCAT=y
CONFIG_UNLZMA=y
CONFIG_LZCAT=y
CONFIG_LZMA=y
-# CONFIG_FEATURE_LZMA_FAST is not set
CONFIG_UNXZ=y
CONFIG_XZCAT=y
CONFIG_XZ=y
@@ -164,8 +164,8 @@ CONFIG_FEATURE_GZIP_DECOMPRESS=y
CONFIG_UNLZOP=y
CONFIG_LZOPCAT=y
# CONFIG_LZOP_COMPR_HIGH is not set
-# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
+# CONFIG_RPM2CPIO is not set
CONFIG_TAR=y
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_FEATURE_TAR_CREATE=y
@@ -183,12 +183,14 @@ CONFIG_FEATURE_UNZIP_CDF=y
CONFIG_FEATURE_UNZIP_BZIP2=y
CONFIG_FEATURE_UNZIP_LZMA=y
CONFIG_FEATURE_UNZIP_XZ=y
+# CONFIG_FEATURE_LZMA_FAST is not set
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
+CONFIG_FEATURE_CATN=y
CONFIG_FEATURE_CATV=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
@@ -219,11 +221,8 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
-# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
# CONFIG_UNEXPAND is not set
-# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
CONFIG_FACTOR=y
@@ -261,12 +260,10 @@ CONFIG_SHA3SUM=y
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MKTEMP=y
CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
CONFIG_NICE=y
CONFIG_NL=y
CONFIG_NOHUP=y
@@ -281,7 +278,6 @@ CONFIG_FEATURE_READLINK_FOLLOW=y
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
CONFIG_SEQ=y
CONFIG_SHRED=y
# CONFIG_SHUF is not set
@@ -320,6 +316,7 @@ CONFIG_TRUNCATE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNAME_OSNAME="GNU/Linux"
+CONFIG_BB_ARCH=y
CONFIG_UNIQ=y
CONFIG_UNLINK=y
CONFIG_USLEEP=y
@@ -392,6 +389,14 @@ CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
CONFIG_WHICH=y
#
+# klibc-utils
+#
+# CONFIG_MINIPS is not set
+CONFIG_NUKE=y
+CONFIG_RESUME=y
+CONFIG_RUN_INIT=y
+
+#
# Editors
#
CONFIG_AWK=y
@@ -460,6 +465,8 @@ CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
+CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y
+CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
#
# Init Utilities
@@ -493,12 +500,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
CONFIG_ADDGROUP=y
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
# CONFIG_ADD_SHELL is not set
# CONFIG_REMOVE_SHELL is not set
CONFIG_ADDUSER=y
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=60000
CONFIG_FIRST_SYSTEM_ID=100
@@ -608,7 +613,6 @@ CONFIG_HEXDUMP=y
# CONFIG_HD is not set
CONFIG_XXD=y
CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
# CONFIG_IONICE is not set
CONFIG_IPCRM=y
@@ -648,7 +652,6 @@ CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_FEATURE_MOUNT_OTHERTAB=y
CONFIG_MOUNTPOINT=y
# CONFIG_NSENTER is not set
-# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
# CONFIG_RDEV is not set
@@ -662,11 +665,15 @@ CONFIG_SETARCH=y
CONFIG_LINUX32=y
CONFIG_LINUX64=y
CONFIG_SETPRIV=y
+CONFIG_FEATURE_SETPRIV_DUMP=y
+CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
+CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
CONFIG_SETSID=y
CONFIG_SWAPON=y
# CONFIG_FEATURE_SWAPON_DISCARD is not set
# CONFIG_FEATURE_SWAPON_PRI is not set
CONFIG_SWAPOFF=y
+CONFIG_FEATURE_SWAPONOFF_LABEL=y
CONFIG_SWITCH_ROOT=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
@@ -700,6 +707,7 @@ CONFIG_FEATURE_VOLUMEID_FAT=y
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+CONFIG_FEATURE_VOLUMEID_MINIX=y
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
@@ -732,6 +740,7 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
CONFIG_CROND=y
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
CONFIG_CRONTAB=y
CONFIG_DC=y
@@ -754,6 +763,7 @@ CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+CONFIG_HEXEDIT=y
CONFIG_I2CGET=y
CONFIG_I2CSET=y
CONFIG_I2CDUMP=y
@@ -785,6 +795,7 @@ CONFIG_PARTPROBE=y
# CONFIG_RFKILL is not set
CONFIG_RUNLEVEL=y
# CONFIG_RX is not set
+CONFIG_SETFATTR=y
CONFIG_SETSERIAL=y
CONFIG_STRINGS=y
CONFIG_TIME=y
@@ -880,6 +891,7 @@ CONFIG_NAMEIF=y
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
# CONFIG_NBDCLIENT is not set
# CONFIG_NC is not set
+# CONFIG_NETCAT is not set
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
@@ -907,6 +919,7 @@ CONFIG_FEATURE_TELNET_WIDTH=y
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
CONFIG_TFTP=y
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTPD is not set
#
@@ -915,7 +928,6 @@ CONFIG_TFTP=y
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
# CONFIG_TLS is not set
CONFIG_TRACEROUTE=y
@@ -934,13 +946,9 @@ CONFIG_FEATURE_WGET_TIMEOUT=y
# CONFIG_FEATURE_WGET_OPENSSL is not set
# CONFIG_WHOIS is not set
# CONFIG_ZCIP is not set
-# CONFIG_UDHCPC6 is not set
-# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
-# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
-# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
# CONFIG_UDHCPD is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
CONFIG_DHCPD_LEASES_FILE=""
# CONFIG_DUMPLEASES is not set
# CONFIG_DHCPRELAY is not set
@@ -948,11 +956,19 @@ CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+# CONFIG_UDHCPC6 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
+# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
+
+#
+# Common options for DHCP applets
+#
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
CONFIG_FEATURE_UDHCP_8021Q=y
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
#
@@ -1032,13 +1048,11 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
CONFIG_SVC=y
# CONFIG_SVLOGD is not set
# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SESTATUS is not set
# CONFIG_SETENFORCE is not set
@@ -1093,17 +1107,19 @@ CONFIG_ASH_CMDCMD=y
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_EXPORT is not set
# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_READONLY is not set
# CONFIG_HUSH_KILL is not set
# CONFIG_HUSH_WAIT is not set
# CONFIG_HUSH_TRAP is not set
# CONFIG_HUSH_TYPE is not set
+# CONFIG_HUSH_TIMES is not set
# CONFIG_HUSH_READ is not set
# CONFIG_HUSH_SET is not set
# CONFIG_HUSH_UNSET is not set
# CONFIG_HUSH_ULIMIT is not set
# CONFIG_HUSH_UMASK is not set
+# CONFIG_HUSH_GETOPTS is not set
# CONFIG_HUSH_MEMLEAK is not set
-# CONFIG_MSH is not set
#
# Options common to all shells
@@ -1113,6 +1129,7 @@ CONFIG_FEATURE_SH_MATH_64=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_READ_FRAC=y
# CONFIG_FEATURE_SH_HISTFILESIZE is not set
#
diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash
index 3e1956d0a0..b7067b6633 100644
--- a/package/busybox/busybox.hash
+++ b/package/busybox/busybox.hash
@@ -1,5 +1,6 @@
-# From https://busybox.net/downloads/busybox-1.27.2.tar.bz2.sign
-md5 476186f4bab81781dab2369bfd42734e busybox-1.27.2.tar.bz2
-sha1 11669e223cc38de646ce26080e91ca29b8d42ad9 busybox-1.27.2.tar.bz2
-# License files, locally calculated
+# From https://busybox.net/downloads/busybox-1.28.1.tar.bz2.sign
+md5 928919a21e34d5c5507d872a4fb7b9f4 busybox-1.28.1.tar.bz2
+sha1 932e2a77c3ddaa7f0915ed6fe9232041d261f86b busybox-1.28.1.tar.bz2
+# Locally calculated
+sha256 98fe1d3c311156c597cd5cfa7673bb377dc552b6fa20b5d3834579da3b13652e busybox-1.28.1.tar.bz2
sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index d0bbd3fd6e..bc0c661754 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -4,7 +4,7 @@
#
################################################################################
-BUSYBOX_VERSION = 1.27.2
+BUSYBOX_VERSION = 1.28.1
BUSYBOX_SITE = http://www.busybox.net/downloads
BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
BUSYBOX_LICENSE = GPL-2.0
diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash
index ea2ecbb7e9..c75854d2ac 100644
--- a/package/cjson/cjson.hash
+++ b/package/cjson/cjson.hash
@@ -1,3 +1,3 @@
# Locally computed:
-sha256 28ef8c069db19010b9af247b86b05f0f879ac914a4620997c3e5181465170b40 cjson-v1.7.1.tar.gz
+sha256 726a60137ab1aa6784dc575bf7d4c92f5367e937739c8bffcddce79071cf5f50 cjson-v1.7.3.tar.gz
sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE
diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk
index 88a33a2ce4..08020c48f6 100644
--- a/package/cjson/cjson.mk
+++ b/package/cjson/cjson.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CJSON_VERSION = v1.7.1
+CJSON_VERSION = v1.7.3
CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION))
CJSON_INSTALL_STAGING = YES
CJSON_LICENSE = MIT
diff --git a/package/czmq/czmq.hash b/package/czmq/czmq.hash
index 526ea594b9..c0a7176f8d 100644
--- a/package/czmq/czmq.hash
+++ b/package/czmq/czmq.hash
@@ -1,2 +1,6 @@
+# From https://github.com/zeromq/czmq/releases
+md5 d29baef1079f19a2c6a360eb6be984f8 czmq-4.1.0.tar.gz
+sha1 1d201a87205811367f7c92cbbd36a899edda68bf czmq-4.1.0.tar.gz
# Locally calculated
-sha256 5c76de41f736f0c059e0b26174ef99200f2aba2fa38333683dbe4944b2f80555 czmq-5205ec201e97c3a652c17eb86b18b70350b54512.tar.gz
+sha256 3befa35b4886b5298e8329b4f0aa5bb9bde0e7439bd3c5c53295cb988371fc11 czmq-4.1.0.tar.gz
+sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENCE
diff --git a/package/czmq/czmq.mk b/package/czmq/czmq.mk
index 5305789d7a..aef552415e 100644
--- a/package/czmq/czmq.mk
+++ b/package/czmq/czmq.mk
@@ -4,10 +4,10 @@
#
################################################################################
-CZMQ_VERSION = 5205ec201e97c3a652c17eb86b18b70350b54512
-CZMQ_SITE = $(call github,zeromq,czmq,$(CZMQ_VERSION))
+CZMQ_VERSION = 4.1.0
+CZMQ_SITE = https://github.com/zeromq/czmq/releases/download/v$(CZMQ_VERSION)
-# Autoreconf required as we use the git tree
+# 0001-configure.ac-remove-Werror.patch touches configure.ac
CZMQ_AUTORECONF = YES
CZMQ_INSTALL_STAGING = YES
CZMQ_DEPENDENCIES = zeromq host-pkgconf
@@ -18,10 +18,4 @@ CZMQ_LICENSE_FILES = LICENSE
# host-python, so disable asciidoc entirely.
CZMQ_CONF_ENV = ac_cv_prog_czmq_have_asciidoc=no
-define CZMQ_CREATE_CONFIG_DIR
- mkdir -p $(@D)/config
-endef
-
-CZMQ_POST_PATCH_HOOKS += CZMQ_CREATE_CONFIG_DIR
-
$(eval $(autotools-package))
diff --git a/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch b/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch
new file mode 100644
index 0000000000..d701ab6878
--- /dev/null
+++ b/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch
@@ -0,0 +1,48 @@
+Backport from upstream, see
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff -Nur gcc-4.9.4.orig/gcc/config/m68k/m68k.c gcc-4.9.4/gcc/config/m68k/m68k.c
+--- gcc-4.9.4.orig/gcc/config/m68k/m68k.c 2014-02-27 12:10:55.000000000 +0100
++++ gcc-4.9.4/gcc/config/m68k/m68k.c 2018-02-17 21:28:53.430538916 +0100
+@@ -166,6 +166,8 @@
+ const_tree, bool);
+ static bool m68k_cannot_force_const_mem (enum machine_mode mode, rtx x);
+ static bool m68k_output_addr_const_extra (FILE *, rtx);
++static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
++ int *, const_tree, int);
+ static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
+
+ /* Initialize the GCC target structure. */
+@@ -308,6 +310,9 @@
+ #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
+ #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
+
++#undef TARGET_PROMOTE_FUNCTION_MODE
++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
++
+ static const struct attribute_spec m68k_attribute_table[] =
+ {
+ /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
+@@ -6527,4 +6532,20 @@
+ == m68k_fk_interrupt_handler));
+ }
+
++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
++
++static machine_mode
++m68k_promote_function_mode (const_tree type, machine_mode mode,
++ int *punsignedp ATTRIBUTE_UNUSED,
++ const_tree fntype ATTRIBUTE_UNUSED,
++ int for_return)
++{
++ /* Promote libcall arguments narrower than int to match the normal C
++ ABI (for which promotions are handled via
++ TARGET_PROMOTE_PROTOTYPES). */
++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
++ return SImode;
++ return mode;
++}
++
+ #include "gt-m68k.h"
diff --git a/package/gcc/4.9.4/891-fix-m68k-uclinux.patch b/package/gcc/4.9.4/891-fix-m68k-uclinux.patch
deleted file mode 100644
index 4347642d67..0000000000
--- a/package/gcc/4.9.4/891-fix-m68k-uclinux.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-avoids internal compiler error while compiling linux-atomic.c
-See here:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-
-diff -Nur gcc-4.9.3.orig/libgcc/config.host gcc-4.9.3/libgcc/config.host
---- gcc-4.9.3.orig/libgcc/config.host 2014-03-27 16:40:31.000000000 +0100
-+++ gcc-4.9.3/libgcc/config.host 2016-04-05 16:20:53.422809885 +0200
-@@ -750,7 +750,7 @@
- m68k*-*-openbsd*)
- ;;
- m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
-- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
-+ tmake_file="$tmake_file m68k/t-floatlib"
- md_unwind_header=m68k/linux-unwind.h
- ;;
- m68k-*-linux*) # Motorola m68k's running GNU/Linux
diff --git a/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch
new file mode 100644
index 0000000000..75ad536054
--- /dev/null
+++ b/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch
@@ -0,0 +1,48 @@
+Backport from upstream, see
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff -Nur gcc-5.5.0.orig/gcc/config/m68k/m68k.c gcc-5.5.0/gcc/config/m68k/m68k.c
+--- gcc-5.5.0.orig/gcc/config/m68k/m68k.c 2015-01-15 14:28:42.000000000 +0100
++++ gcc-5.5.0/gcc/config/m68k/m68k.c 2018-02-17 19:34:33.146309632 +0100
+@@ -196,6 +196,8 @@
+ const_tree, bool);
+ static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x);
+ static bool m68k_output_addr_const_extra (FILE *, rtx);
++static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
++ int *, const_tree, int);
+ static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
+
+ /* Initialize the GCC target structure. */
+@@ -338,6 +340,9 @@
+ #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
+ #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
+
++#undef TARGET_PROMOTE_FUNCTION_MODE
++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
++
+ static const struct attribute_spec m68k_attribute_table[] =
+ {
+ /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
+@@ -6548,4 +6553,20 @@
+ == m68k_fk_interrupt_handler));
+ }
+
++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
++
++static machine_mode
++m68k_promote_function_mode (const_tree type, machine_mode mode,
++ int *punsignedp ATTRIBUTE_UNUSED,
++ const_tree fntype ATTRIBUTE_UNUSED,
++ int for_return)
++{
++ /* Promote libcall arguments narrower than int to match the normal C
++ ABI (for which promotions are handled via
++ TARGET_PROMOTE_PROTOTYPES). */
++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
++ return SImode;
++ return mode;
++}
++
+ #include "gt-m68k.h"
diff --git a/package/gcc/5.5.0/891-fix-m68k-uclinux.patch b/package/gcc/5.5.0/891-fix-m68k-uclinux.patch
deleted file mode 100644
index 4e186bd3d3..0000000000
--- a/package/gcc/5.5.0/891-fix-m68k-uclinux.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-avoids internal compiler error while compiling linux-atomic.c
-See here:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-
-diff -Nur gcc-5.3.0.orig/libgcc/config.host gcc-5.3.0/libgcc/config.host
---- gcc-5.3.0.orig/libgcc/config.host 2015-10-01 14:01:18.000000000 +0200
-+++ gcc-5.3.0/libgcc/config.host 2016-04-26 21:30:25.353691745 +0200
-@@ -794,7 +794,7 @@
- m68k*-*-openbsd*)
- ;;
- m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
-- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
-+ tmake_file="$tmake_file m68k/t-floatlib"
- md_unwind_header=m68k/linux-unwind.h
- ;;
- m68k-*-linux*) # Motorola m68k's running GNU/Linux
diff --git a/package/gcc/6.4.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/6.4.0/0001-m68k-coldfire-pr68467.patch
new file mode 100644
index 0000000000..afc18a508e
--- /dev/null
+++ b/package/gcc/6.4.0/0001-m68k-coldfire-pr68467.patch
@@ -0,0 +1,48 @@
+Backport from upstream, see
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff -Nur gcc-6.4.0.orig/gcc/config/m68k/m68k.c gcc-6.4.0/gcc/config/m68k/m68k.c
+--- gcc-6.4.0.orig/gcc/config/m68k/m68k.c 2016-01-04 15:30:50.652828000 +0100
++++ gcc-6.4.0/gcc/config/m68k/m68k.c 2018-02-17 19:08:16.313168186 +0100
+@@ -180,6 +180,8 @@
+ const_tree, bool);
+ static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x);
+ static bool m68k_output_addr_const_extra (FILE *, rtx);
++static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
++ int *, const_tree, int);
+ static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
+
+ /* Initialize the GCC target structure. */
+@@ -322,6 +324,9 @@
+ #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
+ #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
+
++#undef TARGET_PROMOTE_FUNCTION_MODE
++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
++
+ static const struct attribute_spec m68k_attribute_table[] =
+ {
+ /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
+@@ -6524,4 +6529,20 @@
+ == m68k_fk_interrupt_handler));
+ }
+
++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
++
++static machine_mode
++m68k_promote_function_mode (const_tree type, machine_mode mode,
++ int *punsignedp ATTRIBUTE_UNUSED,
++ const_tree fntype ATTRIBUTE_UNUSED,
++ int for_return)
++{
++ /* Promote libcall arguments narrower than int to match the normal C
++ ABI (for which promotions are handled via
++ TARGET_PROMOTE_PROTOTYPES). */
++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
++ return SImode;
++ return mode;
++}
++
+ #include "gt-m68k.h"
diff --git a/package/gcc/6.4.0/891-fix-m68k-uclinux.patch b/package/gcc/6.4.0/891-fix-m68k-uclinux.patch
deleted file mode 100644
index 754aa74e88..0000000000
--- a/package/gcc/6.4.0/891-fix-m68k-uclinux.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-avoids internal compiler error while compiling linux-atomic.c
-See here:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-
-diff -Nur gcc-6.1.0.orig/libgcc/config.host gcc-6.1.0/libgcc/config.host
---- gcc-6.1.0.orig/libgcc/config.host 2016-02-26 21:02:28.000000000 +0100
-+++ gcc-6.1.0/libgcc/config.host 2016-04-29 09:18:40.377989160 +0200
-@@ -812,7 +812,7 @@
- m68k*-*-openbsd*)
- ;;
- m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
-- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
-+ tmake_file="$tmake_file m68k/t-floatlib"
- md_unwind_header=m68k/linux-unwind.h
- ;;
- m68k-*-linux*) # Motorola m68k's running GNU/Linux
diff --git a/package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch
new file mode 100644
index 0000000000..629c6496e5
--- /dev/null
+++ b/package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch
@@ -0,0 +1,48 @@
+Backport from upstream, see
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff -Nur gcc-7.2.0.orig/gcc/config/m68k/m68k.c gcc-7.2.0/gcc/config/m68k/m68k.c
+--- gcc-7.2.0.orig/gcc/config/m68k/m68k.c 2017-04-03 22:30:56.274463000 +0000
++++ gcc-7.2.0/gcc/config/m68k/m68k.c 2018-01-27 02:16:53.779367849 +0000
+@@ -182,6 +182,8 @@
+ const_tree, bool);
+ static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x);
+ static bool m68k_output_addr_const_extra (FILE *, rtx);
++static machine_mode m68k_promote_function_mode (const_tree, machine_mode,
++ int *, const_tree, int);
+ static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
+ static enum flt_eval_method
+ m68k_excess_precision (enum excess_precision_type);
+@@ -332,6 +334,9 @@
+ #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
+ #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128
+
++#undef TARGET_PROMOTE_FUNCTION_MODE
++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
++
+ static const struct attribute_spec m68k_attribute_table[] =
+ {
+ /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
+@@ -6571,4 +6576,20 @@
+ return FLT_EVAL_METHOD_UNPREDICTABLE;
+ }
+
++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */
++
++static machine_mode
++m68k_promote_function_mode (const_tree type, machine_mode mode,
++ int *punsignedp ATTRIBUTE_UNUSED,
++ const_tree fntype ATTRIBUTE_UNUSED,
++ int for_return)
++{
++ /* Promote libcall arguments narrower than int to match the normal C
++ ABI (for which promotions are handled via
++ TARGET_PROMOTE_PROTOTYPES). */
++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode))
++ return SImode;
++ return mode;
++}
++
+ #include "gt-m68k.h"
diff --git a/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch
deleted file mode 100644
index e84fd92453..0000000000
--- a/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 2 May 2017 23:25:17 +0200
-Subject: [PATCH] fix m68k uclinux avoids internal compiler error while
- compiling linux-atomic.c See here:
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-[Romain: convert to git patch]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- libgcc/config.host | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgcc/config.host b/libgcc/config.host
-index b279a64..04fe183 100644
---- a/libgcc/config.host
-+++ b/libgcc/config.host
-@@ -820,7 +820,7 @@ m68k*-*-netbsdelf*)
- m68k*-*-openbsd*)
- ;;
- m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
-- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
-+ tmake_file="$tmake_file m68k/t-floatlib"
- md_unwind_header=m68k/linux-unwind.h
- ;;
- m68k-*-linux*) # Motorola m68k's running GNU/Linux
---
-2.9.3
-
diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash
index 3dab1e1516..86d3bb56dd 100644
--- a/package/glibc/glibc.hash
+++ b/package/glibc/glibc.hash
@@ -1,4 +1,8 @@
# Locally calculated (fetched from Github)
-sha256 00fbc845678a96f4acc574c4bda4be76506ecd8bafb2d08c58bfa3507625c81a glibc-glibc-2.26-146-gd300041c533a3d837c9f37a099bcc95466860e98.tar.gz
+sha256 a74489d14f4017bee6a6c6fe76f1de0dbf7d66c8695116de5aadd141c4757892 glibc-glibc-2.27.tar.gz
# Locally calculated (fetched from Github)
sha256 5aa9adeac09727db0b8a52794186563771e74d70410e9fd86431e339953fd4bb glibc-arc-2017.09-release.tar.gz
+
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
+sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES
diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
index 0351433e6a..00e114566c 100644
--- a/package/glibc/glibc.mk
+++ b/package/glibc/glibc.mk
@@ -10,7 +10,7 @@ GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VE
else
# Generate version string using:
# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master
-GLIBC_VERSION = glibc-2.26-146-gd300041c533a3d837c9f37a099bcc95466860e98
+GLIBC_VERSION = glibc-2.27
# Upstream doesn't officially provide an https download link.
# There is one (https://sourceware.org/git/glibc.git) but it's not reliable,
# sometimes the connection times out. So use an unofficial github mirror.
@@ -20,17 +20,15 @@ GLIBC_VERSION = glibc-2.26-146-gd300041c533a3d837c9f37a099bcc95466860e98
GLIBC_SITE = $(call github,bminor,glibc,$(GLIBC_VERSION))
endif
-GLIBC_SRC_SUBDIR = .
-
GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library)
-GLIBC_LICENSE_FILES = $(addprefix $(GLIBC_SRC_SUBDIR)/,COPYING COPYING.LIB LICENSES)
+GLIBC_LICENSE_FILES = COPYING COPYING.LIB LICENSES
# glibc is part of the toolchain so disable the toolchain dependency
GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO
# Before glibc is configured, we must have the first stage
# cross-compiler and the kernel headers
-GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-gawk
+GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk
GLIBC_SUBDIR = build
@@ -86,7 +84,7 @@ define GLIBC_CONFIGURE_CMDS
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \
CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \
- $(SHELL) $(@D)/$(GLIBC_SRC_SUBDIR)/configure \
+ $(SHELL) $(@D)/configure \
ac_cv_path_BASH_SHELL=/bin/bash \
libc_cv_forced_unwind=yes \
libc_cv_ssp=no \
diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash
index a003da668b..9cc8e4c913 100644
--- a/package/gnupg2/gnupg2.hash
+++ b/package/gnupg2/gnupg2.hash
@@ -1,6 +1,6 @@
-# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000419.html
-sha1 732266e8888c6f41c084d043c7a0058332ff3580 gnupg-2.2.4.tar.bz2
+# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q1/000420.html
+sha1 9dec110397e460b3950943e18f5873a4f277f216 gnupg-2.2.5.tar.bz2
# Calculated based on the hash above and signature
-# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.4.tar.bz2.sig
-sha256 401a3e64780fdfa6d7670de0880aa5c9d589b3db7a7098979d7606cec546f2ec gnupg-2.2.4.tar.bz2
+# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.5.tar.bz2.sig
+sha256 3fa189a32d4fb62147874eb1389047c267d9ba088f57ab521cb0df46f08aef57 gnupg-2.2.5.tar.bz2
sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING
diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk
index 980fae342b..ba5370902f 100644
--- a/package/gnupg2/gnupg2.mk
+++ b/package/gnupg2/gnupg2.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GNUPG2_VERSION = 2.2.4
+GNUPG2_VERSION = 2.2.5
GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2
GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg
GNUPG2_LICENSE = GPL-3.0+
diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash
index 173cb40683..be2913e00f 100644
--- a/package/gnutls/gnutls.hash
+++ b/package/gnutls/gnutls.hash
@@ -1,6 +1,6 @@
# Locally calculated after checking pgp signature
-# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.17.tar.xz.sig
-sha256 86b142afef587c118d63f72ccf307f3321dbc40357aae528202b65d913d20919 gnutls-3.5.17.tar.xz
+# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.18.tar.xz.sig
+sha256 ae2248d9e78747cf9c469dde81ff8f90b56838b707a0637f3f7d4eee90e80234 gnutls-3.5.18.tar.xz
# Locally calculated
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING
sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER
diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk
index 1ce7a742e3..6be7c6e27e 100644
--- a/package/gnutls/gnutls.mk
+++ b/package/gnutls/gnutls.mk
@@ -5,7 +5,7 @@
################################################################################
GNUTLS_VERSION_MAJOR = 3.5
-GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).17
+GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).18
GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library)
diff --git a/package/go/go.hash b/package/go/go.hash
index 445a0b7c20..73c1578d0b 100644
--- a/package/go/go.hash
+++ b/package/go/go.hash
@@ -1,2 +1,2 @@
# From https://golang.org/dl/
-sha256 a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993 go1.9.src.tar.gz
+sha256 f3de49289405fda5fd1483a8fe6bd2fa5469e005fd567df64485c4fa000c7f24 go1.10.src.tar.gz
diff --git a/package/go/go.mk b/package/go/go.mk
index 23facbdd81..4d55e16cc3 100644
--- a/package/go/go.mk
+++ b/package/go/go.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GO_VERSION = 1.9
+GO_VERSION = 1.10
GO_SITE = https://storage.googleapis.com/golang
GO_SOURCE = go$(GO_VERSION).src.tar.gz
diff --git a/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch b/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch
new file mode 100644
index 0000000000..81f9d1bd97
--- /dev/null
+++ b/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch
@@ -0,0 +1,52 @@
+From ae32d292ca641c08b6db8d2f7cfcce2a54d00835 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Tue, 20 Feb 2018 23:09:24 +0100
+Subject: [PATCH] MetersPanel: remove 0xe2 from MetersPanel.c
+
+This non ascii character trigger an issue with MakeHeader.py.
+
+./scripts/MakeHeader.py MetersPanel.c
+Traceback (most recent call last):
+ File "./scripts/MakeHeader.py", line 32, in <module>
+ for line in file.readlines():
+ File "[...]/output/host/lib/python3.6/encodings/ascii.py", line 26, in decode
+ return codecs.ascii_decode(input, self.errors)[0]
+UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 956: ordinal not in range(128)
+
+http://autobuild.buildroot.net/results/8ed/8edb78b054a265447fd0e83f67cba5f978be4ed6/build-end.log
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ MetersPanel.c | 2 +-
+ MetersPanel.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/MetersPanel.c b/MetersPanel.c
+index 3cf3e07..47296a4 100644
+--- a/MetersPanel.c
++++ b/MetersPanel.c
+@@ -37,7 +37,7 @@ static const char* const MetersFunctions[] = {"Style ", "Move ", "
+ static const char* const MetersKeys[] = {"Space", "Enter", " ", "Del", "F10"};
+ static int MetersEvents[] = {' ', 13, ERR, KEY_DC, KEY_F(10)};
+
+-// We avoid UTF-8 arrows ← → here as they might display full-width on Chinese
++// We avoid UTF-8 arrows <- -> here as they might display full-width on Chinese
+ // terminals, breaking our aligning.
+ // In <http://unicode.org/reports/tr11/>, arrows (U+2019..U+2199) are
+ // considered "Ambiguous characters".
+diff --git a/MetersPanel.h b/MetersPanel.h
+index e00169c..e80754a 100644
+--- a/MetersPanel.h
++++ b/MetersPanel.h
+@@ -29,7 +29,7 @@ struct MetersPanel_ {
+
+ // Note: In code the meters are known to have bar/text/graph "Modes", but in UI
+ // we call them "Styles".
+-// We avoid UTF-8 arrows ← → here as they might display full-width on Chinese
++// We avoid UTF-8 arrows <- -> here as they might display full-width on Chinese
+ // terminals, breaking our aligning.
+ // In <http://unicode.org/reports/tr11/>, arrows (U+2019..U+2199) are
+ // considered "Ambiguous characters".
+--
+2.14.3
+
diff --git a/package/htop/htop.hash b/package/htop/htop.hash
index cfea23f99b..5419d767a3 100644
--- a/package/htop/htop.hash
+++ b/package/htop/htop.hash
@@ -1,3 +1,3 @@
-# Hashes from: http://www.freelists.org/post/htop/ANN-htop-202
-md5 7d354d904bad591a931ad57e99fea84a htop-2.0.2.tar.gz
-sha1 201f793f13dce2448e36047079875b9bd5bba75a htop-2.0.2.tar.gz
+# Locally calculated
+sha256 3260be990d26e25b6b49fc9d96dbc935ad46e61083c0b7f6df413e513bf80748 htop-2.1.0.tar.gz
+sha256 70466e76443cb5b68144d9fcedca9584e7bfdb6c50859daa5a0290ea27c58aad COPYING
diff --git a/package/htop/htop.mk b/package/htop/htop.mk
index d06e4a56d0..71889557ca 100644
--- a/package/htop/htop.mk
+++ b/package/htop/htop.mk
@@ -4,7 +4,7 @@
#
################################################################################
-HTOP_VERSION = 2.0.2
+HTOP_VERSION = 2.1.0
HTOP_SITE = http://hisham.hm/htop/releases/$(HTOP_VERSION)
HTOP_DEPENDENCIES = ncurses
# Prevent htop build system from searching the host paths
diff --git a/package/inadyn/inadyn.hash b/package/inadyn/inadyn.hash
index c6c062ce15..742b6f226f 100644
--- a/package/inadyn/inadyn.hash
+++ b/package/inadyn/inadyn.hash
@@ -1,5 +1,5 @@
-# From https://github.com/troglobit/inadyn/releases/download/v2.2.1/inadyn-2.2.1.tar.xz.md5
-md5 8f7796ee45b2a2e282a54a2d31d03953 inadyn-2.2.1.tar.xz
+# From https://github.com/troglobit/inadyn/releases/download/v2.3/inadyn-2.3.tar.xz.md5
+md5 63efb284b7f3f389c01bad19ee28407e inadyn-2.3.tar.xz
# Locally computed
-sha256 e7a74fcf8b7c069990940c0dc4d4d18071005be225667fdfcfa4156c44384579 inadyn-2.2.1.tar.xz
+sha256 4a98b80d8565b9e4cb32b19b7a8b06a22a7d9a6f4f03a5298a8d441b6187c760 inadyn-2.3.tar.xz
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk
index 5eac3b5c3a..0b1f82dae8 100644
--- a/package/inadyn/inadyn.mk
+++ b/package/inadyn/inadyn.mk
@@ -4,7 +4,7 @@
#
################################################################################
-INADYN_VERSION = 2.2.1
+INADYN_VERSION = 2.3
INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION)
INADYN_SOURCE = inadyn-$(INADYN_VERSION).tar.xz
INADYN_LICENSE = GPL-2.0+
diff --git a/package/iproute2/0002-ss-add-local-PF_VSOCK-AF_VSOCK-definitions.patch b/package/iproute2/0002-ss-add-local-PF_VSOCK-AF_VSOCK-definitions.patch
new file mode 100644
index 0000000000..bbd1f45de9
--- /dev/null
+++ b/package/iproute2/0002-ss-add-local-PF_VSOCK-AF_VSOCK-definitions.patch
@@ -0,0 +1,58 @@
+From ca5562864f3c45557ee96a6fd6036150066c6b58 Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Thu, 15 Feb 2018 07:39:52 +0200
+Subject: [PATCH] ss: add local PF_VSOCK/AF_VSOCK definitions
+
+uclibc-ng does not provide these definitions yet. Add them locally to
+fix the build.
+
+Increase AF_MAX to cover AF_VSOCK.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: not upstreamable. uclibc-ng needs to update its Linux
+socket.h.
+---
+ misc/ss.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/misc/ss.c b/misc/ss.c
+index 29a250704c2d..b3f289ae358e 100644
+--- a/misc/ss.c
++++ b/misc/ss.c
+@@ -50,6 +50,14 @@
+ #define BUF_CHUNK (1024 * 1024)
+ #define LEN_ALIGN(x) (((x) + 1) & ~1)
+
++#ifndef PF_VSOCK
++#define PF_VSOCK 40
++#endif
++
++#ifndef AF_VSOCK
++#define AF_VSOCK PF_VSOCK
++#endif
++
+ #define DIAG_REQUEST(_req, _r) \
+ struct { \
+ struct nlmsghdr nlh; \
+@@ -298,7 +306,7 @@ static const struct filter default_dbs[MAX_DB] = {
+ },
+ };
+
+-static const struct filter default_afs[AF_MAX] = {
++static const struct filter default_afs[AF_MAX+1] = {
+ [AF_INET] = {
+ .dbs = INET_DBM,
+ .states = SS_CONN,
+@@ -383,7 +391,7 @@ static void filter_merge_defaults(struct filter *f)
+ if (!(default_dbs[db].families & f->families))
+ f->families |= default_dbs[db].families;
+ }
+- for (af = 0; af < AF_MAX; af++) {
++ for (af = 0; af < AF_MAX+1; af++) {
+ if (!(f->families & FAMILY_MASK(af)))
+ continue;
+
+--
+2.15.1
+
diff --git a/package/iproute2/iproute2.hash b/package/iproute2/iproute2.hash
index e9b8a0ef26..630447cc71 100644
--- a/package/iproute2/iproute2.hash
+++ b/package/iproute2/iproute2.hash
@@ -1,3 +1,3 @@
# From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc
-sha256 d43ac068afcc350a448f4581b6e292331ef7e4e7aa746e34981582d5fdb10067 iproute2-4.14.1.tar.xz
+sha256 48d4616a99d7b609b7b795c0ae8ec57099fb0271ed89253e8772c02327798355 iproute2-4.15.0.tar.xz
sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING
diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk
index 15bb132c50..11db7d2c6e 100644
--- a/package/iproute2/iproute2.mk
+++ b/package/iproute2/iproute2.mk
@@ -4,7 +4,7 @@
#
################################################################################
-IPROUTE2_VERSION = 4.14.1
+IPROUTE2_VERSION = 4.15.0
IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \
diff --git a/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch b/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch
deleted file mode 100644
index 1f86ad1354..0000000000
--- a/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 06e0312d0bfd1f0b9e7c23ab654f18524d49e86b Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Thu, 2 Mar 2017 09:20:48 +0200
-Subject: [PATCH] utils: nfsynproxy: fix build with musl libc
-
-The musl libc exposes some struct tcphdr field only when _GNU_SOURCE is
-defined. Fix the following build failure:
-
-nfsynproxy.c: In function ‘parse_packet’:
-nfsynproxy.c:34:9: error: ‘const struct tcphdr’ has no member named ‘syn’
- if (!th->syn || !th->ack)
- ^
-nfsynproxy.c:34:21: error: ‘const struct tcphdr’ has no member named ‘ack’
- if (!th->syn || !th->ack)
- ^
-nfsynproxy.c:42:8: error: ‘const struct tcphdr’ has no member named ‘res2’
- if (th->res2 == 0x1)
- ^
-nfsynproxy.c:45:13: error: ‘const struct tcphdr’ has no member named ‘doff’
- length = th->doff * 4 - sizeof(*th);
- ^
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Upstream status: pending (http://patchwork.ozlabs.org/patch/734503/)
-
- utils/nfsynproxy.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/nfsynproxy.c b/utils/nfsynproxy.c
-index baedc92c5d9f..bf5c416340f1 100644
---- a/utils/nfsynproxy.c
-+++ b/utils/nfsynproxy.c
-@@ -6,6 +6,7 @@
- * published by the Free Software Foundation.
- */
-
-+#define _GNU_SOURCE
- #include <stdlib.h>
- #include <stdbool.h>
- #include <unistd.h>
---
-2.11.0
-
diff --git a/package/iptables/iptables.hash b/package/iptables/iptables.hash
index b673c8abdb..8b191797fb 100644
--- a/package/iptables/iptables.hash
+++ b/package/iptables/iptables.hash
@@ -1,3 +1,3 @@
-# From ftp://ftp.netfilter.org/pub/iptables/iptables-1.6.1.tar.bz2.{md5sum,sha1sum}
-md5 ab38a33806b6182c6f53d6afb4619add iptables-1.6.1.tar.bz2
-sha1 b2592490ca7a6c2cd0f069e167a4337c86acdf91 iptables-1.6.1.tar.bz2
+# From ftp://ftp.netfilter.org/pub/iptables/iptables-1.6.2.tar.bz2.{md5sum,sha1sum}
+md5 7d2b7847e4aa8832a18437b8a4c1873d iptables-1.6.2.tar.bz2
+sha1 6279effbf8f2c7ff53d19ae13308f8a6e6a60dd9 iptables-1.6.2.tar.bz2
diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk
index 44cfde2b9a..49a537f608 100644
--- a/package/iptables/iptables.mk
+++ b/package/iptables/iptables.mk
@@ -4,7 +4,7 @@
#
################################################################################
-IPTABLES_VERSION = 1.6.1
+IPTABLES_VERSION = 1.6.2
IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2
IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables
IPTABLES_INSTALL_STAGING = YES
diff --git a/package/iw/iw.hash b/package/iw/iw.hash
index 414f34225f..6423df7732 100644
--- a/package/iw/iw.hash
+++ b/package/iw/iw.hash
@@ -1,2 +1,4 @@
# From https://www.kernel.org/pub/software/network/iw/sha256sums.asc
-sha256 324cc805fad52cba2c16b9ab569906889fb645cc962aac4cfda1db85d2de97ce iw-4.9.tar.xz
+sha256 f01671c0074bfdec082a884057edba1b9efd35c89eda554638496f03b769ad89 iw-4.14.tar.xz
+# Locally calculated
+sha256 5932fb70481e128940168a5fdf133e6454293c0865c7e757874b235cb6daa2af COPYING
diff --git a/package/iw/iw.mk b/package/iw/iw.mk
index aa85cbb5b9..8264e8b5dc 100644
--- a/package/iw/iw.mk
+++ b/package/iw/iw.mk
@@ -4,20 +4,19 @@
#
################################################################################
-IW_VERSION = 4.9
+IW_VERSION = 4.14
IW_SOURCE = iw-$(IW_VERSION).tar.xz
IW_SITE = $(BR2_KERNEL_MIRROR)/software/network/iw
IW_LICENSE = ISC
IW_LICENSE_FILES = COPYING
IW_DEPENDENCIES = host-pkgconf libnl
-IW_MAKE_OPTS = CC="$(TARGET_CC)" LD="$(TARGET_LD)" LDFLAGS="$(TARGET_LDFLAGS)"
IW_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
PKG_CONFIG="$(HOST_DIR)/bin/pkg-config" \
GIT_DIR=$(IW_DIR)
define IW_BUILD_CMDS
- $(IW_MAKE_ENV) $(MAKE) $(IW_MAKE_OPTS) -C $(@D)
+ $(IW_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
endef
define IW_INSTALL_TARGET_CMDS
diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash
index 7f394aaee7..04a520d7d7 100644
--- a/package/json-for-modern-cpp/json-for-modern-cpp.hash
+++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 402464cd6d50c81bb6a683d07c537e5a8c4684fd1186826d3aa1385ce6adac13 json-v3.0.1.tar.gz
-sha256 6a6115fc4a7239a135f2dce8d33f94cb8a936b8f608ac0f6699fbac278b0dd5b LICENSE.MIT
+sha256 b20be343922f73504baf8a01543c2a42d16e01f18bb231b324a8959416ccf4f8 json-v3.1.0.tar.gz
+sha256 7b875bb7a4e28abb7956ea821b4b7d88ff6a2a4fabf261c3993730a365ec56dd LICENSE.MIT
diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.mk b/package/json-for-modern-cpp/json-for-modern-cpp.mk
index 6413d6255f..406f8ad1f4 100644
--- a/package/json-for-modern-cpp/json-for-modern-cpp.mk
+++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-JSON_FOR_MODERN_CPP_VERSION = v3.0.1
+JSON_FOR_MODERN_CPP_VERSION = v3.1.0
JSON_FOR_MODERN_CPP_SOURCE = json-${JSON_FOR_MODERN_CPP_VERSION}.tar.gz
JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,$(JSON_FOR_MODERN_CPP_VERSION))
JSON_FOR_MODERN_CPP_LICENSE = MIT
diff --git a/package/keepalived/keepalived.hash b/package/keepalived/keepalived.hash
index 5d33c5be00..4590c33ef9 100644
--- a/package/keepalived/keepalived.hash
+++ b/package/keepalived/keepalived.hash
@@ -1,2 +1,3 @@
# Locally calculated
-sha256 c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048 keepalived-1.3.5.tar.gz
+sha256 220407517ccad822d1ffa80f7bc37582abaf97da6f7bda2326fa6904b1855bd0 keepalived-1.4.1.tar.gz
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/keepalived/keepalived.mk b/package/keepalived/keepalived.mk
index 59d3cb5cfb..6d3d8e7cc6 100644
--- a/package/keepalived/keepalived.mk
+++ b/package/keepalived/keepalived.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KEEPALIVED_VERSION = 1.3.5
+KEEPALIVED_VERSION = 1.4.1
KEEPALIVED_SITE = http://www.keepalived.org/software
KEEPALIVED_DEPENDENCIES = host-pkgconf openssl popt
KEEPALIVED_LICENSE = GPL-2.0+
diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash
index 0842411c5a..b1784b4c07 100644
--- a/package/libdrm/libdrm.hash
+++ b/package/libdrm/libdrm.hash
@@ -1,5 +1,5 @@
-# From https://lists.freedesktop.org/archives/dri-devel/2017-December/160530.html
-md5 5307a147dde67ac643f6753a42b5d32c libdrm-2.4.89.tar.bz2
-sha1 43123da26271df9a29deb687c1855bef3fed249c libdrm-2.4.89.tar.bz2
-sha256 629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e libdrm-2.4.89.tar.bz2
-sha512 380e4e46cd3971a73264bd1b482791fab0503268adb65ac81b674df009662cfb8ef5741e362f19670b2a43b1c46f022d857706c9a4bebed2b1cddaa317b7706d libdrm-2.4.89.tar.bz2
+# From https://lists.x.org/archives/xorg-announce/2018-February/002838.html
+md5 61dcb4989c728f566e3c15c236585a17 libdrm-2.4.90.tar.bz2
+sha1 7630ba36c65433251a0494b47086fbd0b32ff7a8 libdrm-2.4.90.tar.bz2
+sha256 db37ec8f1dbaa2c192ad9903c8d0988b858ae88031e96f169bf76aaf705db68b libdrm-2.4.90.tar.bz2
+sha512 3d32d60c44ffdcb58667d0926e6af8d375332add1f243d8b2d37567aeef4e4b26d786294aeecf46c3dea94fc002fb73756567c457300703acfc21e32ffbd458c libdrm-2.4.90.tar.bz2
diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk
index 1c898a5b54..7121f06c9a 100644
--- a/package/libdrm/libdrm.mk
+++ b/package/libdrm/libdrm.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBDRM_VERSION = 2.4.89
+LIBDRM_VERSION = 2.4.90
LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2
LIBDRM_SITE = https://dri.freedesktop.org/libdrm
LIBDRM_LICENSE = MIT
diff --git a/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch b/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch
deleted file mode 100644
index 286f875bc9..0000000000
--- a/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 99b8373dbe8fb3bac835ebad90f91cfd213e4acb Mon Sep 17 00:00:00 2001
-From: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Date: Wed, 15 Mar 2017 10:02:54 -0300
-Subject: [PATCH] Forward EGL cflags into epoxy.pc
-
-When building mesa egl without x11 and gles2 the headers need a
-MESA_EGL_NO_X11_HEADERS define to avoid including X11 headers.
-Forward EGL CFLAGS into epoxy.pc to avoid build failures when linking
-against libepoxy on this scenario.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
----
-Status: pull request https://github.com/anholt/libepoxy/pull/113
-
- epoxy.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/epoxy.pc.in b/epoxy.pc.in
-index 7828a77..8278b7d 100644
---- a/epoxy.pc.in
-+++ b/epoxy.pc.in
-@@ -10,6 +10,6 @@ epoxy_has_wgl=@epoxy_has_wgl@
- Name: epoxy
- Description: epoxy GL dispatch Library
- Version: @PACKAGE_VERSION@
--Cflags: -I${includedir}
-+Cflags: -I${includedir} @EGL_CFLAGS@
- Libs: -L${libdir} -lepoxy
- Libs.private: @DLOPEN_LIBS@
---
-2.10.2
-
diff --git a/package/libepoxy/libepoxy.hash b/package/libepoxy/libepoxy.hash
index d7ebec5b5f..654d1675fd 100644
--- a/package/libepoxy/libepoxy.hash
+++ b/package/libepoxy/libepoxy.hash
@@ -1,2 +1,5 @@
-# From ftp://ftp.gnome.org/pub/GNOME/sources/libepoxy/1.4/libepoxy-1.4.3.sha256sum
-sha256 0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6 libepoxy-1.4.3.tar.xz
+# From ftp://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.0.sha256sum
+sha256 4c94995398a6ebf691600dda2e9685a0cac261414175c2adf4645cdfab42a5d5 libepoxy-1.5.0.tar.xz
+
+# Hashes for license files:
+sha256 8d5144666f9c4df9bbd69b8900086d5979259152a1060421cdcc0fb9061a1c12 COPYING
diff --git a/package/libepoxy/libepoxy.mk b/package/libepoxy/libepoxy.mk
index 366cc11367..b9498b17b4 100644
--- a/package/libepoxy/libepoxy.mk
+++ b/package/libepoxy/libepoxy.mk
@@ -4,8 +4,8 @@
#
################################################################################
-LIBEPOXY_VERSION_MAJOR = 1.4
-LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).3
+LIBEPOXY_VERSION_MAJOR = 1.5
+LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).0
LIBEPOXY_SITE = http://ftp.gnome.org/pub/gnome/sources/libepoxy/$(LIBEPOXY_VERSION_MAJOR)
LIBEPOXY_SOURCE = libepoxy-$(LIBEPOXY_VERSION).tar.xz
LIBEPOXY_INSTALL_STAGING = YES
diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash
index 6baeee2358..b29e12ebd2 100644
--- a/package/libgpiod/libgpiod.hash
+++ b/package/libgpiod/libgpiod.hash
@@ -1,4 +1,4 @@
# From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc
-sha256 50c7862428ca90b58672e2475aea66d33a6fc86c6bab1928c0660f3aedf44a37 libgpiod-0.3.2.tar.xz
+sha256 34c76b3730b9d4a1159bcb14000f78b1e890251b8a3823b794fa930654eabdd0 libgpiod-1.0.tar.xz
# Hash for license file
sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING
diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk
index bc2e51d280..598adcc599 100644
--- a/package/libgpiod/libgpiod.mk
+++ b/package/libgpiod/libgpiod.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBGPIOD_VERSION = 0.3.2
+LIBGPIOD_VERSION = 1.0
LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz
LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod
LIBGPIOD_LICENSE = LGPL-2.1+
diff --git a/package/libite/libite.hash b/package/libite/libite.hash
index ec894c5e00..7ef9dca57a 100644
--- a/package/libite/libite.hash
+++ b/package/libite/libite.hash
@@ -1,5 +1,5 @@
# Locally calculated
-sha256 18c087123f02cc3cfb612bf53b12dc8a94d4d3ebf015ed5937b1f9203eef72f8 libite-v1.9.2.tar.gz
+sha256 39a4c12af30a38a813fac7c8d7512efb3692f910eba9c697a50ce0203e039dad libite-v2.0.1.tar.gz
sha256 0e97ab27b60e20a7ddb8e9638189ad159124e51d2c12e12735b05423df224da5 LICENSE
-sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 chomp.c
-sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d pidfile.c
+sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 src/chomp.c
+sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d src/pidfile.c
diff --git a/package/libite/libite.mk b/package/libite/libite.mk
index e88060d1dc..a128953c7a 100644
--- a/package/libite/libite.mk
+++ b/package/libite/libite.mk
@@ -4,10 +4,10 @@
#
################################################################################
-LIBITE_VERSION = v1.9.2
+LIBITE_VERSION = v2.0.1
LIBITE_SITE = $(call github,troglobit,libite,$(LIBITE_VERSION))
LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause
-LIBITE_LICENSE_FILES = LICENSE chomp.c pidfile.c
+LIBITE_LICENSE_FILES = LICENSE src/chomp.c src/pidfile.c
LIBITE_INSTALL_STAGING = YES
LIBITE_AUTORECONF = YES
diff --git a/package/liblo/liblo.hash b/package/liblo/liblo.hash
index a4e01a6d73..fe61f82e67 100644
--- a/package/liblo/liblo.hash
+++ b/package/liblo/liblo.hash
@@ -1,3 +1,6 @@
-# From http://sourceforge.net/projects/liblo/files/liblo/0.26/
-sha1 21942c8f19e9829b5842cb85352f98c49dfbc823 liblo-0.26.tar.gz
-md5 5351de14262560e15e7f23865293b16f liblo-0.26.tar.gz
+# From http://sourceforge.net/projects/liblo/files/liblo/0.29/
+sha1 6aa69456787d3d6ef915281b4a0f8f2c79548ce3 liblo-0.29.tar.gz
+md5 b0e70bc0fb2254addf94adddf85cffd3 liblo-0.29.tar.gz
+
+# Locally computed
+sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING
diff --git a/package/liblo/liblo.mk b/package/liblo/liblo.mk
index 3c852be7e3..7845c68ff2 100644
--- a/package/liblo/liblo.mk
+++ b/package/liblo/liblo.mk
@@ -4,11 +4,23 @@
#
################################################################################
-LIBLO_VERSION = 0.26
+LIBLO_VERSION = 0.29
LIBLO_SITE = http://downloads.sourceforge.net/project/liblo/liblo/$(LIBLO_VERSION)
LIBLO_LICENSE = LGPL-2.1+
LIBLO_LICENSE_FILES = COPYING
LIBLO_INSTALL_STAGING = YES
+# IPv6 support broken, issue known upstream
+# werror - not needed for release.
+LIBLO_CONF_OPTS += \
+ --disable-ipv6 \
+ --disable-werror
+
+# Liblo uses atomic builtins, so we need to link with libatomic for
+# the architectures who explicitly need libatomic.
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+LIBLO_CONF_ENV += LIBS="-latomic"
+endif
+
$(eval $(autotools-package))
diff --git a/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch b/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch
deleted file mode 100644
index 1a72b618af..0000000000
--- a/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 6b043b9b676e88a80e3d4013863c5e970fdde1df Mon Sep 17 00:00:00 2001
-From: Aleksander Morgado <aleksander@aleksander.es>
-Date: Mon, 11 Sep 2017 09:31:03 +0200
-Subject: [PATCH] mbim-device: prefer realpath() to canonicalize_file_name()
-
-Usually the canonicalize_file_name() GNU extension is preferred to the
-POSIX realpath(), as it covers some of the limitations the latter has.
-But this extension isn't available in lots of platforms or in other
-c library implementations (e.g. musl), so just default to the POSIX
-method to improve portability.
-
-Note that the check for canonicalize_file_name() availability during
-configure isn't as trivial as adding a new AC_CHECK_FUNCS(), and
-importing a gnulib module seems overkill just for this one liner.
-
-(cherry picked from commit 417b0b80023dc30d61c111ec0a54da2884d3a541)
-Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
----
- src/libmbim-glib/mbim-device.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
-index e1f32a6..20e64af 100644
---- a/src/libmbim-glib/mbim-device.c
-+++ b/src/libmbim-glib/mbim-device.c
-@@ -867,7 +867,7 @@ get_descriptors_filepath (MbimDevice *self)
- * /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:2.0
- */
- tmp = g_strdup_printf ("/sys/class/%s/%s/device", subsystems[i], device_basename);
-- path = canonicalize_file_name (tmp);
-+ path = realpath (tmp, NULL);
- g_free (tmp);
-
- if (g_file_test (path, G_FILE_TEST_EXISTS)) {
---
-2.13.1
-
diff --git a/package/libmbim/libmbim.hash b/package/libmbim/libmbim.hash
index 664513e5c0..9734181a34 100644
--- a/package/libmbim/libmbim.hash
+++ b/package/libmbim/libmbim.hash
@@ -1,4 +1,4 @@
# Locally computed:
-sha256 22cafe6b8432433aa58bedcf7db71111522ce6531bfe24e8e9b6058412cd31cf libmbim-1.14.2.tar.xz
+sha256 c8ca50beeddd4b43309df5b698917268303bf176cea58fe4fe53d5bf0e93fac2 libmbim-1.16.0.tar.xz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
diff --git a/package/libmbim/libmbim.mk b/package/libmbim/libmbim.mk
index b67905a7fa..169cdc1dcd 100644
--- a/package/libmbim/libmbim.mk
+++ b/package/libmbim/libmbim.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBMBIM_VERSION = 1.14.2
+LIBMBIM_VERSION = 1.16.0
LIBMBIM_SITE = http://www.freedesktop.org/software/libmbim
LIBMBIM_SOURCE = libmbim-$(LIBMBIM_VERSION).tar.xz
LIBMBIM_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs)
diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash
index e628cb2c6c..e534e8e80b 100644
--- a/package/libmicrohttpd/libmicrohttpd.hash
+++ b/package/libmicrohttpd/libmicrohttpd.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 dec1a76487d7e48ad74b468a888bfda1c05731f185ff950f1e363ca9d39caf4e libmicrohttpd-0.9.57.tar.gz
+sha256 9b9ccd7d0b11b0e179f1f58dc2caa3e0c62c8609e1e1dc7dcaadf941b67d923c libmicrohttpd-0.9.59.tar.gz
sha256 70e12e2a60151b9ed1a4c94a5ffeb99cd086fa94542b5a92fec581506e8d3121 COPYING
diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk
index 62fb7fc237..81785b91bc 100644
--- a/package/libmicrohttpd/libmicrohttpd.mk
+++ b/package/libmicrohttpd/libmicrohttpd.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBMICROHTTPD_VERSION = 0.9.57
+LIBMICROHTTPD_VERSION = 0.9.59
LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd
LIBMICROHTTPD_LICENSE_FILES = COPYING
LIBMICROHTTPD_INSTALL_STAGING = YES
diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash
index 54bc263f06..6ae4824007 100644
--- a/package/libostree/libostree.hash
+++ b/package/libostree/libostree.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 8b5e3b80425b91c93aeb916bb047ee194aa138a9cf00ce173dcc0ebc0dd11f4b libostree-2018.1.tar.xz
+sha256 37661de4a0ac73af5d921f494f17dd052ae2844111ba7c5aaeb1cbc4aae94bea libostree-2018.2.tar.xz
sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING
diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk
index 336d11a978..236657e9fa 100644
--- a/package/libostree/libostree.mk
+++ b/package/libostree/libostree.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBOSTREE_VERSION = 2018.1
+LIBOSTREE_VERSION = 2018.2
LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz
LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION)
diff --git a/package/libqmi/libqmi.hash b/package/libqmi/libqmi.hash
index 1c54231a99..297e1f0fa2 100644
--- a/package/libqmi/libqmi.hash
+++ b/package/libqmi/libqmi.hash
@@ -1,4 +1,4 @@
# Locally computed:
-sha256 a0a42c55935e75a630208e2f70840bd4407f56fe1c5258f5b0f6c0aaedf88cec libqmi-1.18.0.tar.xz
+sha256 21428cd3749c56246565123f707fee51238651a22c60bdc85ebce97388626eb4 libqmi-1.20.0.tar.xz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk
index 08875649a6..a7140dc38c 100644
--- a/package/libqmi/libqmi.mk
+++ b/package/libqmi/libqmi.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBQMI_VERSION = 1.18.0
+LIBQMI_VERSION = 1.20.0
LIBQMI_SITE = http://www.freedesktop.org/software/libqmi
LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz
LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs)
diff --git a/package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch b/package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch
new file mode 100644
index 0000000000..ef3b81aa24
--- /dev/null
+++ b/package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch
@@ -0,0 +1,348 @@
+From 045c57d9d030075575409cf50cd7f6ee635df5c0 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Mon, 5 Feb 2018 16:22:39 +0100
+Subject: [PATCH] internal/dcraw_common: rename internal powf64()
+
+Starting with Glibc 2.27, powf64() is provided by the C library
+and colide with the one defined dy libraw.
+
+Rename internal powf64 to libraw_powf64.
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ internal/dcraw_common.cpp | 98 +++++++++++++++++++++++------------------------
+ 1 file changed, 49 insertions(+), 49 deletions(-)
+
+diff --git a/internal/dcraw_common.cpp b/internal/dcraw_common.cpp
+index 0c7c07a..cf26865 100644
+--- a/internal/dcraw_common.cpp
++++ b/internal/dcraw_common.cpp
+@@ -5537,7 +5537,7 @@ static float powf_lim(float a, float b, float limup)
+ {
+ return (b>limup || b < -limup)?0.f:powf(a,b);
+ }
+-static float powf64(float a, float b)
++static float libraw_powf64(float a, float b)
+ {
+ return powf_lim(a,b,64.f);
+ }
+@@ -5561,7 +5561,7 @@ static float my_roundf(float x) {
+ static float _CanonConvertAperture(ushort in)
+ {
+ if ((in == (ushort)0xffe0) || (in == (ushort)0x7fff)) return 0.0f;
+- return powf64(2.0, in/64.0);
++ return libraw_powf64(2.0, in/64.0);
+ }
+
+ void CLASS setCanonBodyFeatures (unsigned id)
+@@ -5902,21 +5902,21 @@ void CLASS processNikonLensData (uchar *LensData, unsigned len)
+ if (fabsf(imgdata.lens.makernotes.MinFocal) < 1.1f)
+ {
+ if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 2])
+- imgdata.lens.makernotes.MinFocal = 5.0f * powf64(2.0f, (float)LensData[i + 2] / 24.0f);
++ imgdata.lens.makernotes.MinFocal = 5.0f * libraw_powf64(2.0f, (float)LensData[i + 2] / 24.0f);
+ if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 3])
+- imgdata.lens.makernotes.MaxFocal = 5.0f * powf64(2.0f, (float)LensData[i + 3] / 24.0f);
++ imgdata.lens.makernotes.MaxFocal = 5.0f * libraw_powf64(2.0f, (float)LensData[i + 3] / 24.0f);
+ if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 4])
+- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(2.0f, (float)LensData[i + 4] / 24.0f);
++ imgdata.lens.makernotes.MaxAp4MinFocal = libraw_powf64(2.0f, (float)LensData[i + 4] / 24.0f);
+ if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 5])
+- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(2.0f, (float)LensData[i + 5] / 24.0f);
++ imgdata.lens.makernotes.MaxAp4MaxFocal = libraw_powf64(2.0f, (float)LensData[i + 5] / 24.0f);
+ }
+ imgdata.lens.nikon.NikonMCUVersion = LensData[i + 6];
+ if (i != 2)
+ {
+ if ((LensData[i - 1]) &&
+ (fabsf(imgdata.lens.makernotes.CurFocal) < 1.1f))
+- imgdata.lens.makernotes.CurFocal = 5.0f * powf64(2.0f, (float)LensData[i - 1] / 24.0f);
+- if (LensData[i + 7]) imgdata.lens.nikon.NikonEffectiveMaxAp = powf64(2.0f, (float)LensData[i + 7] / 24.0f);
++ imgdata.lens.makernotes.CurFocal = 5.0f * libraw_powf64(2.0f, (float)LensData[i - 1] / 24.0f);
++ if (LensData[i + 7]) imgdata.lens.nikon.NikonEffectiveMaxAp = libraw_powf64(2.0f, (float)LensData[i + 7] / 24.0f);
+ }
+ imgdata.lens.makernotes.LensID =
+ (unsigned long long) LensData[i] << 56 |
+@@ -6088,13 +6088,13 @@ void CLASS PentaxLensInfo (unsigned id, unsigned len) // tag 0x0207
+ if (table_buf[iLensData+9] &&
+ (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f))
+ imgdata.lens.makernotes.CurFocal =
+- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2);
++ 10*(table_buf[iLensData+9]>>2) * libraw_powf64(4, (table_buf[iLensData+9] & 0x03)-2);
+ if (table_buf[iLensData+10] & 0xf0)
+ imgdata.lens.makernotes.MaxAp4CurFocal =
+- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f);
++ libraw_powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f);
+ if (table_buf[iLensData+10] & 0x0f)
+ imgdata.lens.makernotes.MinAp4CurFocal =
+- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f);
++ libraw_powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f);
+
+ if (iLensData != 12)
+ {
+@@ -6111,14 +6111,14 @@ void CLASS PentaxLensInfo (unsigned id, unsigned len) // tag 0x0207
+ if ((table_buf[iLensData+14] > 1) &&
+ (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f))
+ imgdata.lens.makernotes.MaxAp4CurFocal =
+- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f);
++ libraw_powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f);
+ }
+ else if ((id != 0x12e76) && // K-5
+ (table_buf[iLensData+15] > 1) &&
+ (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f))
+ {
+ imgdata.lens.makernotes.MaxAp4CurFocal =
+- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f);
++ libraw_powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f);
+ }
+ }
+ free(table_buf);
+@@ -6525,11 +6525,11 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id)
+ {
+ if (buf[0])
+ imgdata.lens.makernotes.MaxAp4CurFocal =
+- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f;
++ my_roundf(libraw_powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f;
+
+ if (buf[1])
+ imgdata.lens.makernotes.MinAp4CurFocal =
+- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f;
++ my_roundf(libraw_powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f;
+ }
+
+ if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens)
+@@ -6539,7 +6539,7 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id)
+ lid = SonySubstitution[buf[0x3d]] << 8 |
+ SonySubstitution[buf[0x3c]];
+ imgdata.lens.makernotes.CurAp =
+- powf64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f);
++ libraw_powf64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f);
+ }
+ if (buf[0x105] && (imgdata.lens.makernotes.LensMount != LIBRAW_MOUNT_Canon_EF))
+ imgdata.lens.makernotes.LensMount =
+@@ -6924,7 +6924,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer)
+ {
+ unsigned char cc;
+ fread(&cc, 1, 1, ifp);
+- iso_speed = (int)(100.0 * powf64(2.0, (double)(cc) / 12.0 - 5.0));
++ iso_speed = (int)(100.0 * libraw_powf64(2.0, (double)(cc) / 12.0 - 5.0));
+ break;
+ }
+ }
+@@ -6957,7 +6957,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer)
+ }
+ break;
+ case 0x1002:
+- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2);
++ imgdata.lens.makernotes.CurAp = libraw_powf64(2.0f, getreal(type)/2);
+ break;
+ case 0x20100201:
+ imgdata.lens.makernotes.LensID =
+@@ -6977,10 +6977,10 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer)
+ fread(imgdata.lens.makernotes.Lens, MIN(len,127), 1, ifp);
+ break;
+ case 0x20100205:
+- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f);
++ imgdata.lens.makernotes.MaxAp4MinFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f);
+ break;
+ case 0x20100206:
+- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f);
++ imgdata.lens.makernotes.MaxAp4MaxFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f);
+ break;
+ case 0x20100207:
+ imgdata.lens.makernotes.MinFocal = (float)get2();
+@@ -6991,7 +6991,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer)
+ imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal;
+ break;
+ case 0x2010020a:
+- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f);
++ imgdata.lens.makernotes.MaxAp4CurFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f);
+ break;
+ case 0x20100301:
+ imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8;
+@@ -7195,7 +7195,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer)
+ lid = (((ushort)table_buf[2])<<8) |
+ ((ushort)table_buf[3]);
+ imgdata.lens.makernotes.CurAp =
+- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f);
++ libraw_powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f);
+ }
+ break;
+ case 1536:
+@@ -7669,7 +7669,7 @@ void CLASS parse_makernote (int base, int uptag)
+ }
+ break;
+ case 0x1002:
+- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2);
++ imgdata.lens.makernotes.CurAp = libraw_powf64(2.0f, getreal(type)/2);
+ break;
+ case 0x20100201:
+ {
+@@ -7694,10 +7694,10 @@ void CLASS parse_makernote (int base, int uptag)
+ fread(imgdata.lens.makernotes.Lens, MIN(len,127), 1, ifp);
+ break;
+ case 0x20100205:
+- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f);
++ imgdata.lens.makernotes.MaxAp4MinFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f);
+ break;
+ case 0x20100206:
+- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f);
++ imgdata.lens.makernotes.MaxAp4MaxFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f);
+ break;
+ case 0x20100207:
+ imgdata.lens.makernotes.MinFocal = (float)get2();
+@@ -7708,7 +7708,7 @@ void CLASS parse_makernote (int base, int uptag)
+ imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal;
+ break;
+ case 0x2010020a:
+- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f);
++ imgdata.lens.makernotes.MaxAp4CurFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f);
+ break;
+ case 0x20100301:
+ imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8;
+@@ -7977,7 +7977,7 @@ void CLASS parse_makernote (int base, int uptag)
+ lid = (((ushort)table_buf[2])<<8) |
+ ((ushort)table_buf[3]);
+ imgdata.lens.makernotes.CurAp =
+- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f);
++ libraw_powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f);
+ }
+ break;
+ case 1536:
+@@ -8064,19 +8064,19 @@ void CLASS parse_makernote (int base, int uptag)
+ {
+ unsigned char cc;
+ fread(&cc,1,1,ifp);
+- iso_speed = int(100.0 * powf64(2.0f,float(cc)/12.0-5.0));
++ iso_speed = int(100.0 * libraw_powf64(2.0f,float(cc)/12.0-5.0));
+ }
+ if (tag == 4 && len > 26 && len < 35) {
+ if ((i=(get4(),get2())) != 0x7fff && (!iso_speed || iso_speed == 65535))
+- iso_speed = 50 * powf64(2.0, i/32.0 - 4);
++ iso_speed = 50 * libraw_powf64(2.0, i/32.0 - 4);
+ #ifdef LIBRAW_LIBRARY_BUILD
+ get4();
+ #else
+ if ((i=(get2(),get2())) != 0x7fff && !aperture)
+- aperture = powf64(2.0, i/64.0);
++ aperture = libraw_powf64(2.0, i/64.0);
+ #endif
+ if ((i=get2()) != 0xffff && !shutter)
+- shutter = powf64(2.0, (short) i/-32.0);
++ shutter = libraw_powf64(2.0, (short) i/-32.0);
+ wbi = (get2(),get2());
+ shot_order = (get2(),get2());
+ }
+@@ -8579,7 +8579,7 @@ void CLASS parse_exif (int base)
+ imgdata.lens.Lens[0] = 0;
+ break;
+ case 0x9205:
+- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f));
++ imgdata.lens.EXIF_MaxAp = libraw_powf64(2.0f, (getreal(type) / 2.0f));
+ break;
+ #endif
+ case 33434: shutter = getreal(type); break;
+@@ -8592,10 +8592,10 @@ void CLASS parse_exif (int base)
+ case 36867:
+ case 36868: get_timestamp(0); break;
+ case 37377: if ((expo = -getreal(type)) < 128 && shutter == 0.)
+- shutter = powf64(2.0, expo); break;
++ shutter = libraw_powf64(2.0, expo); break;
+ case 37378: // 0x9202 ApertureValue
+ if ((fabs(ape = getreal(type))<256.0) && (!aperture))
+- aperture = powf64(2.0, ape/2);
++ aperture = libraw_powf64(2.0, ape/2);
+ break;
+ case 37385: flash_used = getreal(type); break;
+ case 37386: focal_len = getreal(type); break;
+@@ -9196,7 +9196,7 @@ int CLASS parse_tiff_ifd (int base)
+ imgdata.lens.Lens[0] = 0;
+ break;
+ case 0x9205:
+- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f));
++ imgdata.lens.EXIF_MaxAp = libraw_powf64(2.0f, (getreal(type) / 2.0f));
+ break;
+ // IB end
+ #endif
+@@ -9970,22 +9970,22 @@ void CLASS parse_ciff (int offset, int length, int depth)
+ thumb_length = len;
+ }
+ if (type == 0x1818) {
+- shutter = powf64(2.0f, -int_to_float((get4(),get4())));
+- aperture = powf64(2.0f, int_to_float(get4())/2);
++ shutter = libraw_powf64(2.0f, -int_to_float((get4(),get4())));
++ aperture = libraw_powf64(2.0f, int_to_float(get4())/2);
+ #ifdef LIBRAW_LIBRARY_BUILD
+ imgdata.lens.makernotes.CurAp = aperture;
+ #endif
+ }
+ if (type == 0x102a) {
+ // iso_speed = pow (2.0, (get4(),get2())/32.0 - 4) * 50;
+- iso_speed = powf64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f;
++ iso_speed = libraw_powf64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f;
+ #ifdef LIBRAW_LIBRARY_BUILD
+ aperture = _CanonConvertAperture((get2(),get2()));
+ imgdata.lens.makernotes.CurAp = aperture;
+ #else
+- aperture = powf64(2.0, (get2(),(short)get2())/64.0);
++ aperture = libraw_powf64(2.0, (get2(),(short)get2())/64.0);
+ #endif
+- shutter = powf64(2.0,-((short)get2())/32.0);
++ shutter = libraw_powf64(2.0,-((short)get2())/32.0);
+ wbi = (get2(),get2());
+ if (wbi > 17) wbi = 0;
+ fseek (ifp, 32, SEEK_CUR);
+@@ -10189,8 +10189,8 @@ void CLASS parse_phase_one (int base)
+ setPhaseOneFeatures(unique_id);
+ break;
+ case 0x0401:
+- if (type == 4) imgdata.lens.makernotes.CurAp = powf64(2.0f, (int_to_float(data)/2.0f));
+- else imgdata.lens.makernotes.CurAp = powf64(2.0f, (getreal(type)/2.0f));
++ if (type == 4) imgdata.lens.makernotes.CurAp = libraw_powf64(2.0f, (int_to_float(data)/2.0f));
++ else imgdata.lens.makernotes.CurAp = libraw_powf64(2.0f, (getreal(type)/2.0f));
+ break;
+ case 0x0403:
+ if (type == 4) imgdata.lens.makernotes.CurFocal = int_to_float(data);
+@@ -10204,16 +10204,16 @@ void CLASS parse_phase_one (int base)
+ break;
+ case 0x0414:
+ if (type == 4) {
+- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f));
++ imgdata.lens.makernotes.MaxAp4CurFocal = libraw_powf64(2.0f, (int_to_float(data)/2.0f));
+ } else {
+- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f));
++ imgdata.lens.makernotes.MaxAp4CurFocal = libraw_powf64(2.0f, (getreal(type) / 2.0f));
+ }
+ break;
+ case 0x0415:
+ if (type == 4) {
+- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f));
++ imgdata.lens.makernotes.MinAp4CurFocal = libraw_powf64(2.0f, (int_to_float(data)/2.0f));
+ } else {
+- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f));
++ imgdata.lens.makernotes.MinAp4CurFocal = libraw_powf64(2.0f, (getreal(type) / 2.0f));
+ }
+ break;
+ case 0x0416:
+@@ -12119,15 +12119,15 @@ void CLASS identify()
+ case 18: iso_speed = 320; break;
+ case 19: iso_speed = 400; break;
+ }
+- shutter = powf64(2.0f, (((float)get4())/8.0f)) / 16000.0f;
++ shutter = libraw_powf64(2.0f, (((float)get4())/8.0f)) / 16000.0f;
+ FORC4 cam_mul[c ^ (c >> 1)] = get4();
+ fseek (ifp, 88, SEEK_SET);
+- aperture = powf64(2.0f, ((float)get4())/16.0f);
++ aperture = libraw_powf64(2.0f, ((float)get4())/16.0f);
+ fseek (ifp, 112, SEEK_SET);
+ focal_len = get4();
+ #ifdef LIBRAW_LIBRARY_BUILD
+ fseek (ifp, 104, SEEK_SET);
+- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, ((float)get4())/16.0f);
++ imgdata.lens.makernotes.MaxAp4CurFocal = libraw_powf64(2.0f, ((float)get4())/16.0f);
+ fseek (ifp, 124, SEEK_SET);
+ fread(imgdata.lens.makernotes.Lens, 32, 1, ifp);
+ imgdata.lens.makernotes.CameraMount = LIBRAW_MOUNT_Contax_N;
+--
+2.14.3
+
diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash
index 929e5c42e7..e52b7ea9d7 100644
--- a/package/libupnp/libupnp.hash
+++ b/package/libupnp/libupnp.hash
@@ -1,3 +1,3 @@
# Locally computed:
-sha256 7d83d79af3bb4062e5c3a58bf2e90d2da5b8b99e2b2d57c23b5b6f766288cf96 libupnp-1.6.24.tar.bz2
+sha256 c5a300b86775435c076d58a79cc0d5a977d76027d2a7d721590729b7f369fa43 libupnp-1.6.25.tar.bz2
sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE
diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk
index c7085c2148..8831885ba4 100644
--- a/package/libupnp/libupnp.mk
+++ b/package/libupnp/libupnp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBUPNP_VERSION = 1.6.24
+LIBUPNP_VERSION = 1.6.25
LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2
LIBUPNP_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP_VERSION)
LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no
diff --git a/package/liburiparser/Config.in b/package/liburiparser/Config.in
index e85a2626d2..b39e3907dd 100644
--- a/package/liburiparser/Config.in
+++ b/package/liburiparser/Config.in
@@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBURIPARSER
uriparser is a strictly RFC 3986 compliant URI parsing and
handling library written in C.
- http://uriparser.sourceforge.net
+ https://uriparser.github.io
diff --git a/package/liburiparser/liburiparser.hash b/package/liburiparser/liburiparser.hash
index 9e9517c17f..c03e832f9f 100644
--- a/package/liburiparser/liburiparser.hash
+++ b/package/liburiparser/liburiparser.hash
@@ -1,5 +1,3 @@
-# From http://sourceforge.net/projects/uriparser/files/Sources/0.8.4/
-md5 9aabdc3611546f553f4af372167de6d6 uriparser-0.8.4.tar.bz2
-sha1 7a1948c20bed54b04dad0e1d7d2fa8f80fc7b2b3 uriparser-0.8.4.tar.bz2
# Locally calculated
-sha256 c6ef125800c2ef13a41a22126bfc77e8b8c08993a6b96196117695988ea76249 COPYING
+sha256 58eacd5c03d9e341c04eb0b30831faec89f3b415949ff8d72254e63432352cdd uriparser-0.8.5.tar.bz2
+sha256 ee90029e62d11f48faa59360d15c3ad8e7c094c74cc25b055716d92340da561f COPYING
diff --git a/package/liburiparser/liburiparser.mk b/package/liburiparser/liburiparser.mk
index 856a6aafd4..4b32b7f7f2 100644
--- a/package/liburiparser/liburiparser.mk
+++ b/package/liburiparser/liburiparser.mk
@@ -4,9 +4,9 @@
#
################################################################################
-LIBURIPARSER_VERSION = 0.8.4
+LIBURIPARSER_VERSION = 0.8.5
LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.bz2
-LIBURIPARSER_SITE = http://sourceforge.net/projects/uriparser/files/Sources/$(LIBURIPARSER_VERSION)
+LIBURIPARSER_SITE = https://github.com/uriparser/uriparser/releases/download/uriparser-$(LIBURIPARSER_VERSION)
LIBURIPARSER_LICENSE = BSD-3-Clause
LIBURIPARSER_LICENSE_FILES = COPYING
LIBURIPARSER_INSTALL_STAGING = YES
diff --git a/package/libva-intel-driver/libva-intel-driver.hash b/package/libva-intel-driver/libva-intel-driver.hash
index 4ffc60cab5..dbe5d67fb4 100644
--- a/package/libva-intel-driver/libva-intel-driver.hash
+++ b/package/libva-intel-driver/libva-intel-driver.hash
@@ -1,5 +1,5 @@
# From https://github.com/01org/intel-vaapi-driver/releases
-sha1 19e83c084a404817263c04371c42345b617900ff intel-vaapi-driver-2.0.0.tar.bz2
+sha1 a40c6bd89b71b547986bf9f9fa2533bb50cf269e intel-vaapi-driver-2.1.0.tar.bz2
# Locally computed
-sha256 10f6b0a91f34715d8d4d9a9e0fb3cc0afe5fcf85355db1272bd5fff31522f469 intel-vaapi-driver-2.0.0.tar.bz2
+sha256 ecfaf2ccc4b9af7340e002d2ef807d1e33051d4992f1983f5f4d60e516f86bdf intel-vaapi-driver-2.1.0.tar.bz2
sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING
diff --git a/package/libva-intel-driver/libva-intel-driver.mk b/package/libva-intel-driver/libva-intel-driver.mk
index 0255038b0a..dd1903024f 100644
--- a/package/libva-intel-driver/libva-intel-driver.mk
+++ b/package/libva-intel-driver/libva-intel-driver.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBVA_INTEL_DRIVER_VERSION = 2.0.0
+LIBVA_INTEL_DRIVER_VERSION = 2.1.0
LIBVA_INTEL_DRIVER_SOURCE = intel-vaapi-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2
LIBVA_INTEL_DRIVER_SITE = \
https://github.com/01org/intel-vaapi-driver/releases/download/$(LIBVA_INTEL_DRIVER_VERSION)
diff --git a/package/libva-utils/libva-utils.hash b/package/libva-utils/libva-utils.hash
index 3429fb53a6..46674a3675 100644
--- a/package/libva-utils/libva-utils.hash
+++ b/package/libva-utils/libva-utils.hash
@@ -1,5 +1,5 @@
# From https://github.com/01org/libva-utils/releases
-sha1 b4dc39459f8539c1ea16e7ca957a853fb7735ec4 libva-utils-2.0.0.tar.bz2
+sha1 9902eb944c3ace00be4fe95627708f156fc5ace7 libva-utils-2.1.0.tar.bz2
# Locally computed
-sha256 a921df31311d8f49d2e392a5fc2a068d79f89aeb588309fbff24365310dbc5f6 libva-utils-2.0.0.tar.bz2
+sha256 f6a7790c3dcc56537372c90a83036a3136194a8b397e84e97bf9cc9254fa2c51 libva-utils-2.1.0.tar.bz2
sha256 c6220c9f87832c27abcb8a32eafdd2823e13ce146b3ea63d5deae2a76798ef50 COPYING
diff --git a/package/libva-utils/libva-utils.mk b/package/libva-utils/libva-utils.mk
index 275d599606..85ee3083fd 100644
--- a/package/libva-utils/libva-utils.mk
+++ b/package/libva-utils/libva-utils.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBVA_UTILS_VERSION = 2.0.0
+LIBVA_UTILS_VERSION = 2.1.0
LIBVA_UTILS_SOURCE = libva-utils-$(LIBVA_UTILS_VERSION).tar.bz2
LIBVA_UTILS_SITE = https://github.com/01org/libva-utils/releases/download/$(LIBVA_UTILS_VERSION)
LIBVA_UTILS_LICENSE = MIT
diff --git a/package/libva/libva.hash b/package/libva/libva.hash
index 1736575447..ed707095f0 100644
--- a/package/libva/libva.hash
+++ b/package/libva/libva.hash
@@ -1,5 +1,5 @@
# From https://github.com/01org/libva/releases
-sha1 762a49f8925ca1d0531c5071afbd629ffea93b90 libva-2.0.0.tar.bz2
+sha1 9ecde2b6c9deda16e895a0b00b8aef3a765acb4c libva-2.1.0.tar.bz2
# Locally computed
-sha256 bb0601f9a209e60d8d0b867067323661a7816ff429021441b775452b8589e533 libva-2.0.0.tar.bz2
+sha256 f3fa953a11d3210c3a4ee79031abdbe0863d5ce13d9b3f93f315f1eec60a4b0f libva-2.1.0.tar.bz2
sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING
diff --git a/package/libva/libva.mk b/package/libva/libva.mk
index 8d1e27f270..79956a9d8e 100644
--- a/package/libva/libva.mk
+++ b/package/libva/libva.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBVA_VERSION = 2.0.0
+LIBVA_VERSION = 2.1.0
LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2
LIBVA_SITE = https://github.com/01org/libva/releases/download/$(LIBVA_VERSION)
LIBVA_LICENSE = MIT
diff --git a/package/libvpx/libvpx.hash b/package/libvpx/libvpx.hash
index 95ff3a8082..1397b62f7b 100644
--- a/package/libvpx/libvpx.hash
+++ b/package/libvpx/libvpx.hash
@@ -1,2 +1,4 @@
# Locally computed:
-sha256 1c2c0c2a97fba9474943be34ee39337dee756780fc12870ba1dc68372586a819 libvpx-1.6.1.tar.bz2
+sha256 1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238 libvpx-v1.7.0.tar.gz
+sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 LICENSE
+sha256 cc3273e0694ea5896145e0677699b53471b03ea43021ddc50e7923fbb9f5023c PATENTS
diff --git a/package/libvpx/libvpx.mk b/package/libvpx/libvpx.mk
index 24c39032e4..0f867eb2a9 100644
--- a/package/libvpx/libvpx.mk
+++ b/package/libvpx/libvpx.mk
@@ -4,9 +4,8 @@
#
################################################################################
-LIBVPX_VERSION = 1.6.1
-LIBVPX_SOURCE = libvpx-$(LIBVPX_VERSION).tar.bz2
-LIBVPX_SITE = http://storage.googleapis.com/downloads.webmproject.org/releases/webm
+LIBVPX_VERSION = v1.7.0
+LIBVPX_SITE = $(call github,webmproject,libvpx,$(LIBVPX_VERSION))
LIBVPX_LICENSE = BSD-3-Clause
LIBVPX_LICENSE_FILES = LICENSE PATENTS
LIBVPX_INSTALL_STAGING = YES
diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in
index f93561ee14..4e77a3f9a3 100644
--- a/package/linux-firmware/Config.in
+++ b/package/linux-firmware/Config.in
@@ -83,6 +83,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X
help
Firmware files for the Atheros QCA988X module
+config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174
+ bool "Atheros 10k (QCA6174)"
+ help
+ Firmware files for the Atheros QCA6174 module
+
config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX
bool "Broadcom BRCM bcm43xx"
help
diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk
index 82680937aa..a6fd8ebba4 100644
--- a/package/linux-firmware/linux-firmware.mk
+++ b/package/linux-firmware/linux-firmware.mk
@@ -143,6 +143,14 @@ LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \
LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
endif
+# ath10k-qca6174
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174),y)
+LINUX_FIRMWARE_FILES += ath10k/QCA6174/hw3.0/board.bin \
+ ath10k/QCA6174/hw3.0/firmware-4.bin \
+ ath10k/QCA6174/hw3.0/firmware-6.bin
+LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
+endif
+
# sd8686 v8
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
diff --git a/package/lzip/lzip.hash b/package/lzip/lzip.hash
index e074c76005..9945f9cfe5 100644
--- a/package/lzip/lzip.hash
+++ b/package/lzip/lzip.hash
@@ -1,2 +1,4 @@
-# From http://lists.nongnu.org/archive/html/lzip-bug/2017-05/msg00000.html
-sha256 ffadc4f56be1bc0d3ae155ec4527bd003133bdc703a753b2cc683f610e646ba9 lzip-1.19.tar.gz
+# From http://lists.nongnu.org/archive/html/lzip-bug/2018-02/msg00006.html
+sha256 c93b81a5a7788ef5812423d311345ba5d3bd4f5ebf1f693911e3a13553c1290c lzip-1.20.tar.gz
+# Locally calculated
+sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING
diff --git a/package/lzip/lzip.mk b/package/lzip/lzip.mk
index b7ba5dd21d..4088662de2 100644
--- a/package/lzip/lzip.mk
+++ b/package/lzip/lzip.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LZIP_VERSION = 1.19
+LZIP_VERSION = 1.20
LZIP_SITE = http://download.savannah.gnu.org/releases/lzip
LZIP_LICENSE = GPL-2.0+
LZIP_LICENSE_FILES = COPYING
diff --git a/package/mesa3d-demos/0001-demos-optional-gl.patch b/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch
index 6470e9d8d9..b328fca810 100644
--- a/package/mesa3d-demos/0001-demos-optional-gl.patch
+++ b/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch
@@ -1,12 +1,22 @@
-This patches makes opengl an optional component.
+From bb0ffae7164d296d32da24fa5499534de259169a Mon Sep 17 00:00:00 2001
+From: Spenser Gilliland <spenser@gillilanding.com>
+Date: Sat, 24 Feb 2018 11:36:17 +0100
+Subject: [PATCH] demos: makes opengl an optional component
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
+[Romain: convert to git patch, rebase on 8.4.0]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
-Index: mesa3d-demos-8.1.0/configure.ac
-===================================================================
---- mesa3d-demos-8.1.0.orig/configure.ac
-+++ mesa3d-demos-8.1.0/configure.ac
-@@ -51,6 +51,14 @@
+ configure.ac | 12 +++++++++++-
+ src/egl/opengl/Makefile.am | 2 ++
+ src/util/Makefile.am | 2 ++
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0b5e9a76..24298c44 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -51,6 +51,14 @@ m4_ifndef([PKG_PROG_PKG_CONFIG],
ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
PKG_PROG_PKG_CONFIG()
@@ -21,7 +31,7 @@ Index: mesa3d-demos-8.1.0/configure.ac
dnl Get the pkg-config definitions for libGL. We include a fallback
dnl path for GL implementation that don't provide a .pc file
PKG_CHECK_MODULES(GL, [gl], [], [
-@@ -113,6 +121,8 @@
+@@ -112,6 +120,8 @@ PKG_CHECK_MODULES(GLU, [glu], [],
DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
@@ -30,7 +40,7 @@ Index: mesa3d-demos-8.1.0/configure.ac
AC_ARG_ENABLE([egl],
[AS_HELP_STRING([--enable-egl],
[enable EGL library @<:@default=auto@:>@])],
-@@ -303,7 +313,7 @@
+@@ -302,7 +312,7 @@ AC_SUBST([MESA_GLAPI])
AC_SUBST([WAYLAND_CFLAGS])
AC_SUBST([WAYLAND_LIBS])
@@ -39,29 +49,30 @@ Index: mesa3d-demos-8.1.0/configure.ac
AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
-Index: mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/opengl/Makefile.am
-+++ mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am
-@@ -50,12 +50,14 @@
+diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am
+index 6d184ff6..219ab850 100644
+--- a/src/egl/opengl/Makefile.am
++++ b/src/egl/opengl/Makefile.am
+@@ -56,6 +56,7 @@ endif
endif
if HAVE_EGL
+if HAVE_GL
+ bin_PROGRAMS = \
+ eglinfo
noinst_PROGRAMS = \
- eglinfo \
- peglgears \
- $(EGL_DRM_DEMOS) \
- $(EGL_X11_DEMOS)
+@@ -64,6 +65,7 @@ noinst_PROGRAMS = \
+ $(EGL_X11_DEMOS) \
+ $(EGL_WL_DEMOS)
endif
+endif
egltri_x11_SOURCES = egltri.c
eglgears_x11_SOURCES = eglgears.c
-Index: mesa3d-demos-8.1.0/src/util/Makefile.am
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/util/Makefile.am
-+++ mesa3d-demos-8.1.0/src/util/Makefile.am
+diff --git a/src/util/Makefile.am b/src/util/Makefile.am
+index 759a293a..012b9c75 100644
+--- a/src/util/Makefile.am
++++ b/src/util/Makefile.am
@@ -27,7 +27,9 @@ AM_CFLAGS = \
AM_LDFLAGS = \
$(DEMO_LIBS)
@@ -72,3 +83,6 @@ Index: mesa3d-demos-8.1.0/src/util/Makefile.am
if HAVE_GLUT
AM_CFLAGS += \
+--
+2.14.3
+
diff --git a/package/mesa3d-demos/mesa3d-demos.hash b/package/mesa3d-demos/mesa3d-demos.hash
index a50a3a1e0c..8a771df2f8 100644
--- a/package/mesa3d-demos/mesa3d-demos.hash
+++ b/package/mesa3d-demos/mesa3d-demos.hash
@@ -1,2 +1,5 @@
-# From http://lists.freedesktop.org/archives/mesa-announce/2015-December/000191.html
-sha256 c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef mesa-demos-8.3.0.tar.bz2
+# From https://lists.freedesktop.org/archives/mesa-dev/2018-February/186542.html
+md5 6b65a02622765522176d00f553086fa3 mesa-demos-8.4.0.tar.bz2
+sha1 57ba892e919fa22ce3db9f25e7331a6fa33c652c mesa-demos-8.4.0.tar.bz2
+sha256 01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d mesa-demos-8.4.0.tar.bz2
+sha512 b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2
diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk
index 9182803748..ddff9b9ed9 100644
--- a/package/mesa3d-demos/mesa3d-demos.mk
+++ b/package/mesa3d-demos/mesa3d-demos.mk
@@ -4,9 +4,10 @@
#
################################################################################
-MESA3D_DEMOS_VERSION = 8.3.0
+MESA3D_DEMOS_VERSION = 8.4.0
MESA3D_DEMOS_SOURCE = mesa-demos-$(MESA3D_DEMOS_VERSION).tar.bz2
-MESA3D_DEMOS_SITE = ftp://ftp.freedesktop.org/pub/mesa/demos/$(MESA3D_DEMOS_VERSION)
+MESA3D_DEMOS_SITE = ftp://ftp.freedesktop.org/pub/mesa/demos
+# 0001-demos-makes-opengl-an-optional-component.patch
MESA3D_DEMOS_AUTORECONF = YES
MESA3D_DEMOS_DEPENDENCIES = host-pkgconf
MESA3D_DEMOS_LICENSE = MIT
diff --git a/package/modem-manager/modem-manager.hash b/package/modem-manager/modem-manager.hash
index bc0804485f..8531330d22 100644
--- a/package/modem-manager/modem-manager.hash
+++ b/package/modem-manager/modem-manager.hash
@@ -1,4 +1,4 @@
# Locally computed
-sha256 bc74326fa69ae8012f806e235f3d296144922669b952d4d4987dd0af645d5f68 ModemManager-1.6.10.tar.xz
+sha256 eefb7615c2c7ebc994abfc2782bfa9e798643a633362b40db96f7f61706a6283 ModemManager-1.6.12.tar.xz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
diff --git a/package/modem-manager/modem-manager.mk b/package/modem-manager/modem-manager.mk
index b741acf066..100c4a2941 100644
--- a/package/modem-manager/modem-manager.mk
+++ b/package/modem-manager/modem-manager.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MODEM_MANAGER_VERSION = 1.6.10
+MODEM_MANAGER_VERSION = 1.6.12
MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz
MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager
MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib)
diff --git a/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch b/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch
new file mode 100644
index 0000000000..cbfc9b668f
--- /dev/null
+++ b/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch
@@ -0,0 +1,69 @@
+From b583c5d3b4cc2c54c68eef5eb7855ecfacee8bfc Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sat, 6 Jan 2018 23:32:52 +0100
+Subject: [PATCH] add additional uapi guards for Linux kernel header files
+
+With Linux kernel 4.16 it will be possible to guard more parts of the
+Linux header files from a libc. Make use of this in musl to guard all
+the structures and other definitions from the Linux header files which
+are also defined by the header files provided by musl. This will make
+it possible to compile source files which include both the libc
+headers and the kernel userspace headers.
+
+This extends the definitions done in commit 04983f227238 ("make
+netinet/in.h suppress clashing definitions from kernel headers")
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: upstream commit b583c5d3b4cc
+
+ include/net/if.h | 7 +++++++
+ include/netinet/if_ether.h | 1 +
+ include/sys/xattr.h | 2 ++
+ 3 files changed, 10 insertions(+)
+
+diff --git a/include/net/if.h b/include/net/if.h
+index 2f2fcc10e484..774cbff0b506 100644
+--- a/include/net/if.h
++++ b/include/net/if.h
+@@ -125,6 +125,13 @@ struct ifconf {
+ #define ifc_req ifc_ifcu.ifcu_req
+ #define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)
+
++#define __UAPI_DEF_IF_IFCONF 0
++#define __UAPI_DEF_IF_IFMAP 0
++#define __UAPI_DEF_IF_IFNAMSIZ 0
++#define __UAPI_DEF_IF_IFREQ 0
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
++
+ #endif
+
+ #ifdef __cplusplus
+diff --git a/include/netinet/if_ether.h b/include/netinet/if_ether.h
+index d9a131aa2d1d..97134d75b480 100644
+--- a/include/netinet/if_ether.h
++++ b/include/netinet/if_ether.h
+@@ -133,5 +133,6 @@ do { \
+ (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \
+ } while(0)
+
++#define __UAPI_DEF_ETHHDR 0
+
+ #endif
+diff --git a/include/sys/xattr.h b/include/sys/xattr.h
+index 6479fcc62e5f..eeeaafc44f09 100644
+--- a/include/sys/xattr.h
++++ b/include/sys/xattr.h
+@@ -24,6 +24,8 @@ int removexattr(const char *, const char *);
+ int lremovexattr(const char *, const char *);
+ int fremovexattr(int, const char *);
+
++#define __UAPI_DEF_XATTR 0
++
+ #ifdef __cplusplus
+ }
+ #endif
+--
+2.15.1
+
diff --git a/package/nasm/nasm.hash b/package/nasm/nasm.hash
index 260e5d7bc4..db5b857193 100644
--- a/package/nasm/nasm.hash
+++ b/package/nasm/nasm.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 8ac3235f49a6838ff7a8d7ef7c19a4430d0deecc0c2d3e3e237b5e9f53291757 nasm-2.13.02.tar.xz
+sha256 812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573 nasm-2.13.03.tar.xz
sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 LICENSE
diff --git a/package/nasm/nasm.mk b/package/nasm/nasm.mk
index ee3fd9c542..76bcca3bbf 100644
--- a/package/nasm/nasm.mk
+++ b/package/nasm/nasm.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NASM_VERSION = 2.13.02
+NASM_VERSION = 2.13.03
NASM_SOURCE = nasm-$(NASM_VERSION).tar.xz
NASM_SITE = http://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION)
NASM_LICENSE = BSD-2-Clause
diff --git a/package/ncurses/0001-gcc-5.x-MKlib_gen.patch b/package/ncurses/0001-gcc-5.x-MKlib_gen.patch
index df7c15fee9..0106e8077f 100644
--- a/package/ncurses/0001-gcc-5.x-MKlib_gen.patch
+++ b/package/ncurses/0001-gcc-5.x-MKlib_gen.patch
@@ -11,10 +11,11 @@ http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39b
Original author: Thomas E. Dickey <dickey@invisible-island.net>
Signed-off-by: Mikhail Peselnik <bas@bmail.ru>
-
+[Adam Duskett: Refresh for 6.1]
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
--- a/ncurses/base/MKlib_gen.sh 2015-08-06 20:48:24.000000000 -0400
+++ b/ncurses/base/MKlib_gen.sh 2017-02-07 10:09:01.293962392 -0500
-@@ -491,11 +491,22 @@
+@@ -505,11 +505,22 @@
-e 's/gen_$//' \
-e 's/ / /g' >>$TMP
diff --git a/package/ncurses/0002-recognise-uclinux.patch b/package/ncurses/0002-recognise-uclinux.patch
deleted file mode 100644
index 57dd4cf37f..0000000000
--- a/package/ncurses/0002-recognise-uclinux.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-aclocal: fix detection for uclinux hosts
-uclinux is just a linux like the others...
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Signed-off-by: "Adam Duskett" <aduskett@gmail.com>
-
---- a/aclocal.m4 2015-08-05 20:46:34.000000000 -0400
-+++ b/aclocal.m4 2017-02-07 09:58:17.770056849 -0500
-@@ -7656,7 +7656,7 @@
- cf_xopen_source="-D_SGI_SOURCE"
- cf_XOPEN_SOURCE=
- ;;
--(linux*|gnu*|mint*|k*bsd*-gnu)
-+(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu)
- CF_GNU_SOURCE
- ;;
- (minix*)
-diff -durN a/configure b/configure
---- a/configure 2015-08-05 05:20:32.000000000 -0400
-+++ b/configure 2017-02-07 09:58:52.883886426 -0500
-@@ -7869,7 +7869,7 @@
- cf_xopen_source="-D_SGI_SOURCE"
- cf_XOPEN_SOURCE=
- ;;
--(linux*|gnu*|mint*|k*bsd*-gnu)
-+(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu)
-
- echo "$as_me:7874: checking if we must define _GNU_SOURCE" >&5
- echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
diff --git a/package/ncurses/Config.in b/package/ncurses/Config.in
index bb45bd8dc0..297b2ee415 100644
--- a/package/ncurses/Config.in
+++ b/package/ncurses/Config.in
@@ -23,4 +23,14 @@ config BR2_PACKAGE_NCURSES_TARGET_PROGS
help
Include ncurses programs in target (clear, reset, tput, ...)
+config BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO
+ string "additional terminfo files to install"
+ help
+ Whitespace separated list of terminfo files to install on the
+ target. A small number of vital terminfo files are always
+ installed. This list is in addition to the vital ones.
+
+ The terminfo filenames should have the single letter path
+ prefix. e.g. t/tmux.
+
endif
diff --git a/package/ncurses/ncurses.hash b/package/ncurses/ncurses.hash
index 6bca143836..045625ae3b 100644
--- a/package/ncurses/ncurses.hash
+++ b/package/ncurses/ncurses.hash
@@ -1,2 +1,2 @@
# Locally calculated after checking pgp signature
-sha256 f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260 ncurses-6.0.tar.gz
+sha256 aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17 ncurses-6.1.tar.gz
diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index e63b6e4aed..90cf4a4dc5 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NCURSES_VERSION = 6.0
+NCURSES_VERSION = 6.1
NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses
NCURSES_INSTALL_STAGING = YES
NCURSES_DEPENDENCIES = host-ncurses
@@ -25,6 +25,7 @@ NCURSES_CONF_OPTS = \
--enable-const \
--enable-overwrite \
--enable-pc-files \
+ --disable-stripping \
--with-pkg-config-libdir="/usr/lib/pkgconfig" \
$(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \
--without-manpages
@@ -63,7 +64,8 @@ NCURSES_TERMINFO_FILES = \
x/xterm+256color \
x/xterm-256color \
x/xterm-color \
- x/xterm-xfree86
+ x/xterm-xfree86 \
+ $(call qstrip,$(BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO))
ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
NCURSES_CONF_OPTS += --enable-widec
diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
index 6b7ac22c19..986bab413d 100644
--- a/package/openssh/openssh.mk
+++ b/package/openssh/openssh.mk
@@ -73,4 +73,10 @@ define OPENSSH_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S50sshd
endef
+define OPENSSH_INSTALL_SSH_COPY_ID
+ $(INSTALL) -D -m 755 $(@D)/contrib/ssh-copy-id $(TARGET_DIR)/usr/bin/ssh-copy-id
+endef
+
+OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_SSH_COPY_ID
+
$(eval $(autotools-package))
diff --git a/package/pkgconf/pkg-config.in b/package/pkgconf/pkg-config.in
index b9ce0935cc..99c0add8fb 100644
--- a/package/pkgconf/pkg-config.in
+++ b/package/pkgconf/pkg-config.in
@@ -2,4 +2,4 @@
PKGCONFDIR=$(dirname $0)
DEFAULT_PKG_CONFIG_LIBDIR=${PKGCONFDIR}/../@STAGING_SUBDIR@/usr/lib/pkgconfig:${PKGCONFDIR}/../@STAGING_SUBDIR@/usr/share/pkgconfig
DEFAULT_PKG_CONFIG_SYSROOT_DIR=${PKGCONFDIR}/../@STAGING_SUBDIR@
-PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-${DEFAULT_PKG_CONFIG_LIBDIR}} PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-${DEFAULT_PKG_CONFIG_SYSROOT_DIR}} ${PKGCONFDIR}/pkgconf @STATIC@ $@
+PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-${DEFAULT_PKG_CONFIG_LIBDIR}} PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-${DEFAULT_PKG_CONFIG_SYSROOT_DIR}} exec ${PKGCONFDIR}/pkgconf @STATIC@ "$@"
diff --git a/package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch b/package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch
new file mode 100644
index 0000000000..8f103bf201
--- /dev/null
+++ b/package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch
@@ -0,0 +1,64 @@
+From dfb0460fb4743aec047cdf755a660a9ac2d0f3fb Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanuk@iki.fi>
+Date: Wed, 24 Jan 2018 03:51:49 +0200
+Subject: [PATCH] memfd-wrappers: only define memfd_create() if not already
+ defined
+
+glibc 2.27 is to be released soon, and it will provide memfd_create().
+If glibc provides the function, we must not define it ourselves,
+otherwise building fails due to conflict between the two implementations
+of the same function.
+
+BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ configure.ac | 3 +++
+ src/pulsecore/memfd-wrappers.h | 7 ++++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0084c86e..0eb44b08 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -610,6 +610,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"],
+ [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
+ *** Use linux v3.17 or higher for such a feature.])])
+
++AS_IF([test "x$HAVE_MEMFD" = "x1"],
++ AC_CHECK_FUNCS([memfd_create]))
++
+ AC_SUBST(HAVE_MEMFD)
+ AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
+ AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
+diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h
+index 3bed9b2b..c7aadfd3 100644
+--- a/src/pulsecore/memfd-wrappers.h
++++ b/src/pulsecore/memfd-wrappers.h
+@@ -20,13 +20,14 @@
+ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+ ***/
+
+-#ifdef HAVE_MEMFD
++#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE)
+
+ #include <sys/syscall.h>
+ #include <fcntl.h>
+
+ /*
+- * No glibc wrappers exist for memfd_create(2), so provide our own.
++ * Before glibc version 2.27 there was no wrapper for memfd_create(2),
++ * so we have to provide our own.
+ *
+ * Also define memfd fcntl sealing macros. While they are already
+ * defined in the kernel header file <linux/fcntl.h>, that file as
+@@ -63,6 +64,6 @@ static inline int memfd_create(const char *name, unsigned int flags) {
+ #define F_SEAL_WRITE 0x0008 /* prevent writes */
+ #endif
+
+-#endif /* HAVE_MEMFD */
++#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */
+
+ #endif
+--
+2.14.3
+
diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk
index 13fcec52a3..f59828d43d 100644
--- a/package/pulseaudio/pulseaudio.mk
+++ b/package/pulseaudio/pulseaudio.mk
@@ -15,6 +15,9 @@ PULSEAUDIO_CONF_OPTS = \
--disable-legacy-database-entry-format \
--disable-manpages
+# 0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch
+PULSEAUDIO_AUTORECONF = YES
+
PULSEAUDIO_DEPENDENCIES = \
host-pkgconf libtool libsndfile speex host-intltool \
$(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \
diff --git a/package/python-flask-sqlalchemy/Config.in b/package/python-flask-sqlalchemy/Config.in
new file mode 100644
index 0000000000..fa4a035110
--- /dev/null
+++ b/package/python-flask-sqlalchemy/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_PYTHON_FLASK_SQLALCHEMY
+ bool "python-flask-sqlalchemy"
+ select BR2_PACKAGE_PYTHON_FLASK # runtime
+ select BR2_PACKAGE_PYTHON_SQLALCHEMY # runtime
+ help
+ Flask-SQLAlchemy is a Flask microframework extension which
+ adds support for the SQLAlchemy SQL toolkit/ORM.
+
+ http://github.com/mitsuhiko/flask-sqlalchemy
diff --git a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash
new file mode 100644
index 0000000000..9e15b5d8f0
--- /dev/null
+++ b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash
@@ -0,0 +1,4 @@
+# md5 from https://pypi.python.org/pypi/Flask-SQLAlchemy/json, sha256 locally computed
+md5 373ce61dfd03b593ad2eaba68c9fee35 Flask-SQLAlchemy-2.3.2.tar.gz
+sha256 5971b9852b5888655f11db634e87725a9031e170f37c0ce7851cf83497f56e53 Flask-SQLAlchemy-2.3.2.tar.gz
+sha256 de2011f25501c45f2b78bfa4f851ce021cfbab0f1e7ab763233688e0b969821f PKG-INFO
diff --git a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk
new file mode 100644
index 0000000000..37fe603f1e
--- /dev/null
+++ b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-flask-sqlalchemy
+#
+################################################################################
+
+PYTHON_FLASK_SQLALCHEMY_VERSION = 2.3.2
+PYTHON_FLASK_SQLALCHEMY_SOURCE = Flask-SQLAlchemy-$(PYTHON_FLASK_SQLALCHEMY_VERSION).tar.gz
+PYTHON_FLASK_SQLALCHEMY_SITE = https://pypi.python.org/packages/3a/66/f5ace276517c075f102457dd2f7d8645b033758f9c6effb4e0970a90fec1
+PYTHON_FLASK_SQLALCHEMY_SETUP_TYPE = setuptools
+PYTHON_FLASK_SQLALCHEMY_LICENSE = BSD-3c
+PYTHON_FLASK_SQLALCHEMY_LICENSE_FILES = PKG-INFO
+
+$(eval $(python-package))
diff --git a/package/python-sqlalchemy/Config.in b/package/python-sqlalchemy/Config.in
new file mode 100644
index 0000000000..f7ec3a6ad4
--- /dev/null
+++ b/package/python-sqlalchemy/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_PYTHON_SQLALCHEMY
+ bool "python-sqlalchemy"
+ help
+ SQLAlchemy is the Python SQL toolkit and Object Relational
+ Mapper that gives application developers the full power and
+ flexibility of SQL.
+
+ It provides a full suite of well known enterprise-level
+ persistence patterns, designed for efficient and
+ high-performing database access, adapted into a simple and
+ Pythonic domain language.
+
+ http://www.sqlalchemy.org
diff --git a/package/python-sqlalchemy/python-sqlalchemy.hash b/package/python-sqlalchemy/python-sqlalchemy.hash
new file mode 100644
index 0000000000..9e13a2f20f
--- /dev/null
+++ b/package/python-sqlalchemy/python-sqlalchemy.hash
@@ -0,0 +1,4 @@
+# md5 from https://pypi.python.org/pypi/SQLAlchemy/json, sha256 locally computed
+md5 968e07dc0aa92f9205bb3877f33f498f SQLAlchemy-1.2.2.tar.gz
+sha256 64b4720f0a8e033db0154d3824f5bf677cf2797e11d44743cf0aebd2a0499d9d SQLAlchemy-1.2.2.tar.gz
+sha256 73bda3d7d6c568f494c1d12520a97d41a38b7ce91d88c21f1b469b747b17f7fd LICENSE
diff --git a/package/python-sqlalchemy/python-sqlalchemy.mk b/package/python-sqlalchemy/python-sqlalchemy.mk
new file mode 100644
index 0000000000..c0023712a2
--- /dev/null
+++ b/package/python-sqlalchemy/python-sqlalchemy.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-sqlalchemy
+#
+################################################################################
+
+PYTHON_SQLALCHEMY_VERSION = 1.2.2
+PYTHON_SQLALCHEMY_SOURCE = SQLAlchemy-$(PYTHON_SQLALCHEMY_VERSION).tar.gz
+PYTHON_SQLALCHEMY_SITE = https://pypi.python.org/packages/b9/fb/a56d2fc0ce3571328fa872734ad124cae25a4cea422088987f865fb71787
+PYTHON_SQLALCHEMY_SETUP_TYPE = setuptools
+PYTHON_SQLALCHEMY_LICENSE = MIT
+PYTHON_SQLALCHEMY_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host
index f14bcec6d6..78fe54a85c 100644
--- a/package/qemu/Config.in.host
+++ b/package/qemu/Config.in.host
@@ -1,11 +1,15 @@
-config BR2_PACKAGE_HOST_QEMU
- bool "host qemu"
- depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
+config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
+ bool
+ default y if BR2_arm || BR2_armeb || BR2_aarch64 || \
BR2_i386 || BR2_m68k || BR2_microblazeel || \
BR2_microblazebe || BR2_mips || BR2_mipsel || \
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
BR2_sparc || BR2_x86_64
+
+config BR2_PACKAGE_HOST_QEMU
+ bool "host qemu"
+ depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \
if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE
help
diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash
index 649d19571e..91d7c1d62e 100644
--- a/package/rauc/rauc.hash
+++ b/package/rauc/rauc.hash
@@ -1,3 +1,3 @@
# Locally calculated, after verifying against
-# https://github.com/rauc/rauc/releases/download/v0.2/rauc-0.2.tar.xz.asc
-sha256 83aa3ac3716e1c29315162e3cbf5d4db79f26dd95efe1bc634bbce364b95491a rauc-0.2.tar.xz
+# https://github.com/rauc/rauc/releases/download/v0.3/rauc-0.3.tar.xz.asc
+sha256 dc01bfb08b1830376782f9a51cfec290171519267ab97cc909435da9ac6d6d98 rauc-0.3.tar.xz
diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk
index 4909062cf5..63fbc53022 100644
--- a/package/rauc/rauc.mk
+++ b/package/rauc/rauc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-RAUC_VERSION = 0.2
+RAUC_VERSION = 0.3
RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION)
RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz
RAUC_LICENSE = LGPL-2.1
diff --git a/package/rygel/rygel.hash b/package/rygel/rygel.hash
index 028af21bb4..879cbd714b 100644
--- a/package/rygel/rygel.hash
+++ b/package/rygel/rygel.hash
@@ -1,5 +1,5 @@
-# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.36/rygel-0.36.0.sha256sum:
-sha256 31e8ade78b4ea59978d1b59056fa5cd8aef6b9c1457d3dd06de4d2e75a01813f rygel-0.36.0.tar.xz
+# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.36/rygel-0.36.1.sha256sum:
+sha256 a67fdd801f6e4121ae44cfffabc0f35fff487cab173b6c6f052449ad7b5fb820 rygel-0.36.1.tar.xz
# Locally calculated
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/rygel/rygel.mk b/package/rygel/rygel.mk
index cd8897ceb5..d1bc30589c 100644
--- a/package/rygel/rygel.mk
+++ b/package/rygel/rygel.mk
@@ -5,7 +5,7 @@
################################################################################
RYGEL_VERSION_MAJOR = 0.36
-RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).0
+RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).1
RYGEL_SOURCE = rygel-$(RYGEL_VERSION).tar.xz
RYGEL_SITE = http://ftp.gnome.org/pub/gnome/sources/rygel/$(RYGEL_VERSION_MAJOR)
RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo)
diff --git a/package/sngrep/0001-Fix-building-against-LibreSSL.patch b/package/sngrep/0001-Fix-building-against-LibreSSL.patch
new file mode 100644
index 0000000000..311f0b3d52
--- /dev/null
+++ b/package/sngrep/0001-Fix-building-against-LibreSSL.patch
@@ -0,0 +1,78 @@
+From 05d110ef57e9647b84c9656e746f72a76ea8c758 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Tue, 6 Feb 2018 12:47:43 -0500
+Subject: [PATCH] Fix building against LibreSSL
+
+LibreSSL declares OPENSSL_VERSION_NUMBER == 2.0 but does not include most
+changes from OpenSSL >= 1.1.
+
+To work around this:
+
+- Check to see if LIBRESSL_VERSION_NUMBER is defined.
+- If so, define MODSSL_USE_OPENSSL_PRE_1_1_API.
+- Change all checks for OPENSSL_VERSION_NUMBER < 0x10100000L to
+ '#if MODSSL_USE_OPENSSL_PRE_1_1_API'
+
+Upstream-Status: Committed
+https://github.com/irontec/sngrep/commit/0ee014d497986c40de264f6392b01fdf4e337fd5
+
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ src/capture_openssl.c | 6 +++---
+ src/capture_openssl.h | 9 +++++++++
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/capture_openssl.c b/src/capture_openssl.c
+index 0a052c3..a4e1de0 100644
+--- a/src/capture_openssl.c
++++ b/src/capture_openssl.c
+@@ -94,7 +94,7 @@ P_hash(const char *digest, unsigned char *dest, int dlen, unsigned char *secret,
+
+ // Calculate enough data to fill destination
+ while (pending > 0) {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
+ HMAC_CTX hm;
+ HMAC_Init(&hm, secret, sslen, md);
+ HMAC_Update(&hm, tmpseed, tmpslen);
+@@ -495,7 +495,7 @@ tls_process_record(struct SSLConnection *conn, const uint8_t *payload,
+ break;
+ case change_cipher_spec:
+ // From now on, this connection will be encrypted using MasterSecret
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
+ if (conn->client_cipher_ctx->cipher && conn->server_cipher_ctx->cipher)
+ conn->encrypted = 1;
+ #else
+@@ -588,7 +588,7 @@ tls_process_record_handshake(struct SSLConnection *conn, const opaque *fragment,
+ // Decrypt PreMasterKey
+ clientkeyex = (struct ClientKeyExchange *) body;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
+ RSA_private_decrypt(UINT16_INT(clientkeyex->length),
+ (const unsigned char *) &clientkeyex->exchange_keys,
+ (unsigned char *) &conn->pre_master_secret,
+diff --git a/src/capture_openssl.h b/src/capture_openssl.h
+index 31f48ce..b3e88fe 100644
+--- a/src/capture_openssl.h
++++ b/src/capture_openssl.h
+@@ -65,6 +65,15 @@
+ #define OLD_OPENSSL_VERSION 1
+ #endif
+
++/* LibreSSL declares OPENSSL_VERSION_NUMBER == 2.0 but does not include most
++ * changes from OpenSSL >= 1.1 (new functions, macros, deprecations, ...)
++ */
++#if defined(LIBRESSL_VERSION_NUMBER)
++#define MODSSL_USE_OPENSSL_PRE_1_1_API (1)
++#else
++#define MODSSL_USE_OPENSSL_PRE_1_1_API (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#endif
++
+ //! Three bytes unsigned integer
+ typedef struct uint16 {
+ unsigned char x[2];
+--
+2.14.3
+
diff --git a/package/sngrep/sngrep.hash b/package/sngrep/sngrep.hash
index cd2dff5536..16552cf5cd 100644
--- a/package/sngrep/sngrep.hash
+++ b/package/sngrep/sngrep.hash
@@ -1,6 +1,6 @@
-# From https://github.com/irontec/sngrep/releases/download/v1.4.4/sngrep-1.4.4.tar.gz.md5sum
-md5 8e2286c2e23f4b29667025e5809dc303 sngrep-1.4.4.tar.gz
+# From https://github.com/irontec/sngrep/releases/download/v1.4.5/sngrep-1.4.5.tar.gz.md5sum
+md5 11f1cdb8e8f3a3c9ef02ecd12268322e sngrep-1.4.5.tar.gz
# Locally computed
-sha256 2379b8b3e9498d426a0bc03b90d74170a80f98f167f89c126d53dcc66bc5f60b sngrep-v1.4.4.tar.gz
+sha256 16f1566f4507ba560c7461cc7ff1c1653beb14b8baf7846269bbb4880564e57f sngrep-v1.4.5.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE
diff --git a/package/sngrep/sngrep.mk b/package/sngrep/sngrep.mk
index 7442cef529..4c9958d497 100644
--- a/package/sngrep/sngrep.mk
+++ b/package/sngrep/sngrep.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SNGREP_VERSION = v1.4.4
+SNGREP_VERSION = v1.4.5
SNGREP_SITE = $(call github,irontec,sngrep,$(SNGREP_VERSION))
SNGREP_LICENSE = GPL-3.0+
SNGREP_LICENSE_FILES = LICENSE
diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash
index be5820e1f8..2aac7dc1d3 100644
--- a/package/sqlite/sqlite.hash
+++ b/package/sqlite/sqlite.hash
@@ -1,6 +1,6 @@
# From http://www.sqlite.org/download.html
-sha1 f56fe3407d8297fc0a68a058f4c9e6b77e83575c sqlite-autoconf-3210000.tar.gz
+sha1 2fb24ec12001926d5209d2da90d252b9825366ac sqlite-autoconf-3220000.tar.gz
# Calculated based on the hash above
-sha256 d7dd516775005ad87a57f428b6f86afd206cb341722927f104d3f0cf65fbbbe3 sqlite-autoconf-3210000.tar.gz
+sha256 2824ab1238b706bc66127320afbdffb096361130e23291f26928a027b885c612 sqlite-autoconf-3220000.tar.gz
# Locally calculated
sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms
diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk
index 5239592f18..e8ce92df56 100644
--- a/package/sqlite/sqlite.mk
+++ b/package/sqlite/sqlite.mk
@@ -4,9 +4,9 @@
#
################################################################################
-SQLITE_VERSION = 3210000
+SQLITE_VERSION = 3220000
SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz
-SQLITE_SITE = http://www.sqlite.org/2017
+SQLITE_SITE = http://www.sqlite.org/2018
SQLITE_LICENSE = Public domain
SQLITE_LICENSE_FILES = tea/license.terms
SQLITE_INSTALL_STAGING = YES
diff --git a/package/sunxi-mali-mainline-driver/Config.in b/package/sunxi-mali-mainline-driver/Config.in
new file mode 100644
index 0000000000..c939d2a957
--- /dev/null
+++ b/package/sunxi-mali-mainline-driver/Config.in
@@ -0,0 +1,25 @@
+comment "sunxi-mali-mainline-driver needs a Linux kernel to be built"
+ depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
+ depends on !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER
+ bool "sunxi-mali-mainline-driver"
+ default y
+ depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE # runtime
+ depends on BR2_LINUX_KERNEL
+ select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
+ help
+ This package builds and installs the Linux kernel driver for
+ the Mali GPU on Allwinner platforms, compatible with recent
+ Linux kernels (>= 4.4). Note that it should be installed
+ together with the corresponding userspace OpenGL libraries,
+ which are provided as binaries only at:
+ https://github.com/free-electrons/mali-blobs
+
+ sunxi-mali-mainline-driver requires a Linux kernel >= 4.4
+ with the following options enabled:
+
+ - CONFIG_CMA
+ - CONFIG_DMA_CMA
+
+ https://github.com/mripard/sunxi-mali/blob/master/README.md
diff --git a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk
new file mode 100644
index 0000000000..24e759aaa7
--- /dev/null
+++ b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk
@@ -0,0 +1,34 @@
+################################################################################
+#
+# sunxi-mali-mainline-driver
+#
+################################################################################
+
+SUNXI_MALI_MAINLINE_DRIVER_VERSION = 94ccbc8924c12a818d61d36a4b389b74a89fde3c
+SUNXI_MALI_MAINLINE_DRIVER_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_MAINLINE_DRIVER_VERSION))
+SUNXI_MALI_MAINLINE_DRIVER_DEPENDENCIES = linux
+
+SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS = \
+ KDIR=$(LINUX_DIR) \
+ CROSS_COMPILE=$(TARGET_CROSS) \
+ INSTALL_MOD_PATH=$(TARGET_DIR)
+
+define SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES
+ ln -sf $(SUNXI_MALI_MAINLINE_REV)/series $(@D)/patches
+ $(SED) 's|quilt push -a|$(TOPDIR)/support/scripts/apply-patches.sh . ../patches|' \
+ $(@D)/build.sh
+endef
+
+SUNXI_MALI_MAINLINE_DRIVER_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES
+
+define SUNXI_MALI_MAINLINE_DRIVER_BUILD_CMDS
+ cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \
+ $(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -b
+endef
+
+define SUNXI_MALI_MAINLINE_DRIVER_INSTALL_TARGET_CMDS
+ cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \
+ $(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -i
+endef
+
+$(eval $(generic-package))
diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
new file mode 100644
index 0000000000..759bed86ba
--- /dev/null
+++ b/package/sunxi-mali-mainline/Config.in
@@ -0,0 +1,40 @@
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE
+ bool "sunxi-mali-mainline"
+ depends on BR2_arm
+ depends on BR2_ARM_EABIHF
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ select BR2_PACKAGE_HAS_LIBEGL
+ select BR2_PACKAGE_HAS_LIBGLES
+ help
+ Install userspace Allwinner OpenGL libraries.
+
+ https://github.com/free-electrons/mali-blobs
+
+if BR2_PACKAGE_SUNXI_MALI_MAINLINE
+
+config BR2_PACKAGE_PROVIDES_LIBEGL
+ default "sunxi-mali-mainline"
+
+config BR2_PACKAGE_PROVIDES_LIBGLES
+ default "sunxi-mali-mainline"
+
+choice
+ prompt "Version"
+ default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
+ help
+ Select the version of the userspace module.
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
+ bool "r6p2"
+
+endchoice
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION
+ string
+ default "r6p2" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
+
+endif
+
+comment "sunxi-mali needs an EABIhf glibc toolchain"
+ depends on BR2_arm
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
diff --git a/package/sunxi-mali-mainline/egl.pc b/package/sunxi-mali-mainline/egl.pc
new file mode 100644
index 0000000000..3854e5ff58
--- /dev/null
+++ b/package/sunxi-mali-mainline/egl.pc
@@ -0,0 +1,12 @@
+prefix=/usr/
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: ARM Mali implementation of EGL
+Version: 1.4
+Requires:
+Libs: -L${libdir} -lEGL -lGLESv2
+Cflags: -I${includedir}
+
diff --git a/package/sunxi-mali-mainline/glesv2.pc b/package/sunxi-mali-mainline/glesv2.pc
new file mode 100644
index 0000000000..6910b46a70
--- /dev/null
+++ b/package/sunxi-mali-mainline/glesv2.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: glesv2
+Description: ARM Mali implementation of OpenGL ESv2
+Version: 2.0
+Requires:
+Libs: -L${libdir} -lGLESv2 -lGLESv1_CM
+Cflags: -I${includedir}
+
diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
new file mode 100644
index 0000000000..933e2beb0d
--- /dev/null
+++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
@@ -0,0 +1,34 @@
+################################################################################
+#
+# sunxi-mali-mainline
+#
+################################################################################
+
+SUNXI_MALI_MAINLINE_VERSION = cb3e8ece9b2c3a70cbeb3204cd6f30eceaa32023
+SUNXI_MALI_MAINLINE_SITE = $(call github,free-electrons,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION))
+SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES
+SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles
+
+SUNXI_MALI_MAINLINE_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION))
+
+define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
+ mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include
+
+ cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/fbdev/lib/lib_fb_dev/* \
+ $(STAGING_DIR)/usr/lib/
+ cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/fbdev/include/* \
+ $(STAGING_DIR)/usr/include/
+
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
+endef
+
+define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS
+ mkdir -p $(TARGET_DIR)/usr/lib
+ cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/fbdev/lib/lib_fb_dev/* \
+ $(TARGET_DIR)/usr/lib/
+endef
+
+$(eval $(generic-package))
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index 7b613df02c..420c78493d 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -191,6 +191,7 @@ config BR2_PACKAGE_SYSTEMD_MACHINED
config BR2_PACKAGE_SYSTEMD_MYHOSTNAME
bool "enable myhostname NSS plugin"
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs nss.h
default y
help
nss-myhostname is a plug-in module for the GNU Name Service
@@ -246,6 +247,7 @@ config BR2_PACKAGE_SYSTEMD_RANDOMSEED
config BR2_PACKAGE_SYSTEMD_RESOLVED
bool "enable resolve daemon"
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs nss.h
default y
help
systemd-resolved is a system service that provides network
@@ -279,6 +281,7 @@ config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT
config BR2_PACKAGE_SYSTEMD_SYSUSERS
bool "enable sysusers support"
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs gshadow.h
help
systemd-sysusers creates system users and groups, based on
the file format and location specified in sysusers.d(5).
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 8c22c08dd1..34b70c754a 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -48,6 +48,17 @@ SYSTEMD_CONF_OPTS += \
-Dmount-path=/usr/bin/mount \
-Dumount-path=/usr/bin/umount
+# disable unsupported features for non-glibc toolchains
+ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
+SYSTEMD_CONF_OPTS += \
+ -Didn=true \
+ -Dnss-systemd=true
+else
+SYSTEMD_CONF_OPTS += \
+ -Didn=false \
+ -Dnss-systemd=false
+endif
+
ifeq ($(BR2_PACKAGE_ACL),y)
SYSTEMD_DEPENDENCIES += acl
SYSTEMD_CONF_OPTS += -Dacl=true
diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash
index affc7a6e41..73ab82f528 100644
--- a/package/tinycbor/tinycbor.hash
+++ b/package/tinycbor/tinycbor.hash
@@ -1,3 +1,3 @@
# Locally computed:
-sha256 37a06c618ccddd7edc3747277425fcd38fa71eab37c7aaf0b03818a49950da81 tinycbor-v0.4.2.tar.gz
+sha256 5826a284e7f120a8d2c49cb581702be3e851acb4083a4f5af6112975a8b22209 tinycbor-v0.5.0.tar.gz
sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e LICENSE
diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk
index b1848b56aa..a9afbb6e46 100644
--- a/package/tinycbor/tinycbor.mk
+++ b/package/tinycbor/tinycbor.mk
@@ -4,7 +4,7 @@
#
################################################################################
-TINYCBOR_VERSION = v0.4.2
+TINYCBOR_VERSION = v0.5.0
TINYCBOR_SITE = $(call github,intel,tinycbor,$(TINYCBOR_VERSION))
TINYCBOR_LICENSE = MIT
TINYCBOR_LICENSE_FILES = LICENSE
@@ -18,6 +18,14 @@ endif
TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) V=1
+ifeq ($(BR2_STATIC_LIBS),y)
+TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=0
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=1
+else ifeq ($(BR2_SHARED_LIBS),y)
+TINYCBOR_MAKE_OPTS += BUILD_STATIC=0 BUILD_SHARED=1
+endif
+
# disabled parallel build because of build failures while
# producing the .config file
define TINYCBOR_BUILD_CMDS
diff --git a/package/udftools/Config.in b/package/udftools/Config.in
new file mode 100644
index 0000000000..bbccd60186
--- /dev/null
+++ b/package/udftools/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_UDFTOOLS
+ bool "udftools"
+ depends on BR2_USE_WCHAR
+ select BR2_PACKAGE_READLINE
+ help
+ Tools for creating UDF filesystems
+ Maintained fork of the 2004 Sourcforge package
+
+ https://github.com/pali/udftools
+
+comment "udftools needs a toolchain w/ wchar"
+ depends on !BR2_USE_WCHAR
diff --git a/package/udftools/udftools.hash b/package/udftools/udftools.hash
new file mode 100644
index 0000000000..837a515726
--- /dev/null
+++ b/package/udftools/udftools.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 67fe428d452901215cfad8049d250540c97114b1a20dd63277b91c2c4fae8292 udftools-2.0.tar.gz
+sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING
diff --git a/package/udftools/udftools.mk b/package/udftools/udftools.mk
new file mode 100644
index 0000000000..708fef9ab7
--- /dev/null
+++ b/package/udftools/udftools.mk
@@ -0,0 +1,12 @@
+################################################################################
+#
+# udftools
+#
+################################################################################
+
+UDFTOOLS_VERSION = 2.0
+UDFTOOLS_SITE = https://github.com/pali/udftools/releases/download/$(UDFTOOLS_VERSION)
+UDFTOOLS_LICENSE = GPL-2.0+
+UDFTOOLS_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
diff --git a/package/usb_modeswitch/usb_modeswitch.hash b/package/usb_modeswitch/usb_modeswitch.hash
index b202e6353a..3cbd370e2c 100644
--- a/package/usb_modeswitch/usb_modeswitch.hash
+++ b/package/usb_modeswitch/usb_modeswitch.hash
@@ -1,2 +1,3 @@
# Locally calculated
-sha256 31c0be280d49a99ec3dc0be3325bef320d9c04b50714ef0ce1e36a614d687633 usb-modeswitch-2.5.0.tar.bz2
+sha256 abffac09c87eacd78e101545967dc25af7e989745b4276756d45dbf4008a2ea6 usb-modeswitch-2.5.2.tar.bz2
+sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk
index c67d4cd583..8e6b433913 100644
--- a/package/usb_modeswitch/usb_modeswitch.mk
+++ b/package/usb_modeswitch/usb_modeswitch.mk
@@ -4,7 +4,7 @@
#
################################################################################
-USB_MODESWITCH_VERSION = 2.5.0
+USB_MODESWITCH_VERSION = 2.5.2
USB_MODESWITCH_SOURCE = usb-modeswitch-$(USB_MODESWITCH_VERSION).tar.bz2
USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch
USB_MODESWITCH_DEPENDENCIES = libusb
diff --git a/package/usb_modeswitch_data/usb_modeswitch_data.hash b/package/usb_modeswitch_data/usb_modeswitch_data.hash
index e19fcac628..f35fd69a8b 100644
--- a/package/usb_modeswitch_data/usb_modeswitch_data.hash
+++ b/package/usb_modeswitch_data/usb_modeswitch_data.hash
@@ -1,2 +1,3 @@
# Locally calculated
-sha256 e2dcfd9d28928d8d8f03381571a23442b3c50d48d343bc40a1a07d01662738d1 usb-modeswitch-data-20170205.tar.bz2
+sha256 ce413ef2a50e648e9c81bc3ea6110e7324a8bf981034fc9ec4467d3562563c2c usb-modeswitch-data-20170806.tar.bz2
+sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
diff --git a/package/usb_modeswitch_data/usb_modeswitch_data.mk b/package/usb_modeswitch_data/usb_modeswitch_data.mk
index 4f634cdaf4..80ecd33d85 100644
--- a/package/usb_modeswitch_data/usb_modeswitch_data.mk
+++ b/package/usb_modeswitch_data/usb_modeswitch_data.mk
@@ -4,7 +4,7 @@
#
################################################################################
-USB_MODESWITCH_DATA_VERSION = 20170205
+USB_MODESWITCH_DATA_VERSION = 20170806
USB_MODESWITCH_DATA_SOURCE = usb-modeswitch-data-$(USB_MODESWITCH_DATA_VERSION).tar.bz2
USB_MODESWITCH_DATA_SITE = http://www.draisberghof.de/usb_modeswitch
USB_MODESWITCH_DATA_DEPENDENCIES = usb_modeswitch
diff --git a/package/wget/wget.hash b/package/wget/wget.hash
index 0048557946..ab0d1d1dfd 100644
--- a/package/wget/wget.hash
+++ b/package/wget/wget.hash
@@ -1,4 +1,5 @@
# Locally calculated after checking pgp signature
-sha256 d59a745ad2c522970660bb30d38601f9457b151b322e01fa20a5a0da0f55df07 wget-1.19.2.tar.lz
+# https://ftp.gnu.org/gnu/wget/wget-1.19.4.tar.lz.sig
+sha256 2fc0ffb965a8dc8f1e4a89cbe834c0ae7b9c22f559ebafc84c7874ad1866559a wget-1.19.4.tar.lz
# Locally calculated
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
+sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING
diff --git a/package/wget/wget.mk b/package/wget/wget.mk
index 3fee8e1b0c..23e4c8acca 100644
--- a/package/wget/wget.mk
+++ b/package/wget/wget.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WGET_VERSION = 1.19.2
+WGET_VERSION = 1.19.4
WGET_SOURCE = wget-$(WGET_VERSION).tar.lz
WGET_SITE = $(BR2_GNU_MIRROR)/wget
WGET_DEPENDENCIES = host-pkgconf
diff --git a/package/x11r7/xlib_libxshmfence/0001-configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch b/package/x11r7/xlib_libxshmfence/0001-configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch
new file mode 100644
index 0000000000..1ca1303267
--- /dev/null
+++ b/package/x11r7/xlib_libxshmfence/0001-configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch
@@ -0,0 +1,31 @@
+From 0b550a4e7acf02d3478602848f6afbfcbfb0d4b2 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 29 Jan 2018 16:24:36 +0000
+Subject: [PATCH] configure.ac: call AC_USE_SYSTEM_EXTENSIONS
+
+With glibc 2.27 memfd_create() is inside a _GNU_SOURCE guard, so call
+AC_USE_SYSTEM_EXTENSIONS to get this defined.
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Upstream: https://cgit.freedesktop.org/xorg/lib/libxshmfence/commit/?id=0b550a4e7acf02d3478602848f6afbfcbfb0d4b2
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 55772d0..ed77e6d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,6 +28,8 @@ AC_INIT([libxshmfence], [1.2],
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AC_CONFIG_HEADERS([config.h])
+
++AC_USE_SYSTEM_EXTENSIONS
++
+ # Initialize Automake
+ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+--
+2.14.3
+
diff --git a/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk b/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk
index 3a2f32623a..9686c408c1 100644
--- a/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk
+++ b/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk
@@ -12,4 +12,7 @@ XLIB_LIBXSHMFENCE_LICENSE_FILES = COPYING
XLIB_LIBXSHMFENCE_INSTALL_STAGING = YES
XLIB_LIBXSHMFENCE_DEPENDENCIES = host-pkgconf xproto_xproto
+# 0001-configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch
+XLIB_LIBXSHMFENCE_AUTORECONF = YES
+
$(eval $(autotools-package))
diff --git a/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch b/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch
deleted file mode 100644
index 31b5cfed7d..0000000000
--- a/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d6919c0be7f531b20cbfcb9929d697ac3c132c40 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= <github@kempniu.pl>
-Date: Wed, 12 Oct 2016 15:17:51 +0200
-Subject: [PATCH] Fix compiler detection when using
- --without-{crypt,crypto,ssl}
-
-(cherry picked from commit d6919c0be7f531b20cbfcb9929d697ac3c132c40)
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 55724bc..bdfff94 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -5,6 +5,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
- AM_CONFIG_HEADER(config.h)
- AC_CONFIG_MACRO_DIR([m4])
-
-+AC_PROG_CC
- AC_PROG_SED
-
- # some OS's need both -lssl and -lcrypto on link line:
---
-2.9.3
-
diff --git a/package/x11vnc/x11vnc.hash b/package/x11vnc/x11vnc.hash
index 3cdbfa1b0f..86f41044db 100644
--- a/package/x11vnc/x11vnc.hash
+++ b/package/x11vnc/x11vnc.hash
@@ -1,2 +1,2 @@
# Locally computed:
-sha256 45f87c5e4382988c73e8c7891ac2bfb45d8f9ce1196ae06651c84636684ea143 x11vnc-0.9.14.tar.gz
+sha256 3e43bd875edc3c7f52a0d3676c4ec7de910fcd210240ee20b4522deb2bf84cff x11vnc-0.9.15.tar.gz
diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk
index f1f4da21bc..0fa87d2d82 100644
--- a/package/x11vnc/x11vnc.mk
+++ b/package/x11vnc/x11vnc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-X11VNC_VERSION = 0.9.14
+X11VNC_VERSION = 0.9.15
X11VNC_SITE = $(call github,LibVNC,x11vnc,$(X11VNC_VERSION))
# sdl support is not used in x11vnc, but host include / library search paths
# leak in if host has sdl-config
diff --git a/package/x265/x265.hash b/package/x265/x265.hash
index 3e44b03692..e6f22db646 100644
--- a/package/x265/x265.hash
+++ b/package/x265/x265.hash
@@ -1,2 +1,2 @@
# Locally generated
-sha256 2e53259b504a7edb9b21b9800163b1ff4c90e60c74e23e7001d423c69c5d3d17 x265_2.5.tar.gz
+sha256 d5e75fa62ffe6ed49e691f8eb8ab8c1634ffcc0725dd553c6fdb4d5443b494a2 x265_2.7.tar.gz
diff --git a/package/x265/x265.mk b/package/x265/x265.mk
index ae570e6e4c..243025c08b 100644
--- a/package/x265/x265.mk
+++ b/package/x265/x265.mk
@@ -4,7 +4,7 @@
#
################################################################################
-X265_VERSION = 2.5
+X265_VERSION = 2.7
X265_SOURCE = x265_$(X265_VERSION).tar.gz
X265_SITE = https://bitbucket.org/multicoreware/x265/downloads
X265_LICENSE = GPL-2.0+
@@ -13,7 +13,7 @@ X265_SUBDIR = source
X265_INSTALL_STAGING = YES
ifeq ($(BR2_i386)$(BR2_x86_64),y)
-X265_DEPENDENCIES += host-yasm
+X265_DEPENDENCIES += host-nasm
endif
# disable altivec, it has build issues
diff --git a/support/config-fragments/autobuild/br-arm-internal-glibc.config b/support/config-fragments/autobuild/br-arm-internal-glibc.config
new file mode 100644
index 0000000000..6b2566eedc
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-internal-glibc.config
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/br-arm-internal-musl.config b/support/config-fragments/autobuild/br-arm-internal-musl.config
new file mode 100644
index 0000000000..92788626d6
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-internal-musl.config
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_TOOLCHAIN_BUILDROOT_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/br-xtensa-full-internal.config b/support/config-fragments/autobuild/br-xtensa-full-internal.config
index f642a4d76b..89e81d4c45 100644
--- a/support/config-fragments/autobuild/br-xtensa-full-internal.config
+++ b/support/config-fragments/autobuild/br-xtensa-full-internal.config
@@ -1,4 +1,3 @@
BR2_xtensa=y
-BR2_JLEVEL=8
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
index efb78eec4f..2010113f44 100644
--- a/support/config-fragments/autobuild/toolchain-configs.csv
+++ b/support/config-fragments/autobuild/toolchain-configs.csv
@@ -12,6 +12,8 @@ support/config-fragments/autobuild/br-arm-full.config,x86_64
support/config-fragments/autobuild/br-arm-full-nothread.config,x86_64
support/config-fragments/autobuild/br-arm-full-static.config,x86_64
support/config-fragments/autobuild/br-arm-internal-full.config,any
+support/config-fragments/autobuild/br-arm-internal-glibc.config,any
+support/config-fragments/autobuild/br-arm-internal-musl.config,any
support/config-fragments/autobuild/br-bfin-full.config,x86_64
support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64
support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64
diff --git a/support/testing/tests/package/test_python_cryptography.py b/support/testing/tests/package/test_python_cryptography.py
new file mode 100644
index 0000000000..b60152de1c
--- /dev/null
+++ b/support/testing/tests/package/test_python_cryptography.py
@@ -0,0 +1,31 @@
+import os
+
+from tests.package.test_python import TestPythonBase
+
+class TestPythonCryptography(TestPythonBase):
+ def fernet_test(self, timeout=-1):
+ cmd = self.interpreter + " -c 'from cryptography.fernet import Fernet;"
+ cmd += "key = Fernet.generate_key();"
+ cmd += "f = Fernet(key)'"
+ _, exit_code = self.emulator.run(cmd, timeout)
+ self.assertEqual(exit_code, 0)
+
+class TestPythonPy2Cryptography(TestPythonCryptography):
+ config = TestPythonBase.config + \
+"""
+BR2_PACKAGE_PYTHON=y
+BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
+"""
+ def test_run(self):
+ self.login()
+ self.fernet_test(40)
+
+class TestPythonPy3Cryptography(TestPythonCryptography):
+ config = TestPythonBase.config + \
+"""
+BR2_PACKAGE_PYTHON3=y
+BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
+"""
+ def test_run(self):
+ self.login()
+ self.fernet_test(40)
diff --git a/system/Config.in b/system/Config.in
index d48cf8d8c4..7b36516cc7 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -127,7 +127,7 @@ config BR2_INIT_SYSV
config BR2_INIT_SYSTEMD
bool "systemd"
depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HAS_SSP
@@ -137,8 +137,8 @@ config BR2_INIT_SYSTEMD
select BR2_ROOTFS_MERGED_USR
select BR2_PACKAGE_SYSTEMD
-comment "systemd needs a glibc toolchain, headers >= 3.10"
- depends on !(BR2_TOOLCHAIN_USES_GLIBC \
+comment "systemd needs a glibc or uClibc toolchain, headers >= 3.10"
+ depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC \
&& BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10)
config BR2_INIT_NONE
diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk
index b55b0c712c..179c09edf1 100644
--- a/toolchain/toolchain/toolchain.mk
+++ b/toolchain/toolchain/toolchain.mk
@@ -13,18 +13,18 @@ endif
TOOLCHAIN_ADD_TOOLCHAIN_DEPENDENCY = NO
# Apply a hack that Rick Felker suggested[1] to avoid conflicts between libc
-# headers and kernel headers. This is a temporary measure until musl finds a
-# better solution.
+# headers and kernel headers. This is needed for kernel headers older than
+# 4.15. Kernel headers 4.15 and newer don't require __GLIBC__ to be defined.
#
# Augment the original suggestion with __USE_MISC since recent kernels
-# require this glibc internal macro. Also, as musl defines IFF_LOWER_UP,
-# IFF_DORMANT and IFF_ECHO, add another macro to suppress them in the
-# kernel header, and avoid macro/enum conflict.
+# (older than 4.15) require this glibc internal macro. Also, as musl defines
+# IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO, add another macro to suppress
+# them in the kernel header, and avoid macro/enum conflict.
#
# Kernel version 3.12 introduced the libc-compat.h header.
#
# [1] http://www.openwall.com/lists/musl/2015/10/08/2
-ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12),yy)
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15),yy:)
define TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK
$(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \
$(STAGING_DIR)/usr/include/linux/libc-compat.h
diff --git a/utils/scanpypi b/utils/scanpypi
index c96f1bc892..2b3188dbf6 100755
--- a/utils/scanpypi
+++ b/utils/scanpypi
@@ -7,13 +7,13 @@ Any package built by scanpypi should be manually checked for
errors.
"""
from __future__ import print_function
+from __future__ import absolute_import
import argparse
import json
-import urllib2
+import six.moves.urllib.request, six.moves.urllib.error, six.moves.urllib.parse
import sys
import os
import shutil
-import StringIO
import tarfile
import zipfile
import errno
@@ -23,6 +23,13 @@ import textwrap
import tempfile
import imp
from functools import wraps
+from six.moves import map
+from six.moves import zip
+from six.moves import input
+if six.PY2:
+ import StringIO
+else:
+ import io
BUF_SIZE = 65536
@@ -147,15 +154,15 @@ class BuildrootPackage():
self.metadata_url = 'https://pypi.python.org/pypi/{pkg}/json'.format(
pkg=self.real_name)
try:
- pkg_json = urllib2.urlopen(self.metadata_url).read().decode()
- except urllib2.HTTPError as error:
+ pkg_json = six.moves.urllib.request.urlopen(self.metadata_url).read().decode()
+ except six.moves.urllib.error.HTTPError as error:
print('ERROR:', error.getcode(), error.msg, file=sys.stderr)
print('ERROR: Could not find package {pkg}.\n'
'Check syntax inside the python package index:\n'
'https://pypi.python.org/pypi/ '
.format(pkg=self.real_name))
raise
- except urllib2.URLError:
+ except six.moves.urllib.error.URLError:
print('ERROR: Could not find package {pkg}.\n'
'Check syntax inside the python package index:\n'
'https://pypi.python.org/pypi/ '
@@ -181,7 +188,7 @@ class BuildrootPackage():
'md5_digest': None}]
# In this case, we can't get the name of the downloaded file
# from the pypi api, so we need to find it, this should work
- urlpath = urllib2.urlparse.urlparse(
+ urlpath = six.moves.urllib.parse.urlparse(
self.metadata['info']['download_url']).path
# urlparse().path give something like
# /path/to/file-version.tar.gz
@@ -193,8 +200,8 @@ class BuildrootPackage():
try:
print('Downloading package {pkg} from {url}...'.format(
pkg=self.real_name, url=download_url['url']))
- download = urllib2.urlopen(download_url['url'])
- except urllib2.HTTPError as http_error:
+ download = six.moves.urllib.request.urlopen(download_url['url'])
+ except six.moves.urllib.error.HTTPError as http_error:
download = http_error
else:
self.used_url = download_url
@@ -205,7 +212,7 @@ class BuildrootPackage():
if self.md5_sum == download_url['md5_digest']:
break
else:
- if download.__class__ == urllib2.HTTPError:
+ if download.__class__ == six.moves.urllib.error.HTTPError:
raise download
raise DownloadFailed('Failed to download package {pkg}'
.format(pkg=self.real_name))
@@ -219,7 +226,10 @@ class BuildrootPackage():
Keyword arguments:
tmp_path -- directory where you want the package to be extracted
"""
- as_file = StringIO.StringIO(self.as_string)
+ if six.PY2:
+ as_file = StringIO.StringIO(self.as_string)
+ else:
+ as_file = io.BytesIO(self.as_string)
if self.filename[-3:] == 'zip':
with zipfile.ZipFile(as_file) as as_zipfile:
tmp_pkg = os.path.join(tmp_path, self.buildroot_name)
@@ -303,8 +313,8 @@ class BuildrootPackage():
if len(item) > 0 and item[0] != '#']
req_not_found = self.pkg_req
- self.pkg_req = map(pkg_buildroot_name, self.pkg_req)
- pkg_tuples = zip(req_not_found, self.pkg_req)
+ self.pkg_req = list(map(pkg_buildroot_name, self.pkg_req))
+ pkg_tuples = list(zip(req_not_found, self.pkg_req))
# pkg_tuples is a list of tuples that looks like
# ('werkzeug','python-werkzeug') because I need both when checking if
# dependencies already exist or are already in the download list
@@ -412,8 +422,7 @@ class BuildrootPackage():
classifiers_licenses = [regexp.sub(r"\1", lic)
for lic in self.metadata['info']['classifiers']
if regexp.match(lic)]
- licenses = map(lambda x: license_dict[x] if x in license_dict else x,
- classifiers_licenses)
+ licenses = [license_dict[x] if x in license_dict else x for x in classifiers_licenses]
if not len(licenses):
print('WARNING: License has been set to "{license}". It is most'
' likely wrong, please change it if need be'.format(
@@ -427,7 +436,7 @@ class BuildrootPackage():
for license_file in license_files:
with open(license_file) as lic_file:
match = liclookup.match(lic_file.read())
- if match.confidence >= 90.0:
+ if match is not None and match.confidence >= 90.0:
license_names.append(match.license.id)
if len(license_names) > 0:
@@ -583,7 +592,7 @@ class BuildrootPackage():
# \t + two spaces is 3 char long
help_lines.append('')
help_lines.append('\t ' + self.metadata['info']['home_page'])
- help_lines = map(lambda x: x + '\n', help_lines)
+ help_lines = [x + '\n' for x in help_lines]
lines += help_lines
with open(path_to_config, 'w') as config_file:
@@ -624,7 +633,7 @@ def main():
print('Fetching package', package.real_name)
try:
package.fetch_package_info()
- except (urllib2.URLError, urllib2.HTTPError):
+ except (six.moves.urllib.error.URLError, six.moves.urllib.error.HTTPError):
continue
if package.metadata_name.lower() == 'setuptools':
# setuptools imports itself, that does not work very well
@@ -634,7 +643,7 @@ def main():
try:
package.download_package()
- except urllib2.HTTPError as error:
+ except six.moves.urllib.error.HTTPError as error:
print('Error: {code} {reason}'.format(code=error.code,
reason=error.reason))
print('Error downloading package :', package.buildroot_name)
@@ -682,7 +691,7 @@ def main():
continue
print('Error: Package {name} already exists'
.format(name=package.pkg_dir))
- del_pkg = raw_input(
+ del_pkg = input(
'Do you want to delete existing package ? [y/N]')
if del_pkg.lower() == 'y':
shutil.rmtree(package.pkg_dir)