summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES35
-rw-r--r--Config.in2
-rw-r--r--Config.in.legacy8
-rw-r--r--Makefile4
-rw-r--r--configs/raspberrypi_dt_defconfig12
-rw-r--r--docs/website/download.html24
-rw-r--r--docs/website/news.html38
-rw-r--r--linux/linux.mk6
-rw-r--r--package/Config.in1
-rw-r--r--package/bind/bind.hash4
-rw-r--r--package/bind/bind.mk2
-rw-r--r--package/btrfs-progs/btrfs-progs.mk2
-rw-r--r--package/busybox/0002-modprobe-small.patch171
-rw-r--r--package/busybox/0003-dc.patch163
-rw-r--r--package/busybox/0004-wget.patch185
-rw-r--r--package/busybox/0005-modinfo.patch17
-rw-r--r--package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch27
-rw-r--r--package/dbus/dbus.hash4
-rw-r--r--package/dbus/dbus.mk2
-rw-r--r--package/ding-libs/Config.in1
-rw-r--r--package/ding-libs/ding-libs.mk4
-rw-r--r--package/directfb-examples/Config.in52
-rw-r--r--package/directfb-examples/directfb-examples.mk5
-rw-r--r--package/dvdauthor/0001-configure.ac-fix-static-build.patch55
-rw-r--r--package/dvdauthor/dvdauthor.mk5
-rw-r--r--package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch59
-rw-r--r--package/efl/libevas/libevas.mk27
-rw-r--r--package/evtest/evtest.mk5
-rw-r--r--package/ffmpeg/Config.in5
-rw-r--r--package/fltk/fltk.mk9
-rw-r--r--package/freetype/freetype.mk7
-rw-r--r--package/git/git.mk7
-rw-r--r--package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch88
-rw-r--r--package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch88
-rw-r--r--package/glibc/2.19/0004-CVE-2015-1472.patch88
-rw-r--r--package/glibc/2.20/0003-CVE-2015-1472.patch88
-rw-r--r--package/gnupg/gnupg.hash4
-rw-r--r--package/gnupg/gnupg.mk2
-rw-r--r--package/gnupg2/Config.in5
-rw-r--r--package/gnupg2/gnupg2.hash4
-rw-r--r--package/gnutls/gnutls.mk1
-rw-r--r--package/gpm/gpm.mk3
-rw-r--r--package/gstreamer/gst-plugins-good/Config.in4
-rw-r--r--package/gstreamer1/gst1-plugins-good/Config.in4
-rw-r--r--package/i2c-tools/Config.in2
-rw-r--r--package/imagemagick/imagemagick.mk5
-rw-r--r--package/libao/libao.hash2
-rw-r--r--package/libevent/libevent.mk5
-rw-r--r--package/libfribidi/libfribidi.mk6
-rw-r--r--package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch32
-rw-r--r--package/libgc/Config.in11
-rw-r--r--package/libgc/libgc.mk15
-rw-r--r--package/libgcrypt/libgcrypt.hash4
-rw-r--r--package/libgcrypt/libgcrypt.mk2
-rw-r--r--package/libgtk2/libgtk2.mk3
-rw-r--r--package/libsemanage/0002-workaround-blackfin-issue.patch24
-rw-r--r--package/libsepol/0002-workaround-blackfin-issue.patch24
-rw-r--r--package/libshout/libshout.hash2
-rw-r--r--package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch33
-rw-r--r--package/libsrtp/libsrtp.mk3
-rw-r--r--package/libssh2/libssh2.mk3
-rw-r--r--package/libtheora/libtheora.hash2
-rw-r--r--package/libupnpp/libupnpp.mk6
-rw-r--r--package/libxmlrpc/0004-use-correct-curl-config.patch8
-rw-r--r--package/make/make.mk12
-rw-r--r--package/mjpg-streamer/Config.in12
-rw-r--r--package/mplayer/0005-Support-newer-GIFLIB-versions.patch268
-rw-r--r--package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch44
-rw-r--r--package/netsnmp/netsnmp.mk2
-rw-r--r--package/ntp/0001-fix-ntp-keygen-without-openssl.patch153
-rw-r--r--package/ntp/0001-nano.patch28
-rw-r--r--package/ntp/0002-nano.patch23
-rw-r--r--package/ntp/ntp.hash4
-rw-r--r--package/ntp/ntp.mk4
-rw-r--r--package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch42
-rw-r--r--package/openvmtools/0006-ip_route_config.patch27
-rw-r--r--package/openvmtools/0007-sizeof_argument.patch18
-rw-r--r--package/openvmtools/openvmtools.mk4
-rw-r--r--package/opus/opus.hash2
-rw-r--r--package/php/php.hash2
-rw-r--r--package/php/php.mk2
-rw-r--r--package/pinentry/pinentry.mk2
-rw-r--r--package/pkg-cmake.mk2
-rw-r--r--package/pkg-rebar.mk10
-rw-r--r--package/polarssl/0003-fix-CVE-2015-1182.patch19
-rw-r--r--package/polarssl/polarssl.hash4
-rw-r--r--package/polarssl/polarssl.mk2
-rw-r--r--package/python3/018-ncursesw-remove-wrong-includedir.patch21
-rw-r--r--package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch36
-rw-r--r--package/qt5/qt5base/0007-configure-add-psql_config-option.patch60
-rw-r--r--package/qt5/qt5base/qt5base.mk3
-rw-r--r--package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch46
-rw-r--r--package/rpi-firmware/rpi-firmware.mk3
-rw-r--r--package/samba/samba.hash2
-rw-r--r--package/samba/samba.mk2
-rw-r--r--package/samba4/samba4.hash2
-rw-r--r--package/samba4/samba4.mk2
-rw-r--r--package/shared-mime-info/shared-mime-info.mk5
-rw-r--r--package/sudo/0001-make-signame-include-unistd_h.patch20
-rw-r--r--package/sudo/0001-no-netgroup.patch29
-rw-r--r--package/sudo/0002-drop-sspcflags-piecflags-for-host.patch21
-rw-r--r--package/sudo/sudo.hash5
-rw-r--r--package/sudo/sudo.mk11
-rw-r--r--package/util-linux/Config.in2
-rw-r--r--package/vlc/vlc.hash2
-rw-r--r--package/vlc/vlc.mk2
-rw-r--r--package/vorbis-tools/vorbis-tools.hash2
-rw-r--r--package/x11r7/libxcb/libxcb.mk4
-rw-r--r--package/x11r7/xcb-util-keysyms/Config.in1
-rw-r--r--package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk2
-rw-r--r--package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch90
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.mk4
-rwxr-xr-xsupport/scripts/pkg-stats34
-rw-r--r--toolchain/toolchain-external/toolchain-external.mk7
114 files changed, 2182 insertions, 441 deletions
diff --git a/CHANGES b/CHANGES
index e8ba141842..dbd922a4c7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,38 @@
+2015.02, Released March 1st, 2015
+
+ Minor fixes.
+
+ Updated/fixed packages: civetweb, ding-libs,
+ directfb-examples, glibc, gnupg, gnupg2, gpm,
+ gst-plugins-good, gst1-plugins-good, freetype, libao, libevas,
+ libevent, libfribidi, libgcrypt, libgtk2, libshout, libsrtp,
+ libtheora, libupnpp, libxmlrpc, linux, make, opus, pinentry,
+ rpi-firmware, shared-mime-info, vlc, vorbis-tools,
+ xcb-util-keysyms
+
+ Removed packages: libgc
+
+2015.02-rc3, Released February 24th, 2015
+
+ Minor fixes.
+
+ Cmake and rebar (erlang) infrastructure fixes.
+
+ Updated/fixed packages: bind, btrfs-progs, busybox, e2fsprogs,
+ evtest, ffmpeg, fltk, gnutls, i2c-tools, imagemagick, libxcb,
+ make, mjpg-streamer, netsnmp, opentyrian, php, polarssl,
+ qt5base, samba, samba4, sudo, util-linux, xserver_xorg-server
+
+2015.02-rc2, Released February 15th, 2015
+
+ Minor fixes.
+
+ raspberrypi: fix kernel sha1 for DT variant.
+
+ Updated/fixed packages: dbus, dvdauthor, git, libsemanage,
+ libsepol, libssh2, mplayer, ntp, openvmtools, python3,
+ qt5base, qt5connectivity, xserver_xorg-server
+
2015.02-rc1, Released February 8th, 2015
Fixes all over the tree and new features.
diff --git a/Config.in b/Config.in
index f5b6c7346b..ce239d6682 100644
--- a/Config.in
+++ b/Config.in
@@ -167,8 +167,6 @@ config BR2_PRIMARY_SITE
default if the file is not found.
Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
scp://[user@]host:path.
- NOTE: This works for all packages using the central package
- infrastructure (generic, autotools, cmake, ...)
config BR2_PRIMARY_SITE_ONLY
bool "Only allow downloads from primary download site"
diff --git a/Config.in.legacy b/Config.in.legacy
index 8d99e2400a..0b87ddb59a 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -102,6 +102,14 @@ endif
comment "Legacy options removed in 2015.02"
+config BR2_PACKAGE_LIBGC
+ bool "libgc package removed"
+ select BR2_LEGACY
+ select BR2_PACKAGE_BDWGC
+ help
+ libgc has been removed because we have the same package under a
+ different name, bdwgc.
+
config BR2_PACKAGE_WDCTL
bool "util-linux' wdctl option has been renamed"
select BR2_LEGACY
diff --git a/Makefile b/Makefile
index 338c9929d6..af043a3f27 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@
all:
# Set and export the version string
-export BR2_VERSION := 2015.02-rc1
+export BR2_VERSION := 2015.05-git
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION = 3.81
@@ -865,7 +865,7 @@ help:
@echo ' randconfig - New config with random answer to all options'
@echo ' defconfig - New config with default answer to all options'
@echo ' BR2_DEFCONFIG, if set, is used as input'
- @echo ' savedefconfig - Save current config as ./defconfig (minimal config)'
+ @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
@echo ' allyesconfig - New config where all options are accepted with yes'
@echo ' allnoconfig - New config where all options are answered with no'
@echo ' randpackageconfig - New config with random answer to package options'
diff --git a/configs/raspberrypi_dt_defconfig b/configs/raspberrypi_dt_defconfig
index 956b215c1b..ca62084c4d 100644
--- a/configs/raspberrypi_dt_defconfig
+++ b/configs/raspberrypi_dt_defconfig
@@ -1,12 +1,22 @@
BR2_arm=y
BR2_arm1176jzf_s=y
+
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
+
+# Lock to 3.18 headers as the RPi kernel with
+# DT support is based off the 3.18 branch
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="3.18"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
+
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/raspberrypi/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="b9c9f8fc69aaba236169798c18dc1590fccf7acd"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="246530ff8a4f302b8666c6d9cf509407d8c1257a"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/raspberrypi/linux-3.18-rpi-dt.defconfig"
BR2_LINUX_KERNEL_ZIMAGE=y
+
+# Install the DTB files
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS=y
diff --git a/docs/website/download.html b/docs/website/download.html
index 7d4e243a87..bfacd8284c 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -7,32 +7,32 @@
<p>
-The latest stable release is <b>2014.11</b>, which can be downloaded
+The latest stable release is <b>2015.02</b>, which can be downloaded
here:<p>
-<a href="/downloads/buildroot-2014.11.tar.gz">buildroot-2014.11.tar.gz</a>
-(<a href="/downloads/buildroot-2014.11.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2015.02.tar.gz">buildroot-2015.02.tar.gz</a>
+(<a href="/downloads/buildroot-2015.02.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2014.11.tar.bz2">buildroot-2014.11.tar.bz2</a>
-(<a href="/downloads/buildroot-2014.11.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2015.02.tar.bz2">buildroot-2015.02.tar.bz2</a>
+(<a href="/downloads/buildroot-2015.02.tar.bz2.sign">PGP signature</a>).
<p>
-
-The latest release candidate is <b>2015.02-rc1</b>, which can be
+<!--
+The latest release candidate is <b>2015.02-rc3</b>, which can be
downloaded here:<p>
-<a href="/downloads/buildroot-2015.02-rc1.tar.gz">buildroot-2015.02-rc1.tar.gz</a>
-(<a href="/downloads/buildroot-2015.02-rc1.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2015.02-rc3.tar.gz">buildroot-2015.02-rc3.tar.gz</a>
+(<a href="/downloads/buildroot-2015.02-rc3.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2015.02-rc1.tar.bz2">buildroot-2015.02-rc1.tar.bz2</a>
-(<a href="/downloads/buildroot-2015.02-rc1.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2015.02-rc3.tar.bz2">buildroot-2015.02-rc3.tar.bz2</a>
+(<a href="/downloads/buildroot-2015.02-rc3.tar.bz2.sign">PGP signature</a>).
<p>
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
<p>
-
+-->
You can also obtain daily snapshots of the latest Buildroot source tree if you
want to follow development, but cannot or do not wish to use Git.
diff --git a/docs/website/news.html b/docs/website/news.html
index 1b49ef2100..308152aaa4 100644
--- a/docs/website/news.html
+++ b/docs/website/news.html
@@ -8,12 +8,48 @@
<p>
<ul>
+ <li><b>1 March 2015 -- 2015.02 released</b>
+
+ <p>The stable 2015.02 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02">CHANGES</a>
+ file for more details, read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2015-March/120396.html">announcement</a>
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2015.02.tar.bz2">2015.02 release</a>.</p>
+
+ <li><b>24 February 2015 -- 2015.02-rc3 released</b>
+
+ <p>Release candidate 3 is out with more cleanups and security / build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02-rc3">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2015.02-rc3.tar.bz2">2015.02-rc3
+ release candidate</a>, and report any problems found to the <a
+ href="lists.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
+ <li><b>15 February 2015 -- 2015.02-rc2 released</b>
+
+ <p>Another week, another release candidate with more cleanups and
+ build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02-rc2">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2015.02-rc2.tar.bz2">2015.02-rc2
+ release candidate</a>, and report any problems found to the <a
+ href="support.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
<li><b>8 February 2015 -- 2015.02-rc1 released</b>
<p>We have a new release candidate! Lots of changes all over the
tree, see the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.02-rc1">CHANGES</a>
- file for details.</p>
+ file for details, and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2015-February/118982.html">announcement</a>.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2015.02-rc1.tar.bz2">2015.02-rc1
diff --git a/linux/linux.mk b/linux/linux.mk
index fc90fc554e..78e589e486 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -25,12 +25,14 @@ LINUX_SITE_METHOD = hg
else
LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz
# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order
-# to use the $(word) function. We support versions such as 3.1,
+# to use the $(word) function. We support versions such as 4.0, 3.1,
# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc.
ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.)
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6
-else
+else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.)
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x
+else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.)
+LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
endif
# release candidates are in testing/ subdir
ifneq ($(findstring -rc,$(LINUX_VERSION)),)
diff --git a/package/Config.in b/package/Config.in
index 3aa664ab3d..ba45f32208 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -956,7 +956,6 @@ menu "Other"
source "package/libevdev/Config.in"
source "package/libevent/Config.in"
source "package/libffi/Config.in"
- source "package/libgc/Config.in"
source "package/libglib2/Config.in"
source "package/libical/Config.in"
source "package/liblinear/Config.in"
diff --git a/package/bind/bind.hash b/package/bind/bind.hash
index d715e541fc..aac0a84db5 100644
--- a/package/bind/bind.hash
+++ b/package/bind/bind.hash
@@ -1,2 +1,2 @@
-# Verified from ftp://ftp.isc.org/isc/bind9/9.9.6-P1/bind-9.9.6-P1.tar.gz.sha256.asc
-sha256 dfedcb2b414d2803accd1a9c21d183178a288f40a2486af5ec0d3369a8cb8526 bind-9.9.6-P1.tar.gz
+# Verified from ftp://ftp.isc.org/isc/bind9/9.9.6-P2/bind-9.9.6-P2.tar.gz.sha256.asc
+sha256 5e882f453a8c799a121272f68bdb90936ce97bb857f8c2b3af1c8ba3d1b749ed bind-9.9.6-P2.tar.gz
diff --git a/package/bind/bind.mk b/package/bind/bind.mk
index a98a4c4e57..ad41330ff9 100644
--- a/package/bind/bind.mk
+++ b/package/bind/bind.mk
@@ -4,7 +4,7 @@
#
################################################################################
-BIND_VERSION = 9.9.6-P1
+BIND_VERSION = 9.9.6-P2
BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION)
BIND_INSTALL_STAGING = YES
BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh
diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk
index c6c36cf155..768660d27c 100644
--- a/package/btrfs-progs/btrfs-progs.mk
+++ b/package/btrfs-progs/btrfs-progs.mk
@@ -18,7 +18,7 @@ BTRFS_PROGS_MAKE_TARGET = static
BTRFS_PROGS_MAKE_INSTALL_TARGET = install-static
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
# Add -lintl for libuuid
-BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lm -lz -llzo2 -L. -lintl"
+BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lz -llzo2 -L. -lintl -pthread"
endif
else
BTRFS_PROGS_MAKE_TARGET = all
diff --git a/package/busybox/0002-modprobe-small.patch b/package/busybox/0002-modprobe-small.patch
new file mode 100644
index 0000000000..1bed4cb12b
--- /dev/null
+++ b/package/busybox/0002-modprobe-small.patch
@@ -0,0 +1,171 @@
+Patch to fix busybox MODPROBE_SMALL from upstream:
+http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-modprobe-small.patch
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- busybox-1.23.1/modutils/modprobe-small.c
++++ busybox-1.23.1-modprobe-small/modutils/modprobe-small.c
+@@ -552,9 +552,23 @@ static int already_loaded(const char *na
+ return ret;
+ }
+ #else
+-#define already_loaded(name) is_rmmod
++#define already_loaded(name) 0
+ #endif
+
++static int rmmod(const char *filename)
++{
++ int r;
++ char modname[MODULE_NAME_LEN];
++
++ filename2modname(filename, modname);
++ r = delete_module(modname, O_NONBLOCK | O_EXCL);
++ dbg1_error_msg("delete_module('%s', O_NONBLOCK | O_EXCL):%d", modname, r);
++ if (r != 0 && !(option_mask32 & OPT_q)) {
++ bb_perror_msg("remove '%s'", modname);
++ }
++ return r;
++}
++
+ /*
+ * Given modules definition and module name (or alias, or symbol)
+ * load/remove the module respecting dependencies.
+@@ -571,26 +585,36 @@ static void process_module(char *name, c
+ module_info **infovec;
+ module_info *info;
+ int infoidx;
+- int is_rmmod = (option_mask32 & OPT_r) != 0;
++ int is_remove = (option_mask32 & OPT_r) != 0;
+
+ dbg1_error_msg("process_module('%s','%s')", name, cmdline_options);
+
+ replace(name, '-', '_');
+
+- dbg1_error_msg("already_loaded:%d is_rmmod:%d", already_loaded(name), is_rmmod);
++ dbg1_error_msg("already_loaded:%d is_remove:%d", already_loaded(name), is_remove);
++
++ if (applet_name[0] == 'r') {
++ /* rmmod.
++ * Does not remove dependencies, no need to scan, just remove.
++ * (compat note: this allows and strips .ko suffix)
++ */
++ rmmod(name);
++ return;
++ }
++
+ /*
+- * We used to have "is_rmmod != already_loaded(name)" check here, but
++ * We used to have "is_remove != already_loaded(name)" check here, but
+ * modprobe -r pci:v00008086d00007010sv00000000sd00000000bc01sc01i80
+ * won't unload modules (there are more than one)
+ * which have this alias.
+ */
+- if (!is_rmmod && already_loaded(name)) {
++ if (!is_remove && already_loaded(name)) {
+ dbg1_error_msg("nothing to do for '%s'", name);
+ return;
+ }
+
+ options = NULL;
+- if (!is_rmmod) {
++ if (!is_remove) {
+ char *opt_filename = xasprintf("/etc/modules/%s", name);
+ options = xmalloc_open_read_close(opt_filename, NULL);
+ if (options)
+@@ -624,7 +648,7 @@ static void process_module(char *name, c
+ 0 /* depth */
+ );
+ dbg1_error_msg("dirscan complete");
+- /* Module was not found, or load failed, or is_rmmod */
++ /* Module was not found, or load failed, or is_remove */
+ if (module_found_idx >= 0) { /* module was found */
+ infovec = xzalloc(2 * sizeof(infovec[0]));
+ infovec[0] = &modinfo[module_found_idx];
+@@ -637,7 +661,7 @@ static void process_module(char *name, c
+
+ if (!infovec) {
+ /* both dirscan and find_alias found nothing */
+- if (!is_rmmod && applet_name[0] != 'd') /* it wasn't rmmod or depmod */
++ if (!is_remove && applet_name[0] != 'd') /* it wasn't rmmod or depmod */
+ bb_error_msg("module '%s' not found", name);
+ //TODO: _and_die()? or should we continue (un)loading modules listed on cmdline?
+ goto ret;
+@@ -651,29 +675,15 @@ static void process_module(char *name, c
+ * a *list* of modinfo pointers from find_alias().
+ */
+
+- /* rmmod or modprobe -r? unload module(s) */
+- if (is_rmmod) {
++ /* modprobe -r? unload module(s) */
++ if (is_remove) {
+ infoidx = 0;
+ while ((info = infovec[infoidx++]) != NULL) {
+- int r;
+- char modname[MODULE_NAME_LEN];
+-
+- filename2modname(
+- bb_get_last_path_component_nostrip(info->pathname), modname);
+- r = delete_module(modname, O_NONBLOCK | O_EXCL);
+- dbg1_error_msg("delete_module('%s', O_NONBLOCK | O_EXCL):%d", modname, r);
++ int r = rmmod(bb_get_last_path_component_nostrip(info->pathname));
+ if (r != 0) {
+- if (!(option_mask32 & OPT_q))
+- bb_perror_msg("remove '%s'", modname);
+- goto ret;
++ goto ret; /* error */
+ }
+ }
+-
+- if (applet_name[0] == 'r') {
+- /* rmmod: do not remove dependencies, exit */
+- goto ret;
+- }
+-
+ /* modprobe -r: we do not stop here -
+ * continue to unload modules on which the module depends:
+ * "-r --remove: option causes modprobe to remove a module.
+@@ -694,7 +704,7 @@ static void process_module(char *name, c
+ }
+ free(deps);
+
+- if (is_rmmod)
++ if (is_remove)
+ continue;
+
+ /* We are modprobe: load it */
+@@ -897,10 +907,10 @@ int modprobe_main(int argc UNUSED_PARAM,
+ }
+
+ #if ENABLE_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
+- /* If not rmmod, parse possible module options given on command line.
++ /* If not rmmod/-r, parse possible module options given on command line.
+ * insmod/modprobe takes one module name, the rest are parameters. */
+ options = NULL;
+- if ('r' != applet0) {
++ if (!(option_mask32 & OPT_r)) {
+ char **arg = argv;
+ while (*++arg) {
+ /* Enclose options in quotes */
+@@ -911,7 +921,7 @@ int modprobe_main(int argc UNUSED_PARAM,
+ }
+ }
+ #else
+- if ('r' != applet0)
++ if (!(option_mask32 & OPT_r))
+ argv[1] = NULL;
+ #endif
+
+@@ -935,10 +945,11 @@ int modprobe_main(int argc UNUSED_PARAM,
+ }
+
+ /* Try to load modprobe.dep.bb */
+- load_dep_bb();
++ if ('r' != applet0) /* not rmmod */
++ load_dep_bb();
+
+ /* Load/remove modules.
+- * Only rmmod loops here, modprobe has only argv[0] */
++ * Only rmmod/modprobe -r loops here, insmod/modprobe has only argv[0] */
+ do {
+ process_module(*argv, options);
+ } while (*++argv);
diff --git a/package/busybox/0003-dc.patch b/package/busybox/0003-dc.patch
new file mode 100644
index 0000000000..db20cf5296
--- /dev/null
+++ b/package/busybox/0003-dc.patch
@@ -0,0 +1,163 @@
+Fix dc inconsistency, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538685
+From upstream: http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-dc.patch
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- busybox-1.23.1/miscutils/dc.c
++++ busybox-1.23.1-dc/miscutils/dc.c
+@@ -196,14 +196,6 @@ struct op {
+ };
+
+ static const struct op operators[] = {
+- {"+", add},
+- {"add", add},
+- {"-", sub},
+- {"sub", sub},
+- {"*", mul},
+- {"mul", mul},
+- {"/", divide},
+- {"div", divide},
+ #if ENABLE_FEATURE_DC_LIBM
+ {"**", power},
+ {"exp", power},
+@@ -216,28 +208,47 @@ static const struct op operators[] = {
+ {"not", not},
+ {"eor", eor},
+ {"xor", eor},
++ {"+", add},
++ {"add", add},
++ {"-", sub},
++ {"sub", sub},
++ {"*", mul},
++ {"mul", mul},
++ {"/", divide},
++ {"div", divide},
+ {"p", print_no_pop},
+ {"f", print_stack_no_pop},
+ {"o", set_output_base},
+ };
+
++/* Feed the stack machine */
+ static void stack_machine(const char *argument)
+ {
+ char *end;
+- double d;
++ double number;
+ const struct op *o;
+
+- d = strtod(argument, &end);
+- if (end != argument && *end == '\0') {
+- push(d);
+- return;
++ next:
++ number = strtod(argument, &end);
++ if (end != argument) {
++ argument = end;
++ push(number);
++ goto next;
+ }
+
++ /* We might have matched a digit, eventually advance the argument */
++ argument = skip_whitespace(argument);
++
++ if (*argument == '\0')
++ return;
++
+ o = operators;
+ do {
+- if (strcmp(o->name, argument) == 0) {
++ const size_t name_len = strlen(o->name);
++ if (strncmp(o->name, argument, name_len) == 0) {
++ argument += name_len;
+ o->function();
+- return;
++ goto next;
+ }
+ o++;
+ } while (o != operators + ARRAY_SIZE(operators));
+@@ -254,25 +265,11 @@ int dc_main(int argc UNUSED_PARAM, char
+ if (!argv[0]) {
+ /* take stuff from stdin if no args are given */
+ char *line;
+- char *cursor;
+- char *token;
+ while ((line = xmalloc_fgetline(stdin)) != NULL) {
+- cursor = line;
+- while (1) {
+- token = skip_whitespace(cursor);
+- if (*token == '\0')
+- break;
+- cursor = skip_non_whitespace(token);
+- if (*cursor != '\0')
+- *cursor++ = '\0';
+- stack_machine(token);
+- }
++ stack_machine(line);
+ free(line);
+ }
+ } else {
+- // why? it breaks "dc -2 2 + p"
+- //if (argv[0][0] == '-')
+- // bb_show_usage();
+ do {
+ stack_machine(*argv);
+ } while (*++argv);
+--- busybox-1.23.1/testsuite/dc.tests
++++ busybox-1.23.1-dc/testsuite/dc.tests
+@@ -0,0 +1,56 @@
++#!/bin/sh
++# Copyright 2015 by Bernhard Reutner-Fischer
++# Licensed under GPLv2 or later, see file LICENSE in this source tree.
++
++. ./testing.sh
++
++# testing "test name" "command" "expected result" "file input" "stdin"
++
++testing "dc basic syntax (stdin, multiple args)" \
++ "dc" \
++ "30\n" \
++ "" "10 20+p"
++
++testing "dc basic syntax (argv, single arg)" \
++ "dc '10 20+p'" \
++ "30\n" \
++ "" ""
++
++testing "dc basic syntax (argv, multiple args)" \
++ "dc 10 20+p" \
++ "30\n" \
++ "" ""
++
++testing "dc complex with spaces (single arg)" \
++ "dc '8 8 * 2 2 + / p'" \
++ "16\n" \
++ "" ""
++
++testing "dc complex without spaces (single arg)" \
++ "dc '8 8*2 2+/p'" \
++ "16\n" \
++ "" ""
++
++testing "dc complex with spaces (multiple args)" \
++ "dc 8 8 \* 2 2 + / p" \
++ "16\n" \
++ "" ""
++
++testing "dc complex without spaces (multiple args)" \
++ "dc 8 8\*2 2+/p" \
++ "16\n" \
++ "" ""
++
++exit $FAILCOUNT
++
++# we do not support arguments
++testing "dc -e <exprs>" \
++ "dc -e '10 2+f'" \
++ "12\n" \
++ "" ""
++
++testing "dc -f <exprs-from-given-file>" \
++ "dc -f input" \
++ "12\n" \
++ "10 2+f" ""
++
diff --git a/package/busybox/0004-wget.patch b/package/busybox/0004-wget.patch
new file mode 100644
index 0000000000..e1ba51c0dc
--- /dev/null
+++ b/package/busybox/0004-wget.patch
@@ -0,0 +1,185 @@
+Fix broken --header handling, see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744725
+From upstream: http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-wget.patch
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- busybox-1.23.1/networking/wget.c
++++ busybox-1.23.1-wget/networking/wget.c
+@@ -38,8 +38,14 @@
+
+ #if 0
+ # define log_io(...) bb_error_msg(__VA_ARGS__)
++# define SENDFMT(fp, fmt, ...) \
++ do { \
++ log_io("> " fmt, ##__VA_ARGS__); \
++ fprintf(fp, fmt, ##__VA_ARGS__); \
++ } while (0);
+ #else
+ # define log_io(...) ((void)0)
++# define SENDFMT(fp, fmt, ...) fprintf(fp, fmt, ##__VA_ARGS__)
+ #endif
+
+
+@@ -55,6 +61,36 @@ static const char P_FTP[] = "ftp";
+ static const char P_HTTP[] = "http";
+ static const char P_HTTPS[] = "https";
+
++#if ENABLE_FEATURE_WGET_LONG_OPTIONS
++/* User-specified headers prevent using our corresponding built-in headers. */
++enum {
++ HDR_HOST = (1<<0),
++ HDR_USER_AGENT = (1<<1),
++ HDR_RANGE = (1<<2),
++ HDR_AUTH = (1<<3) * ENABLE_FEATURE_WGET_AUTHENTICATION,
++ HDR_PROXY_AUTH = (1<<4) * ENABLE_FEATURE_WGET_AUTHENTICATION,
++};
++static const char wget_user_headers[] ALIGN1 =
++ "Host:\0"
++ "User-Agent:\0"
++ "Range:\0"
++# if ENABLE_FEATURE_WGET_AUTHENTICATION
++ "Authorization:\0"
++ "Proxy-Authorization:\0"
++# endif
++ ;
++# define USR_HEADER_HOST (G.user_headers & HDR_HOST)
++# define USR_HEADER_USER_AGENT (G.user_headers & HDR_USER_AGENT)
++# define USR_HEADER_RANGE (G.user_headers & HDR_RANGE)
++# define USR_HEADER_AUTH (G.user_headers & HDR_AUTH)
++# define USR_HEADER_PROXY_AUTH (G.user_headers & HDR_PROXY_AUTH)
++#else /* No long options, no user-headers :( */
++# define USR_HEADER_HOST 0
++# define USR_HEADER_USER_AGENT 0
++# define USR_HEADER_RANGE 0
++# define USR_HEADER_AUTH 0
++# define USR_HEADER_PROXY_AUTH 0
++#endif
+
+ /* Globals */
+ struct globals {
+@@ -69,6 +105,7 @@ struct globals {
+ #if ENABLE_FEATURE_WGET_LONG_OPTIONS
+ char *post_data;
+ char *extra_headers;
++ unsigned char user_headers; /* Headers mentioned by the user */
+ #endif
+ char *fname_out; /* where to direct output (-O) */
+ const char *proxy_flag; /* Use proxies if env vars are set */
+@@ -830,43 +867,46 @@ static void download_one_url(const char
+ #endif
+ /* Send HTTP request */
+ if (use_proxy) {
+- fprintf(sfp, "GET %s://%s/%s HTTP/1.1\r\n",
++ SENDFMT(sfp, "GET %s://%s/%s HTTP/1.1\r\n",
+ target.protocol, target.host,
+ target.path);
+ } else {
+- fprintf(sfp, "%s /%s HTTP/1.1\r\n",
++ SENDFMT(sfp, "%s /%s HTTP/1.1\r\n",
+ (option_mask32 & WGET_OPT_POST_DATA) ? "POST" : "GET",
+ target.path);
+ }
+-
+- fprintf(sfp, "Host: %s\r\nUser-Agent: %s\r\n",
+- target.host, G.user_agent);
++ if (!USR_HEADER_HOST)
++ SENDFMT(sfp, "Host: %s\r\n", target.host);
++ if (!USR_HEADER_USER_AGENT)
++ SENDFMT(sfp, "User-Agent: %s\r\n", G.user_agent);
+
+ /* Ask server to close the connection as soon as we are done
+ * (IOW: we do not intend to send more requests)
+ */
+- fprintf(sfp, "Connection: close\r\n");
++ SENDFMT(sfp, "Connection: close\r\n");
+
+ #if ENABLE_FEATURE_WGET_AUTHENTICATION
+- if (target.user) {
+- fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6,
++ if (target.user && !USR_HEADER_AUTH) {
++ SENDFMT(sfp, "Proxy-Authorization: Basic %s\r\n"+6,
+ base64enc(target.user));
+ }
+- if (use_proxy && server.user) {
+- fprintf(sfp, "Proxy-Authorization: Basic %s\r\n",
++ if (use_proxy && server.user && !USR_HEADER_PROXY_AUTH) {
++ SENDFMT(sfp, "Proxy-Authorization: Basic %s\r\n",
+ base64enc(server.user));
+ }
+ #endif
+
+- if (G.beg_range != 0)
+- fprintf(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range);
++ if (G.beg_range != 0 && !USR_HEADER_RANGE)
++ SENDFMT(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range);
+
+ #if ENABLE_FEATURE_WGET_LONG_OPTIONS
+- if (G.extra_headers)
++ if (G.extra_headers) {
++ log_io(G.extra_headers);
+ fputs(G.extra_headers, sfp);
++ }
+
+ if (option_mask32 & WGET_OPT_POST_DATA) {
+- fprintf(sfp,
++ SENDFMT(sfp,
+ "Content-Type: application/x-www-form-urlencoded\r\n"
+ "Content-Length: %u\r\n"
+ "\r\n"
+@@ -876,7 +916,7 @@ static void download_one_url(const char
+ } else
+ #endif
+ {
+- fprintf(sfp, "\r\n");
++ SENDFMT(sfp, "\r\n");
+ }
+
+ fflush(sfp);
+@@ -1093,7 +1133,9 @@ int wget_main(int argc UNUSED_PARAM, cha
+ #if ENABLE_FEATURE_WGET_LONG_OPTIONS
+ applet_long_options = wget_longopts;
+ #endif
+- opt_complementary = "-1" IF_FEATURE_WGET_TIMEOUT(":T+") IF_FEATURE_WGET_LONG_OPTIONS(":\xfe::");
++ opt_complementary = "-1"
++ IF_FEATURE_WGET_TIMEOUT(":T+")
++ IF_FEATURE_WGET_LONG_OPTIONS(":\xfe::");
+ getopt32(argv, "csqO:P:Y:U:T:" /*ignored:*/ "t:",
+ &G.fname_out, &G.dir_prefix,
+ &G.proxy_flag, &G.user_agent,
+@@ -1106,16 +1148,32 @@ int wget_main(int argc UNUSED_PARAM, cha
+
+ #if ENABLE_FEATURE_WGET_LONG_OPTIONS
+ if (headers_llist) {
+- int size = 1;
+- char *cp;
++ int size = 0;
++ char *hdr;
+ llist_t *ll = headers_llist;
+ while (ll) {
+ size += strlen(ll->data) + 2;
+ ll = ll->link;
+ }
+- G.extra_headers = cp = xmalloc(size);
++ G.extra_headers = hdr = xmalloc(size + 1);
+ while (headers_llist) {
+- cp += sprintf(cp, "%s\r\n", (char*)llist_pop(&headers_llist));
++ int bit;
++ const char *words;
++
++ size = sprintf(hdr, "%s\r\n",
++ (char*)llist_pop(&headers_llist));
++ /* a bit like index_in_substrings but don't match full key */
++ bit = 1;
++ words = wget_user_headers;
++ while (*words) {
++ if (strstr(hdr, words) == hdr) {
++ G.user_headers |= bit;
++ break;
++ }
++ bit <<= 1;
++ words += strlen(words) + 1;
++ }
++ hdr += size;
+ }
+ }
+ #endif
diff --git a/package/busybox/0005-modinfo.patch b/package/busybox/0005-modinfo.patch
new file mode 100644
index 0000000000..0a221f7f31
--- /dev/null
+++ b/package/busybox/0005-modinfo.patch
@@ -0,0 +1,17 @@
+Fix broken modinfo.
+
+From upstream: http://busybox.net/downloads/fixes-1.23.1/busybox-1.23.1-modinfo.patch
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- busybox-1.23.1/modutils/modinfo.c
++++ busybox-1.23.1-modinfo/modutils/modinfo.c
+@@ -154,7 +154,7 @@ int modinfo_main(int argc UNUSED_PARAM,
+ if (colon == NULL)
+ continue;
+ *colon = '\0';
+- filename2modname(tokens[0], name);
++ filename2modname(bb_basename(tokens[0]), name);
+ for (i = 0; argv[i]; i++) {
+ if (fnmatch(argv[i], name, 0) == 0) {
+ modinfo(tokens[0], uts.release, &env);
diff --git a/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch b/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch
new file mode 100644
index 0000000000..aee3cfcbff
--- /dev/null
+++ b/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch
@@ -0,0 +1,27 @@
+From 0821066f9adf8410891cd07684ecac50a9bc36a4 Mon Sep 17 00:00:00 2001
+From: Fabio Porcedda <fabio.porcedda@gmail>
+Date: Wed, 25 Feb 2015 18:40:24 +0100
+Subject: [PATCH] Lua: fix a typo changing %(LFS_DIR) to $(LFS_DIR)
+
+Also this fix a error on GNU Make v4.0:
+ Makefile:203: *** mixed implicit and normal rules. Stop.
+
+Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail>
+---
+ resources/Makefile.in-lua | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/resources/Makefile.in-lua b/resources/Makefile.in-lua
+index 0902f11..f3d95fd 100644
+--- a/resources/Makefile.in-lua
++++ b/resources/Makefile.in-lua
+@@ -57,5 +57,5 @@ LFS_CFLAGS = -I$(LFS_DIR)
+
+ OBJECTS += $(LUA_OBJECTS) $(SQLITE_OBJECTS) $(LFS_OBJECTS)
+ CFLAGS += $(LUA_CFLAGS) $(SQLITE_CFLAGS) $(LFS_CFLAGS) -DUSE_LUA -DUSE_LUA_SQLITE3 -DUSE_LUA_FILE_SYSTEM
+-SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) %(LFS_DIR)
++SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) $(LFS_DIR)
+
+--
+2.3.0
+
diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash
index 2079929056..19113a6cd5 100644
--- a/package/dbus/dbus.hash
+++ b/package/dbus/dbus.hash
@@ -1,2 +1,2 @@
-# Locally calculated
-sha256 83425250a6a4c93b9ab4a349771a7700e8ddff2d73a5a088222ca47ae9ce1f1a dbus-1.8.14.tar.gz
+# Locally calculated after checking pgp signature
+sha256 7f795268efd343ff0498786acb35097564390d40b1b6158daf1b4f742b522b07 dbus-1.8.16.tar.gz
diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk
index faad2b558c..200084f6a4 100644
--- a/package/dbus/dbus.mk
+++ b/package/dbus/dbus.mk
@@ -4,7 +4,7 @@
#
################################################################################
-DBUS_VERSION = 1.8.14
+DBUS_VERSION = 1.8.16
DBUS_SITE = http://dbus.freedesktop.org/releases/dbus
DBUS_LICENSE = AFLv2.1 GPLv2+
DBUS_LICENSE_FILES = COPYING
diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in
index 6069ed9051..7af75b7b94 100644
--- a/package/ding-libs/Config.in
+++ b/package/ding-libs/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_DING_LIBS
bool "ding-libs"
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT
help
The ding-libs packages contain a set of libraries used by
diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk
index d7977eef2c..5b842ffa0e 100644
--- a/package/ding-libs/ding-libs.mk
+++ b/package/ding-libs/ding-libs.mk
@@ -7,7 +7,9 @@
DING_LIBS_VERSION = 0_4_0
DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz
DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot
-DING_LIBS_DEPENDENCIES = $(if $(BR2_PACKAGE_GETTEXT),gettext) host-pkgconf
+DING_LIBS_DEPENDENCIES = host-pkgconf \
+ $(if $(BR2_PACKAGE_GETTEXT),gettext) \
+ $(if $(BR2_PACKAGE_LIBICONV),libiconv)
DING_LIBS_INSTALL_STAGING = YES
DING_LIBS_LICENSE = LGPLv3+ (library),GPLv3+ (test programs)
DING_LIBS_LICENSE_FILES = COPYING COPYING.LESSER
diff --git a/package/directfb-examples/Config.in b/package/directfb-examples/Config.in
index 51dd288d5a..f69cd3baf6 100644
--- a/package/directfb-examples/Config.in
+++ b/package/directfb-examples/Config.in
@@ -11,146 +11,146 @@ config BR2_PACKAGE_DIRECTFB_EXAMPLES
if BR2_PACKAGE_DIRECTFB_EXAMPLES
config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI
- bool "usr/bin/df_andi"
+ bool "df_andi"
help
Penguin demo, press 'space' to form convergence logo,
's'/'d' to spawn/destroy 'a' penguin, 'r' to revive penguin
after space was pressed, 'c' tests clipping.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD
- bool "usr/bin/df_bltload"
+ bool "df_bltload"
help
Reads information from /proc/bltstat.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD
- bool "usr/bin/df_cpuload"
+ bool "df_cpuload"
help
CPU Load with data from /proc/stat.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER
- bool "usr/bin/df_databuffer"
+ bool "df_databuffer"
help
Simple test application for data buffers.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD
- bool "usr/bin/df_dioload"
+ bool "df_dioload"
help
Disk IO with data from /proc/stat.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK
- bool "usr/bin/df_dok"
+ bool "df_dok"
help
DirectFB benchmark application, runs some tests and
displays benchmark results afterwards.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST
- bool "usr/bin/df_drivertest"
+ bool "df_drivertest"
help
Tool to check drivers for bugs and accuracy.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE
- bool "usr/bin/df_fire"
+ bool "df_fire"
help
The famous fire effect ported to DirectFB (16 bpp only).
config BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP
- bool "usr/bin/df_flip"
+ bool "df_flip"
help
Raw Flip() benchmark.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS
- bool "usr/bin/df_fonts"
+ bool "df_fonts"
help
Takes a list of font files and shows character tables.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT
- bool "usr/bin/df_input"
+ bool "df_input"
help
Test application for input devices.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK
- bool "usr/bin/df_joystick"
+ bool "df_joystick"
help
A colored version of df_particle, fointain can be moved with
joystick. The particles of different colors can be spawned
with different joystick buttons (1-4).
config BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES
- bool "usr/bin/df_knuckles"
+ bool "df_knuckles"
help
3D skull drawn using triangles that can be rotated using
the mouse. 'Space' switches to wireframe, 'b' toggles
backface culling.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER
- bool "usr/bin/df_layer"
+ bool "df_layer"
help
Simple videoplayer with layers.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX
- bool "usr/bin/df_matrix"
+ bool "df_matrix"
help
Testing SetMatrix() for free transforms.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER
- bool "usr/bin/df_matrix_water"
+ bool "df_matrix_water"
help
Same as df_matrix, but using new Water API.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO
- bool "usr/bin/df_neo"
+ bool "df_neo"
help
Port from a gdk-pixbuf demo to DirectFB, uses scaling,
alpha blending and color modulation, use cursor keys and
space to change parameters.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD
- bool "usr/bin/df_netload"
+ bool "df_netload"
help
Network statistica from /proc/net/dev.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE
- bool "usr/bin/df_palette"
+ bool "df_palette"
help
A example blitting from a surface with a
rotating/morphing palette.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE
- bool "usr/bin/df_particle"
+ bool "df_particle"
help
A moving fountain consisting of alphablended rectangles,
nice and fast if hardware accelerated.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER
- bool "usr/bin/df_porter"
+ bool "df_porter"
help
Shows porter/duff blending rules.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS
- bool "usr/bin/df_stress"
+ bool "df_stress"
help
Stress tests surface manager, for debugging purposes only.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE
- bool "usr/bin/df_texture"
+ bool "df_texture"
help
A simple texture example. The 3d windows can be rotated
with the mouse.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO
- bool "usr/bin/df_video"
+ bool "df_video"
help
Shows window stack with alpha blending and video playback
in a moving window.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE
- bool "usr/bin/df_video_particle"
+ bool "df_video_particle"
help
Same as df_particle, but the rectangles have been
replaced by a video (via video4linux). Nice color effects.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW
- bool "usr/bin/df_window"
+ bool "df_window"
help
Simple demonstration of the DirectFB window stack, follow
the instructions in the upper left corner. Pass a video
diff --git a/package/directfb-examples/directfb-examples.mk b/package/directfb-examples/directfb-examples.mk
index 16d2a8623a..3ba33b41f1 100644
--- a/package/directfb-examples/directfb-examples.mk
+++ b/package/directfb-examples/directfb-examples.mk
@@ -12,6 +12,10 @@ DIRECTFB_EXAMPLES_LICENSE_FILES = COPYING
DIRECTFB_EXAMPLES_INSTALL_STAGING = YES
DIRECTFB_EXAMPLES_DEPENDENCIES = directfb
+ifeq ($(BR2_STATIC_LIBS),y)
+ DIRECTFB_EXAMPLES_CONF_OPTS += LIBS=-lstdc++
+endif
+
DIRECTFB_EXAMPLES_TARGETS_ =
DIRECTFB_EXAMPLES_TARGETS_y =
@@ -94,7 +98,6 @@ define DIRECTFB_EXAMPLES_INSTALL_TARGET_CMDS
$(Q)mkdir -p $(TARGET_DIR)/usr/share/directfb-examples/fonts/
$(Q)for file in $(DIRECTFB_EXAMPLES_TARGETS_y); do \
cp -dpf $(STAGING_DIR)/$$file $(TARGET_DIR)/$$file; \
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$$file; \
done
$(Q)cp -rdpf $(STAGING_DIR)/usr/share/directfb-examples/fonts/decker.ttf $(TARGET_DIR)/usr/share/directfb-examples/fonts/
$(Q)for file in $(DIRECTFB_EXAMPLES_FONT_y); do \
diff --git a/package/dvdauthor/0001-configure.ac-fix-static-build.patch b/package/dvdauthor/0001-configure.ac-fix-static-build.patch
new file mode 100644
index 0000000000..0e016b8cb4
--- /dev/null
+++ b/package/dvdauthor/0001-configure.ac-fix-static-build.patch
@@ -0,0 +1,55 @@
+From da77704c575f0583fa871ff02bd52906a7979576 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Sun, 15 Feb 2015 11:05:43 +0100
+Subject: [PATCH] configure.ac: fix static build
+
+Add LT_INIT macro to handle --enable-shared option.
+
+If enable-shared=no then add --static flag to resolve FREETYPE_LIBS.
+
+Otherwise, dvdauthor forget to link witk -lbz2 when linking with freetype2.
+
+Fixes:
+http://autobuild.buildroot.net/results/1d8/1d83390a3dd9f6bb595e9fc7b321500b4dc533a8/
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ configure.ac | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c43df92..d78d56a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,6 +4,7 @@ AM_CONFIG_HEADER(src/config.h)
+ AC_CONFIG_AUX_DIR(autotools)
+
+ AM_INIT_AUTOMAKE
++LT_INIT
+
+ AC_PROG_INSTALL
+
+@@ -39,6 +40,11 @@ PKG_CHECK_MODULES(LIBPNG, [libpng])
+ AC_SUBST(LIBPNG_CFLAGS)
+ AC_SUBST(LIBPNG_LIBS)
+
++config_static=''
++if test "$enable_shared" = 'no'; then
++ config_static='--static'
++fi
++
+ usemagick=0
+
+ AC_CHECK_PROGS(MAGICKCONFIG, [Magick-config])
+@@ -95,7 +101,7 @@ AC_SUBST(FRIBIDI_LIBS)
+ AC_CHECK_PROGS(FREETYPECONFIG, [freetype-config])
+ if test -n "$FREETYPECONFIG"; then
+ FREETYPE_CPPFLAGS="`$FREETYPECONFIG --cflags`"
+- FREETYPE_LIBS="`$FREETYPECONFIG --libs`"
++ FREETYPE_LIBS="`$FREETYPECONFIG --libs $config_static`"
+ AC_DEFINE(HAVE_FREETYPE, 1, [Whether FreeType is available])
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+--
+1.9.3
+
diff --git a/package/dvdauthor/dvdauthor.mk b/package/dvdauthor/dvdauthor.mk
index 7985599f33..68cce4fcb1 100644
--- a/package/dvdauthor/dvdauthor.mk
+++ b/package/dvdauthor/dvdauthor.mk
@@ -14,6 +14,11 @@ DVDAUTHOR_CONF_ENV = \
ac_cv_path_XML2_CONFIG=$(STAGING_DIR)/usr/bin/xml2-config \
ac_cv_prog_GMAGICKCONFIG=
+# configure.ac patched by 0001-configure.ac-fix-static-build.patch
+DVDAUTHOR_AUTORECONF = YES
+# add host-gettext for AM_ICONV macro
+DVDAUTHOR_DEPENDENCIES += host-gettext
+
ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y)
DVDAUTHOR_DEPENDENCIES += imagemagick
DVDAUTHOR_CONF_ENV += \
diff --git a/package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch b/package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch
new file mode 100644
index 0000000000..bcf3083e71
--- /dev/null
+++ b/package/e2fsprogs/0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch
@@ -0,0 +1,59 @@
+From 49d0fe2a14f2a23da2fe299643379b8c1d37df73 Mon Sep 17 00:00:00 2001
+From: Theodore Ts'o <tytso@mit.edu>
+Date: Fri, 6 Feb 2015 12:46:39 -0500
+Subject: [PATCH] libext2fs: fix potential buffer overflow in closefs()
+
+Upstream commit 49d0fe2a14f2.
+
+The bug fix in f66e6ce4446: "libext2fs: avoid buffer overflow if
+s_first_meta_bg is too big" had a typo in the fix for
+ext2fs_closefs(). In practice most of the security exposure was from
+the openfs path, since this meant if there was a carefully crafted
+file system, buffer overrun would be triggered when the file system was
+opened.
+
+However, if corrupted file system didn't trip over some corruption
+check, and then the file system was modified via tune2fs or debugfs,
+such that the superblock was marked dirty and then written out via the
+closefs() path, it's possible that the buffer overrun could be
+triggered when the file system is closed.
+
+Also clear up a signed vs unsigned warning while we're at it.
+
+Thanks to Nick Kralevich <nnk@google.com> for asking me to look at
+compiler warning in the code in question, which led me to notice the
+bug in f66e6ce4446.
+
+Addresses: CVE-2015-1572
+
+Signed-off-by: Theodore Ts'o <tytso@mit.edu>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+ lib/ext2fs/closefs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c
+index 1f9911311a1a..ab5b2fb2365e 100644
+--- a/lib/ext2fs/closefs.c
++++ b/lib/ext2fs/closefs.c
+@@ -287,7 +287,7 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags)
+ dgrp_t j;
+ #endif
+ char *group_ptr;
+- int old_desc_blocks;
++ blk64_t old_desc_blocks;
+ struct ext2fs_numeric_progress_struct progress;
+
+ EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
+@@ -346,7 +346,7 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags)
+ group_ptr = (char *) group_shadow;
+ if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) {
+ old_desc_blocks = fs->super->s_first_meta_bg;
+- if (old_desc_blocks > fs->super->s_first_meta_bg)
++ if (old_desc_blocks > fs->desc_blocks)
+ old_desc_blocks = fs->desc_blocks;
+ } else
+ old_desc_blocks = fs->desc_blocks;
+--
+2.1.4
+
diff --git a/package/efl/libevas/libevas.mk b/package/efl/libevas/libevas.mk
index b5a2d72d68..10c3bc3af2 100644
--- a/package/efl/libevas/libevas.mk
+++ b/package/efl/libevas/libevas.mk
@@ -65,6 +65,8 @@ endif
ifeq ($(BR2_PACKAGE_LIBEVAS_X11),y)
LIBEVAS_CONF_OPTS += --enable-software-xlib
LIBEVAS_DEPENDENCIES += xlib_libX11 xlib_libXext
+else
+LIBEVAS_CONF_OPTS += --disable-software-xlib
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_X11_GLX),y)
@@ -72,6 +74,8 @@ LIBEVAS_CONF_OPTS += --enable-gl-xlib
LIBEVAS_DEPENDENCIES += \
xproto_glproto xlib_libX11 xlib_libXrender \
xlib_libXext libeet
+else
+LIBEVAS_CONF_OPTS += --disable-gl-xlib
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_XCB),y)
@@ -107,16 +111,25 @@ LIBEVAS_CONF_ENV += \
GL_EET_LIBS='-leet'
endif
+# libevas OpenGL flavor
ifeq ($(BR2_PACKAGE_LIBEVAS_GL),y)
LIBEVAS_DEPENDENCIES += mesa3d libeet
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_SGX),y)
LIBEVAS_CONF_OPTS += --enable-gl-flavor-gles --enable-gles-variety-sgx
+else
+LIBEVAS_CONF_OPTS += --disable-gles-variety-sgx
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_S3C6410),y)
LIBEVAS_CONF_OPTS += --enable-gl-flavor-gles --enable-gles-variety-s3c6410
+else
+LIBEVAS_CONF_OPTS += --disable-gles-variety-s3c6410
+endif
+
+ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_SGX)$(BR2_PACKAGE_LIBEVAS_GLES_S3C6410),)
+LIBEVAS_CONF_OPTS += --disable-gl-flavor-gles
endif
# code options
@@ -205,6 +218,20 @@ else
LIBEVAS_CONF_OPTS += --disable-font-loader-eet
endif
+ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
+LIBEVAS_CONF_OPTS += --enable-fontconfig
+LIBEVAS_DEPENDENCIES += fontconfig
+else
+LIBEVAS_CONF_OPTS += --disable-fontconfig
+endif
+
+ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
+LIBEVAS_CONF_OPTS += --enable-fribidi
+LIBEVAS_DEPENDENCIES += libfribidi
+else
+LIBEVAS_CONF_OPTS += --disable-fribidi
+endif
+
# libevas installs the source code of examples on the target, which
# are generally not useful.
define LIBEVAS_REMOVE_EXAMPLES
diff --git a/package/evtest/evtest.mk b/package/evtest/evtest.mk
index 42a79999c7..1573f52460 100644
--- a/package/evtest/evtest.mk
+++ b/package/evtest/evtest.mk
@@ -13,4 +13,9 @@ EVTEST_DEPENDENCIES = host-pkgconf
# needed because source package contains no generated files
EVTEST_AUTORECONF = YES
+# asciidoc used to generate manpages, which we don't need, and if it's
+# present on the build host, it ends getting called with our host-python
+# which doesn't have all the needed modules enabled, breaking the build
+EVTEST_CONF_ENV = ac_cv_path_ASCIIDOC=""
+
$(eval $(autotools-package))
diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index 5f86f52c36..7ce0f3ac84 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -1,10 +1,15 @@
comment "ffmpeg needs a toolchain w/ largefile, IPv6"
depends on !(BR2_LARGEFILE && BR2_INET_IPV6)
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
menuconfig BR2_PACKAGE_FFMPEG
bool "ffmpeg"
depends on BR2_LARGEFILE
depends on BR2_INET_IPV6
+ # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
help
FFmpeg is a complete, cross-platform solution to record, convert
and stream audio and video.
diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk
index a629b39d32..9b67bd32ae 100644
--- a/package/fltk/fltk.mk
+++ b/package/fltk/fltk.mk
@@ -8,8 +8,15 @@ FLTK_VERSION = 1.3.3
FLTK_SOURCE = fltk-$(FLTK_VERSION)-source.tar.gz
FLTK_SITE = http://fltk.org/pub/fltk/$(FLTK_VERSION)
FLTK_INSTALL_STAGING = YES
+# We force --libdir=/usr/lib, because by default, it is set to
+# ${exec_prefix}/lib, which doesn't match the condition used by the
+# fltk build system to decide whether it should pass a -rpath,/usr/lib
+# or not. Since this rpath breaks the build, we want the fltk build
+# system to not pass it, which requires having --libdir set to
+# /usr/lib.
FLTK_CONF_OPTS = --enable-threads --with-x --disable-gl \
- --disable-localjpeg --disable-localpng --disable-localzlib
+ --disable-localjpeg --disable-localpng --disable-localzlib \
+ --libdir=/usr/lib
FLTK_DEPENDENCIES = jpeg libpng xlib_libX11 xlib_libXext xlib_libXt
FLTK_CONFIG_SCRIPTS = fltk-config
FLTK_LICENSE = LGPLv2 with exceptions
diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk
index 0de5ce3ded..56274cb436 100644
--- a/package/freetype/freetype.mk
+++ b/package/freetype/freetype.mk
@@ -98,6 +98,7 @@ HOST_FREETYPE_POST_INSTALL_HOOKS += HOST_FREETYPE_FIX_FREETYPE_INCLUDE
$(eval $(autotools-package))
$(eval $(host-autotools-package))
-# freetype-patch uses autogen.sh so add it as a order-only-prerequisite
-# because it is a phony target.
-$(FREETYPE_TARGET_PATCH): | host-automake
+# freetype-patch and host-freetype-patch use autogen.sh so add
+# host-automake as a order-only-prerequisite because it is a phony
+# target.
+$(FREETYPE_TARGET_PATCH) $(HOST_FREETYPE_TARGET_PATCH): | host-automake
diff --git a/package/git/git.mk b/package/git/git.mk
index 30b5b7d66b..0672d6ee1f 100644
--- a/package/git/git.mk
+++ b/package/git/git.mk
@@ -14,6 +14,7 @@ GIT_DEPENDENCIES = zlib host-gettext
ifeq ($(BR2_PACKAGE_OPENSSL),y)
GIT_DEPENDENCIES += openssl
GIT_CONF_OPTS += --with-openssl
+ GIT_CONF_ENV_LIBS += $(if $(BR2_STATIC_LIBS),-lz)
else
GIT_CONF_OPTS += --without-openssl
endif
@@ -41,7 +42,7 @@ endif
ifeq ($(BR2_PACKAGE_LIBICONV),y)
GIT_DEPENDENCIES += libiconv
- GIT_CONF_ENV += LIBS=-liconv
+ GIT_CONF_ENV_LIBS += -liconv
GIT_CONF_OPTS += --with-iconv=/usr/lib
else
GIT_CONF_OPTS += --without-iconv
@@ -56,7 +57,7 @@ endif
# assume yes for these tests, configure will bail out otherwise
# saying error: cannot run test program while cross compiling
-GIT_CONF_ENV += ac_cv_fread_reads_directories=yes \
- ac_cv_snprintf_returns_bogus=yes
+GIT_CONF_ENV = ac_cv_fread_reads_directories=yes \
+ ac_cv_snprintf_returns_bogus=yes LIBS='$(GIT_CONF_ENV_LIBS)'
$(eval $(autotools-package))
diff --git a/package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch b/package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch
new file mode 100644
index 0000000000..a0da626cbf
--- /dev/null
+++ b/package/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch
@@ -0,0 +1,88 @@
+Fix CVE-2015-1472 - heap buffer overflow in wscanf
+Backport from upstream:
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
+See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
+index aece3f2..8a2eb9e 100644
+--- a/libc/stdio-common/tst-sscanf.c
++++ b/libc/stdio-common/tst-sscanf.c
+@@ -233,5 +233,38 @@ main (void)
+ }
+ }
+
++ /* BZ #16618
++ The test will segfault during SSCANF if the buffer overflow
++ is not fixed. The size of `s` is such that it forces the use
++ of malloc internally and this triggers the incorrect computation.
++ Thus the value for SIZE is arbitrariy high enough that malloc
++ is used. */
++ {
++#define SIZE 131072
++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s));
++ if (s == NULL)
++ abort ();
++ for (size_t i = 0; i < SIZE; i++)
++ s[i] = L('0');
++ s[SIZE] = L('\0');
++ int i = 42;
++ /* Scan multi-digit zero into `i`. */
++ if (SSCANF (s, L("%d"), &i) != 1)
++ {
++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n");
++ result = 1;
++ }
++ if (i != 0)
++ {
++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n");
++ result = 1;
++ }
++ free (s);
++ if (result != 1)
++ printf ("PASS: bug16618: Did not crash.\n");
++#undef SIZE
++ }
++
++
+ return result;
+ }
+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
+index cd129a8..0e204e7 100644
+--- a/libc/stdio-common/vfscanf.c
++++ b/libc/stdio-common/vfscanf.c
+@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ if (__glibc_unlikely (wpsize == wpmax)) \
+ { \
+ CHAR_T *old = wp; \
+- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
+- ? UCHAR_MAX + 1 : 2 * wpmax); \
+- if (use_malloc || !__libc_use_alloca (newsize)) \
++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \
++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \
++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \
++ if (!__libc_use_alloca (newsize)) \
+ { \
+ wp = realloc (use_malloc ? wp : NULL, newsize); \
+ if (wp == NULL) \
+@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ } \
+ if (! use_malloc) \
+ MEMCPY (wp, old, wpsize); \
+- wpmax = newsize; \
++ wpmax = wpneed; \
+ use_malloc = true; \
+ } \
+ else \
+ { \
+ size_t s = wpmax * sizeof (CHAR_T); \
+- wp = (CHAR_T *) extend_alloca (wp, s, \
+- newsize * sizeof (CHAR_T)); \
++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \
+ wpmax = s / sizeof (CHAR_T); \
+ if (old != NULL) \
+ MEMCPY (wp, old, wpsize); \
+--
+1.9.4
+
diff --git a/package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch b/package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch
new file mode 100644
index 0000000000..a0da626cbf
--- /dev/null
+++ b/package/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch
@@ -0,0 +1,88 @@
+Fix CVE-2015-1472 - heap buffer overflow in wscanf
+Backport from upstream:
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
+See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
+index aece3f2..8a2eb9e 100644
+--- a/libc/stdio-common/tst-sscanf.c
++++ b/libc/stdio-common/tst-sscanf.c
+@@ -233,5 +233,38 @@ main (void)
+ }
+ }
+
++ /* BZ #16618
++ The test will segfault during SSCANF if the buffer overflow
++ is not fixed. The size of `s` is such that it forces the use
++ of malloc internally and this triggers the incorrect computation.
++ Thus the value for SIZE is arbitrariy high enough that malloc
++ is used. */
++ {
++#define SIZE 131072
++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s));
++ if (s == NULL)
++ abort ();
++ for (size_t i = 0; i < SIZE; i++)
++ s[i] = L('0');
++ s[SIZE] = L('\0');
++ int i = 42;
++ /* Scan multi-digit zero into `i`. */
++ if (SSCANF (s, L("%d"), &i) != 1)
++ {
++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n");
++ result = 1;
++ }
++ if (i != 0)
++ {
++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n");
++ result = 1;
++ }
++ free (s);
++ if (result != 1)
++ printf ("PASS: bug16618: Did not crash.\n");
++#undef SIZE
++ }
++
++
+ return result;
+ }
+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
+index cd129a8..0e204e7 100644
+--- a/libc/stdio-common/vfscanf.c
++++ b/libc/stdio-common/vfscanf.c
+@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ if (__glibc_unlikely (wpsize == wpmax)) \
+ { \
+ CHAR_T *old = wp; \
+- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
+- ? UCHAR_MAX + 1 : 2 * wpmax); \
+- if (use_malloc || !__libc_use_alloca (newsize)) \
++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \
++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \
++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \
++ if (!__libc_use_alloca (newsize)) \
+ { \
+ wp = realloc (use_malloc ? wp : NULL, newsize); \
+ if (wp == NULL) \
+@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ } \
+ if (! use_malloc) \
+ MEMCPY (wp, old, wpsize); \
+- wpmax = newsize; \
++ wpmax = wpneed; \
+ use_malloc = true; \
+ } \
+ else \
+ { \
+ size_t s = wpmax * sizeof (CHAR_T); \
+- wp = (CHAR_T *) extend_alloca (wp, s, \
+- newsize * sizeof (CHAR_T)); \
++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \
+ wpmax = s / sizeof (CHAR_T); \
+ if (old != NULL) \
+ MEMCPY (wp, old, wpsize); \
+--
+1.9.4
+
diff --git a/package/glibc/2.19/0004-CVE-2015-1472.patch b/package/glibc/2.19/0004-CVE-2015-1472.patch
new file mode 100644
index 0000000000..b2f8e49d46
--- /dev/null
+++ b/package/glibc/2.19/0004-CVE-2015-1472.patch
@@ -0,0 +1,88 @@
+Fix CVE-2015-1472 - heap buffer overflow in wscanf
+Backport from upstream:
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
+See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
+index aece3f2..8a2eb9e 100644
+--- a/stdio-common/tst-sscanf.c
++++ b/stdio-common/tst-sscanf.c
+@@ -233,5 +233,38 @@ main (void)
+ }
+ }
+
++ /* BZ #16618
++ The test will segfault during SSCANF if the buffer overflow
++ is not fixed. The size of `s` is such that it forces the use
++ of malloc internally and this triggers the incorrect computation.
++ Thus the value for SIZE is arbitrariy high enough that malloc
++ is used. */
++ {
++#define SIZE 131072
++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s));
++ if (s == NULL)
++ abort ();
++ for (size_t i = 0; i < SIZE; i++)
++ s[i] = L('0');
++ s[SIZE] = L('\0');
++ int i = 42;
++ /* Scan multi-digit zero into `i`. */
++ if (SSCANF (s, L("%d"), &i) != 1)
++ {
++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n");
++ result = 1;
++ }
++ if (i != 0)
++ {
++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n");
++ result = 1;
++ }
++ free (s);
++ if (result != 1)
++ printf ("PASS: bug16618: Did not crash.\n");
++#undef SIZE
++ }
++
++
+ return result;
+ }
+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
+index cd129a8..0e204e7 100644
+--- a/stdio-common/vfscanf.c
++++ b/stdio-common/vfscanf.c
+@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ if (__glibc_unlikely (wpsize == wpmax)) \
+ { \
+ CHAR_T *old = wp; \
+- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
+- ? UCHAR_MAX + 1 : 2 * wpmax); \
+- if (use_malloc || !__libc_use_alloca (newsize)) \
++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \
++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \
++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \
++ if (!__libc_use_alloca (newsize)) \
+ { \
+ wp = realloc (use_malloc ? wp : NULL, newsize); \
+ if (wp == NULL) \
+@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ } \
+ if (! use_malloc) \
+ MEMCPY (wp, old, wpsize); \
+- wpmax = newsize; \
++ wpmax = wpneed; \
+ use_malloc = true; \
+ } \
+ else \
+ { \
+ size_t s = wpmax * sizeof (CHAR_T); \
+- wp = (CHAR_T *) extend_alloca (wp, s, \
+- newsize * sizeof (CHAR_T)); \
++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \
+ wpmax = s / sizeof (CHAR_T); \
+ if (old != NULL) \
+ MEMCPY (wp, old, wpsize); \
+--
+1.9.4
+
diff --git a/package/glibc/2.20/0003-CVE-2015-1472.patch b/package/glibc/2.20/0003-CVE-2015-1472.patch
new file mode 100644
index 0000000000..b2f8e49d46
--- /dev/null
+++ b/package/glibc/2.20/0003-CVE-2015-1472.patch
@@ -0,0 +1,88 @@
+Fix CVE-2015-1472 - heap buffer overflow in wscanf
+Backport from upstream:
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
+See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
+index aece3f2..8a2eb9e 100644
+--- a/stdio-common/tst-sscanf.c
++++ b/stdio-common/tst-sscanf.c
+@@ -233,5 +233,38 @@ main (void)
+ }
+ }
+
++ /* BZ #16618
++ The test will segfault during SSCANF if the buffer overflow
++ is not fixed. The size of `s` is such that it forces the use
++ of malloc internally and this triggers the incorrect computation.
++ Thus the value for SIZE is arbitrariy high enough that malloc
++ is used. */
++ {
++#define SIZE 131072
++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s));
++ if (s == NULL)
++ abort ();
++ for (size_t i = 0; i < SIZE; i++)
++ s[i] = L('0');
++ s[SIZE] = L('\0');
++ int i = 42;
++ /* Scan multi-digit zero into `i`. */
++ if (SSCANF (s, L("%d"), &i) != 1)
++ {
++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n");
++ result = 1;
++ }
++ if (i != 0)
++ {
++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n");
++ result = 1;
++ }
++ free (s);
++ if (result != 1)
++ printf ("PASS: bug16618: Did not crash.\n");
++#undef SIZE
++ }
++
++
+ return result;
+ }
+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
+index cd129a8..0e204e7 100644
+--- a/stdio-common/vfscanf.c
++++ b/stdio-common/vfscanf.c
+@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ if (__glibc_unlikely (wpsize == wpmax)) \
+ { \
+ CHAR_T *old = wp; \
+- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
+- ? UCHAR_MAX + 1 : 2 * wpmax); \
+- if (use_malloc || !__libc_use_alloca (newsize)) \
++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \
++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \
++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \
++ if (!__libc_use_alloca (newsize)) \
+ { \
+ wp = realloc (use_malloc ? wp : NULL, newsize); \
+ if (wp == NULL) \
+@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ } \
+ if (! use_malloc) \
+ MEMCPY (wp, old, wpsize); \
+- wpmax = newsize; \
++ wpmax = wpneed; \
+ use_malloc = true; \
+ } \
+ else \
+ { \
+ size_t s = wpmax * sizeof (CHAR_T); \
+- wp = (CHAR_T *) extend_alloca (wp, s, \
+- newsize * sizeof (CHAR_T)); \
++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \
+ wpmax = s / sizeof (CHAR_T); \
+ if (old != NULL) \
+ MEMCPY (wp, old, wpsize); \
+--
+1.9.4
+
diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash
index d6733f58a1..ba38d38fba 100644
--- a/package/gnupg/gnupg.hash
+++ b/package/gnupg/gnupg.hash
@@ -1,2 +1,2 @@
-# Locally calculated after checking pgp signature
-sha256 b7b5fdda78849955e0cdbc5a085f3a08f8b7fba126c622085debb62def5d6388 gnupg-1.4.18.tar.bz2
+# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000363.html
+sha1 5503f7faa0a0e84450838706a67621546241ca50 gnupg-1.4.19.tar.bz2
diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk
index c0bf88c422..94f5d896aa 100644
--- a/package/gnupg/gnupg.mk
+++ b/package/gnupg/gnupg.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GNUPG_VERSION = 1.4.18
+GNUPG_VERSION = 1.4.19
GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2
GNUPG_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg
GNUPG_LICENSE = GPLv3+
diff --git a/package/gnupg2/Config.in b/package/gnupg2/Config.in
index d24eaaee1f..e246fd79e3 100644
--- a/package/gnupg2/Config.in
+++ b/package/gnupg2/Config.in
@@ -1,3 +1,7 @@
+comment "gnupg2 needs a toolchain w/ dynamic library"
+ depends on BR2_USE_MMU
+ depends on BR2_STATIC_LIBS
+
config BR2_PACKAGE_GNUPG2
bool "gnupg2"
select BR2_PACKAGE_ZLIB
@@ -9,6 +13,7 @@ config BR2_PACKAGE_GNUPG2
select BR2_PACKAGE_LIBPTHSEM_COMPAT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
depends on BR2_USE_MMU # libassuan
+ depends on !BR2_STATIC_LIBS
help
GnuPG is the GNU project's complete and free implementation
of the OpenPGP standard as defined by RFC4880. GnuPG allows
diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash
index e1512c284a..404c40bedd 100644
--- a/package/gnupg2/gnupg2.hash
+++ b/package/gnupg2/gnupg2.hash
@@ -1,2 +1,2 @@
-# Locally calculated after checking pgp signature
-sha256 57646d3e4b919fa1e5c8f1c0cf5fe1215333041c493a5ebc4b8f2978dbe930f2 gnupg-2.0.27.tar.bz2
+# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000362.html
+sha1 d065be185f5bac8ea07b210ab7756e79b83b63d4 gnupg-2.0.27.tar.bz2
diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk
index 6a6199ee12..0154b4da46 100644
--- a/package/gnutls/gnutls.mk
+++ b/package/gnutls/gnutls.mk
@@ -17,6 +17,7 @@ GNUTLS_DEPENDENCIES = host-pkgconf nettle pcre \
$(if $(BR2_PACKAGE_ZLIB),zlib)
GNUTLS_CONF_OPTS = \
--with-libnettle-prefix=$(STAGING_DIR)/usr \
+ --with-librt-prefix=$(STAGING_DIR) \
--disable-rpath \
--disable-doc \
--disable-guile \
diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk
index dcf075a9c6..dee6208113 100644
--- a/package/gpm/gpm.mk
+++ b/package/gpm/gpm.mk
@@ -15,7 +15,8 @@ GPM_DEPENDENCIES = host-bison
# if not already installed in staging dir, gpm Makefile may fail to find some
# of the headers needed to generate build dependencies, the first time it is
# built. CPPFLAGS is used to pass the right include path to dependency rules.
-GPM_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -I$(@D)/src/headers/"
+GPM_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -I$(@D)/src/headers/" \
+ ac_cv_path_emacs=no
# For some reason, Microblaze gcc does not define __ELF__, which gpm
# configure script uses to determine whether the architecture uses ELF
diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
index 3e2582032b..35bb692800 100644
--- a/package/gstreamer/gst-plugins-good/Config.in
+++ b/package/gstreamer/gst-plugins-good/Config.in
@@ -27,11 +27,11 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_BZ2
config BR2_PACKAGE_GST_PLUGINS_GOOD_ZLIB
bool "zlib support"
- depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_QTDEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA
+ depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA
select BR2_PACKAGE_ZLIB
help
Enable zlib support for the following plugins:
- id3demux, qtdemux, matroska
+ id3demux, isomp4, matroska
comment "dependency-less plugins"
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 73c633fa48..9d15cbf023 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -34,11 +34,11 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2
config BR2_PACKAGE_GST1_PLUGINS_GOOD_ZLIB
bool "zlib support"
- depends on BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QTDEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA
+ depends on BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA
select BR2_PACKAGE_ZLIB
help
Enable zlib support for the following plugins:
- id3demux, qtdemux, matroska
+ id3demux, isomp4, matroska
comment "dependency-less plugins"
diff --git a/package/i2c-tools/Config.in b/package/i2c-tools/Config.in
index 43f5e05ae8..e83dbd65fa 100644
--- a/package/i2c-tools/Config.in
+++ b/package/i2c-tools/Config.in
@@ -7,4 +7,4 @@ config BR2_PACKAGE_I2C_TOOLS
a bus probing tool, a chip dumper, register-level access helpers,
EEPROM decoding scripts, and more.
- http://www.lm-sensors.org
+ http://www.lm-sensors.org/wiki/I2CTools
diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk
index 3a12a9c7ab..03c1bd4e06 100644
--- a/package/imagemagick/imagemagick.mk
+++ b/package/imagemagick/imagemagick.mk
@@ -6,10 +6,7 @@
IMAGEMAGICK_VERSION = 6.9.0-7
IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.xz
-# The official ImageMagick site only keeps the latest versions
-# available, which is annoying. Use an alternate site that keeps all
-# older versions.
-IMAGEMAGICK_SITE = ftp://ftp.nluug.nl/pub/ImageMagick
+IMAGEMAGICK_SITE = http://www.imagemagick.org/download/releases
IMAGEMAGICK_LICENSE = Apache-2.0
IMAGEMAGICK_LICENSE_FILES = LICENSE
diff --git a/package/libao/libao.hash b/package/libao/libao.hash
new file mode 100644
index 0000000000..64174dad8f
--- /dev/null
+++ b/package/libao/libao.hash
@@ -0,0 +1,2 @@
+# From http://downloads.xiph.org/releases/ao/SHA256SUMS.txt
+sha256 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf libao-1.2.0.tar.gz
diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk
index c50b1d29f2..d67c73833b 100644
--- a/package/libevent/libevent.mk
+++ b/package/libevent/libevent.mk
@@ -26,6 +26,11 @@ endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LIBEVENT_DEPENDENCIES += openssl
LIBEVENT_CONF_OPTS += --enable-openssl
+# openssl needs zlib but configure forgets to link against it causing
+# openssl detection to fail
+ifeq ($(BR2_STATIC_LIBS),y)
+LIBEVENT_CONF_ENV += OPENSSL_LIBADD='-lz'
+endif
else
LIBEVENT_CONF_OPTS += --disable-openssl
endif
diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk
index 20a5df097c..12e766408d 100644
--- a/package/libfribidi/libfribidi.mk
+++ b/package/libfribidi/libfribidi.mk
@@ -15,4 +15,10 @@ LIBFRIBIDI_INSTALL_STAGING = YES
LIBFRIBIDI_AUTORECONF = YES
LIBFRIBIDI_DEPENDENCIES = host-pkgconf
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+ LIBFRIBIDI_DEPENDENCIES += libglib2
+else
+ LIBFRIBIDI_CONF_OPTS += --with-glib=no
+endif
+
$(eval $(autotools-package))
diff --git a/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch b/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch
deleted file mode 100644
index 9190a01650..0000000000
--- a/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 9cbd876ebc6ef8cbe647d4a914d03f527f822424 Mon Sep 17 00:00:00 2001
-Message-Id: <9cbd876ebc6ef8cbe647d4a914d03f527f822424.1398253762.git.baruch@tkos.co.il>
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Wed, 23 Apr 2014 14:42:21 +0300
-Subject: [PATCH] Fix build on Linux/x86_64 under uClibc
-
-* include/private/gcconfig.h (GETCONTEXT_FPU_EXCMASK_BUG): don't define for
-uClibc, as it may not have fenv.h
-
-Patch status: sent upstream
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
- include/private/gcconfig.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
-index de7998be0f54..f866cc4ed8cc 100644
---- a/include/private/gcconfig.h
-+++ b/include/private/gcconfig.h
-@@ -2235,7 +2235,7 @@
- extern int etext[];
- # define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
- # endif
--# if defined(__GLIBC__)
-+# if defined(__GLIBC__) && !defined(__UCLIBC__)
- /* At present, there's a bug in GLibc getcontext() on */
- /* Linux/x64 (it clears FPU exception mask). We define this */
- /* macro to workaround it. */
---
-1.9.2
-
diff --git a/package/libgc/Config.in b/package/libgc/Config.in
deleted file mode 100644
index 5e23b3da6b..0000000000
--- a/package/libgc/Config.in
+++ /dev/null
@@ -1,11 +0,0 @@
-config BR2_PACKAGE_LIBGC
- bool "libgc"
- select BR2_PACKAGE_LIBATOMIC_OPS
- depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
- help
- The Boehm-Demers-Weiser conservative garbage collector can be used
- as a garbage collecting replacement for C malloc or C++ new. It allows
- you to allocate memory basically as you normally would, without
- explicitly deallocating memory that is no longer useful.
-
- http://www.hboehm.info/gc/
diff --git a/package/libgc/libgc.mk b/package/libgc/libgc.mk
deleted file mode 100644
index 536988dcda..0000000000
--- a/package/libgc/libgc.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-################################################################################
-#
-# libgc
-#
-################################################################################
-
-LIBGC_VERSION = 7.4.0
-LIBGC_SOURCE = gc-$(LIBGC_VERSION).tar.gz
-LIBGC_SITE = http://www.hboehm.info/gc/gc_source
-LIBGC_DEPENDENCIES = libatomic_ops host-pkgconf
-LIBGC_LICENSE = Permissive X11-style
-LIBGC_LICENSE_FILES = README.md
-LIBGC_INSTALL_STAGING = YES
-
-$(eval $(autotools-package))
diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash
index 2ce7a67c92..9cad1c49b1 100644
--- a/package/libgcrypt/libgcrypt.hash
+++ b/package/libgcrypt/libgcrypt.hash
@@ -1,2 +1,2 @@
-# From http://lists.gnupg.org/pipermail/gnupg-announce/2014q3/000355.html
-sha1 cc31aca87e4a3769cb86884a3f5982b2cc8eb7ec libgcrypt-1.6.2.tar.bz2
+# From http://lists.gnupg.org/pipermail/gnupg-announce/2015q1/000364.html
+sha1 9456e7b64db9df8360a1407a38c8c958da80bbf1 libgcrypt-1.6.3.tar.bz2
diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index 4d64da8807..e2a4b392ea 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBGCRYPT_VERSION = 1.6.2
+LIBGCRYPT_VERSION = 1.6.3
LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2
LIBGCRYPT_LICENSE = LGPLv2.1+
LIBGCRYPT_LICENSE_FILES = COPYING.LIB
diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk
index dfc1f5b86a..f52dfaf6ed 100644
--- a/package/libgtk2/libgtk2.mk
+++ b/package/libgtk2/libgtk2.mk
@@ -69,7 +69,8 @@ LIBGTK2_CONF_ENV = \
ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \
ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \
ac_cv_prog_F77=no \
- ac_cv_path_CUPS_CONFIG=no
+ ac_cv_path_CUPS_CONFIG=no \
+ DB2HTML=false
LIBGTK2_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no
diff --git a/package/libsemanage/0002-workaround-blackfin-issue.patch b/package/libsemanage/0002-workaround-blackfin-issue.patch
new file mode 100644
index 0000000000..5d00c6983b
--- /dev/null
+++ b/package/libsemanage/0002-workaround-blackfin-issue.patch
@@ -0,0 +1,24 @@
+Do not make symbols hidden on Blackfin
+
+The libselinux logic to hide internal symbols from the DSO doesn't
+work properly on Blackfin due to the USER_LABEL_PREFIX not being
+handled properly. A real fix is not that simple, so this patch simply
+disables the internal symbol hiding mechanism. This means that those
+symbols are visible in the final DSO, which is not a problem for
+proper execution, it just isn't as clean.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/src/dso.h
+===================================================================
+--- a/src/dso.h
++++ b/src/dso.h
+@@ -1,7 +1,7 @@
+ #ifndef _SELINUX_DSO_H
+ #define _SELINUX_DSO_H 1
+
+-#ifdef SHARED
++#if defined(SHARED) && !defined(__bfin__)
+ # define hidden __attribute__ ((visibility ("hidden")))
+ # define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
+ # define __hidden_proto(fct, internal) \
diff --git a/package/libsepol/0002-workaround-blackfin-issue.patch b/package/libsepol/0002-workaround-blackfin-issue.patch
new file mode 100644
index 0000000000..5d00c6983b
--- /dev/null
+++ b/package/libsepol/0002-workaround-blackfin-issue.patch
@@ -0,0 +1,24 @@
+Do not make symbols hidden on Blackfin
+
+The libselinux logic to hide internal symbols from the DSO doesn't
+work properly on Blackfin due to the USER_LABEL_PREFIX not being
+handled properly. A real fix is not that simple, so this patch simply
+disables the internal symbol hiding mechanism. This means that those
+symbols are visible in the final DSO, which is not a problem for
+proper execution, it just isn't as clean.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/src/dso.h
+===================================================================
+--- a/src/dso.h
++++ b/src/dso.h
+@@ -1,7 +1,7 @@
+ #ifndef _SELINUX_DSO_H
+ #define _SELINUX_DSO_H 1
+
+-#ifdef SHARED
++#if defined(SHARED) && !defined(__bfin__)
+ # define hidden __attribute__ ((visibility ("hidden")))
+ # define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
+ # define __hidden_proto(fct, internal) \
diff --git a/package/libshout/libshout.hash b/package/libshout/libshout.hash
new file mode 100644
index 0000000000..908bd991be
--- /dev/null
+++ b/package/libshout/libshout.hash
@@ -0,0 +1,2 @@
+# From http://downloads.xiph.org/releases/libshout/SHA256SUMS
+sha256 cf3c5f6b4a5e3fcfbe09fb7024aa88ad4099a9945f7cb037ec06bcee7a23926e libshout-2.3.1.tar.gz
diff --git a/package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch b/package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch
new file mode 100644
index 0000000000..acb2c9a272
--- /dev/null
+++ b/package/libsrtp/0002-A-autoconf-checks-for-libz-and-libdl-when-OpenSSL-is.patch
@@ -0,0 +1,33 @@
+From 3107a0161bf30f7e3e0c356c3d040d99634fbf5b Mon Sep 17 00:00:00 2001
+From: jfigus <foleyj@cisco.com>
+Date: Thu, 26 Feb 2015 12:25:08 -0500
+Subject: [PATCH] A autoconf checks for libz and libdl when OpenSSL is enabled
+ to allow for static linking of OpenSSL (via CFLAGS=-static).
+
+[Romain:
+ Drop the configure part of the patch since Buildroot
+ use AUTORECONF in libsrtp.mk]
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ configure.in | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure.in b/configure.in
+index ee30daf..71df46b 100644
+--- a/configure.in
++++ b/configure.in
+@@ -147,6 +147,10 @@ if test "$enable_openssl" = "yes"; then
+ LDFLAGS="$LDFLAGS $(pkg-config --libs openssl)";
+ CFLAGS="$CFLAGS $(pkg-config --cflags openssl)";
+
++ AC_CHECK_LIB([dl], [dlopen], [],
++ [AC_MSG_FAILURE([can't find libdl])])
++ AC_CHECK_LIB([z], [inflate], [],
++ [AC_MSG_FAILURE([can't find libz])])
+ AC_CHECK_LIB([crypto], [EVP_EncryptInit], [],
+ [AC_MSG_FAILURE([can't find openssl >1.0.1 crypto lib])])
+ AC_CHECK_LIB([crypto], [EVP_aes_128_ctr], [],
+--
+1.9.3
+
diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk
index 5e622551d1..e5cf47b787 100644
--- a/package/libsrtp/libsrtp.mk
+++ b/package/libsrtp/libsrtp.mk
@@ -25,7 +25,8 @@ endif
# host-pkgconf to make sure pkg-config is installed.
LIBSRTP_DEPENDENCIES = host-pkgconf
-ifeq ($(BR2_PACKAGE_OPENSSL),y)
+# openssl handling needs libdl support
+ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx)
LIBSRTP_DEPENDENCIES += openssl
LIBSRTP_CONF_OPTS += --enable-openssl
else
diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk
index c9f7059bc1..1a1a06f6f2 100644
--- a/package/libssh2/libssh2.mk
+++ b/package/libssh2/libssh2.mk
@@ -31,7 +31,8 @@ endif
# Add zlib support if enabled
ifeq ($(BR2_PACKAGE_ZLIB),y)
LIBSSH2_DEPENDENCIES += zlib
-LIBSSH2_CONF_OPTS += --with-libz
+LIBSSH2_CONF_OPTS += --with-libz \
+ --with-libz-prefix=$(STAGING_DIR)/usr
else
LIBSSH2_CONF_OPTS += --without-libz
endif
diff --git a/package/libtheora/libtheora.hash b/package/libtheora/libtheora.hash
new file mode 100644
index 0000000000..daf245570a
--- /dev/null
+++ b/package/libtheora/libtheora.hash
@@ -0,0 +1,2 @@
+# From http://downloads.xiph.org/releases/theora/SHA256SUMS
+sha256 f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61 libtheora-1.1.1.tar.xz
diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk
index ad790f85ac..853a7244ea 100644
--- a/package/libupnpp/libupnpp.mk
+++ b/package/libupnpp/libupnpp.mk
@@ -11,4 +11,10 @@ LIBUPNPP_LICENSE_FILES = COPYING
LIBUPNPP_INSTALL_STAGING = YES
LIBUPNPP_DEPENDENCIES = expat libcurl libupnp
+# configure script fails to link against the dependencies of libupnp
+# causing upnp detection to fail when statically linking
+ifeq ($(BR2_STATIC_LIBS),y)
+LIBUPNPP_CONF_ENV += LIBS='-lthreadutil -lixml -pthread'
+endif
+
$(eval $(autotools-package))
diff --git a/package/libxmlrpc/0004-use-correct-curl-config.patch b/package/libxmlrpc/0004-use-correct-curl-config.patch
index c0646d3b81..b5816432d8 100644
--- a/package/libxmlrpc/0004-use-correct-curl-config.patch
+++ b/package/libxmlrpc/0004-use-correct-curl-config.patch
@@ -55,7 +55,7 @@ Index: b/lib/curl_transport/Makefile
$(SRCDIR)/common.mk: srcdir blddir
-CURL_VERSION := $(shell curl-config --vernum)
-+CURL_VERSION := $(shell $CURL_CONFIG --vernum)
++CURL_VERSION := $(shell $(CURL_CONFIG) --vernum)
# Some time at or before Curl 7.12, <curl/types.h> became an empty file
# (no-op). Some time after Curl 7.18, <curl/types.h> ceased to exist.
@@ -64,7 +64,7 @@ Index: b/lib/curl_transport/Makefile
endif
-CURL_INCLUDES := $(shell curl-config --cflags)
-+CURL_INCLUDES := $(shell $CURL_CONFIG --cflags)
++CURL_INCLUDES := $(shell $(CURL_CONFIG) --cflags)
# We expect that curl-config --cflags just gives us -I options, because
# we need just the -I options for 'make dep'. Plus, it's scary to think
# of what any other compiler flag would do to our compile.
@@ -77,7 +77,7 @@ Index: b/src/cpp/test/Makefile
ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
- LIBS += $(shell curl-config --libs)
-+ LIBS += $(shell $CURL_CONFIG --libs)
++ LIBS += $(shell $(CURL_CONFIG) --libs)
endif
ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
LIBS += $(shell libwww-config --libs)
@@ -90,7 +90,7 @@ Index: b/tools/common.mk
endif
ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
- CLIENT_LDLIBS += $(shell curl-config --libs)
-+ CLIENT_LDLIBS += $(shell $CURL_CONFIG --libs)
++ CLIENT_LDLIBS += $(shell $(CURL_CONFIG) --libs)
endif
ifeq ($(MUST_BUILD_WININET_CLIENT),yes)
CLIENT_LDLIBS += $(shell wininet-config --libs)
diff --git a/package/make/make.mk b/package/make/make.mk
index 20469ba3df..6e7a8f1aed 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -11,4 +11,16 @@ MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
MAKE_LICENSE = GPLv3+
MAKE_LICENSE_FILES = COPYING
+# Disable the 'load' operation for static builds since it needs dlopen
+ifeq ($(BR2_STATIC_LIBS),y)
+ MAKE_CONF_OPTS += --disable-load
+endif
+
+ifeq ($(BR2_PACKAGE_GUILE),y)
+MAKE_DEPENDENCIES += guile
+MAKE_CONF_OPTS += --with-guile
+else
+MAKE_CONF_OPTS += --without-guile
+endif
+
$(eval $(autotools-package))
diff --git a/package/mjpg-streamer/Config.in b/package/mjpg-streamer/Config.in
index 7925d41e7c..f42c2a50db 100644
--- a/package/mjpg-streamer/Config.in
+++ b/package/mjpg-streamer/Config.in
@@ -3,14 +3,16 @@ config BR2_PACKAGE_MJPG_STREAMER
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # linux/uvcvideo.h
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS # plugins need dlopen()
select BR2_PACKAGE_JPEG
help
- MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem
- or other input plugins and streams them as M-JPEG via HTTP to
- webbrowsers, VLC and other software.
+ MJPG-streamer takes JPGs from Linux-UVC compatible webcams,
+ filesystem or other input plugins and streams them as
+ M-JPEG via HTTP to webbrowsers, VLC and other software.
http://mjpg-streamer.sourceforge.net
-comment "mjpg-streamer needs a toolchain w/ threads, headers >= 3.0"
+comment "mjpg-streamer needs a toolchain w/ threads, headers >= 3.0, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS
diff --git a/package/mplayer/0005-Support-newer-GIFLIB-versions.patch b/package/mplayer/0005-Support-newer-GIFLIB-versions.patch
new file mode 100644
index 0000000000..a43948947a
--- /dev/null
+++ b/package/mplayer/0005-Support-newer-GIFLIB-versions.patch
@@ -0,0 +1,268 @@
+Support newer GIFLIB versions
+
+This is an adapted upstream patch. This patch is incomplete so a new
+patch needs to be added after this one.
+
+Upstream commit:
+
+ https://github.com/pigoz/mplayer-svn/commit/a0ddaef5457e222dade386901bf448c5e3ac7b89
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From a0ddaef5457e222dade386901bf448c5e3ac7b89 Mon Sep 17 00:00:00 2001
+From: al <al@b3059339-0415-0410-9bf9-f77b7e298cf2>
+Date: Sat, 27 Jul 2013 21:16:06 +0000
+Subject: [PATCH] Support newer GIFLIB versions
+
+Work with GIFLIB version >= 4.2
+
+Several functions have been renamed or changed in signature.
+
+GIFLIB is used by vo gif89a and demuxer gif.
+
+Note about GIFLIB Version 4.2:
+It does not work with vanilla GIFLIB 4.2 but it works with
+versions that have re-added quantize support like e.g. the
+package from arch linux.
+
+Note about GIFLIB Version 5:
+The newly added GCB functions use size_t but the necessary
+standard headers are not included in gif_lib.h . To workaround
+this:
+
+* configure: use statement_check_broken to include stdlib.h
+* vo gif89: include gif_lib.h after stdlib.h
+* demuxer gif: no workaround needed,
+ gif_lib.h is already included after stdlib.h
+
+
+
+git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36367 b3059339-0415-0410-9bf9-f77b7e298cf2
+---
+ configure | 1 +
+ libmpdemux/demux_gif.c | 44 +++++++++++++++++++++++++++++++++++---------
+ libvo/vo_gif89a.c | 35 ++++++++++++++++++++++++-----------
+ 3 files changed, 61 insertions(+), 21 deletions(-)
+
+diff --git a/configure b/configure
+index e9152a8..4cd378d 100755
+--- a/configure
++++ b/configure
+@@ -4938,6 +4938,7 @@ if test "$_gif" = auto ; then
+ _gif=no
+ for ld_gif in "-lungif" "-lgif" ; do
+ statement_check gif_lib.h 'QuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $ld_gif && _gif=yes && break
++ statement_check_broken stdlib.h gif_lib.h 'GifQuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $ld_gif && _gif=yes && break
+ done
+ fi
+
+
+diff --git a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c
+index 804ce8c..0a11322 100644
+--- a/libmpdemux/demux_gif.c
++++ b/libmpdemux/demux_gif.c
+@@ -45,6 +45,32 @@ typedef struct {
+
+ #define GIF_SIGNATURE (('G' << 16) | ('I' << 8) | 'F')
+
++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
++#define DGifOpen(a, b) DGifOpen(a, b, NULL)
++#define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL)
++#define GifError() (gif ? gif->Error : 0)
++#define GifErrorString() GifErrorString(gif->Error)
++#endif
++
++/* >= 4.2 prior GIFLIB did not have MAJOR/MINOR defines */
++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 4
++static void print_gif_error(GifFileType *gif)
++{
++ int err = GifError();
++ char *err_str = GifErrorString();
++
++ if (err_str)
++ mp_msg(MSGT_DEMUX, MSGL_ERR, "\n[gif] GIF-LIB error: %s.\n", err_str);
++ else
++ mp_msg(MSGT_DEMUX, MSGL_ERR, "\n[gif] GIF-LIB undefined error %d.\n", err);
++}
++#else
++static void print_gif_error(GifFileType *gif)
++{
++ PrintGifError();
++}
++#endif
++
+ #ifndef CONFIG_GIF_TVT_HACK
+ // not supported by certain versions of the library
+ static int my_read_gif(GifFileType *gif, uint8_t *buf, int len)
+@@ -94,14 +120,14 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+
+ while (type != IMAGE_DESC_RECORD_TYPE) {
+ if (DGifGetRecordType(gif, &type) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ return 0; // oops
+ }
+ if (type == TERMINATE_RECORD_TYPE)
+ return 0; // eof
+ if (type == SCREEN_DESC_RECORD_TYPE) {
+ if (DGifGetScreenDesc(gif) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ return 0; // oops
+ }
+ }
+@@ -109,7 +135,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ int code;
+ unsigned char *p = NULL;
+ if (DGifGetExtension(gif, &code, &p) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ return 0; // oops
+ }
+ if (code == 0xF9) {
+@@ -138,7 +164,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ comments[length] = 0;
+ printf("%s", comments);
+ if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ return 0; // oops
+ }
+ }
+@@ -146,7 +172,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ }
+ while (p != NULL) {
+ if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ return 0; // oops
+ }
+ }
+@@ -154,7 +180,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ }
+
+ if (DGifGetImageDesc(gif) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ return 0; // oops
+ }
+
+@@ -167,7 +193,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ memset(dp->buffer, gif->SBackGroundColor, priv->w * priv->h);
+
+ if (DGifGetLine(gif, buf, len) == GIF_ERROR) {
+- PrintGifError();
++ print_gif_error(priv->gif);
+ free(buf);
+ free_demux_packet(dp);
+ return 0; // oops
+@@ -261,7 +287,7 @@ static demuxer_t* demux_open_gif(demuxer_t* demuxer)
+ gif = DGifOpen(demuxer->stream, my_read_gif);
+ #endif
+ if (!gif) {
+- PrintGifError();
++ print_gif_error(NULL);
+ free(priv);
+ return NULL;
+ }
+@@ -303,7 +329,7 @@ static void demux_close_gif(demuxer_t* demuxer)
+ gif_priv_t *priv = demuxer->priv;
+ if (!priv) return;
+ if (priv->gif && DGifCloseFile(priv->gif) == GIF_ERROR)
+- PrintGifError();
++ print_gif_error(priv->gif);
+ free(priv->refimg);
+ free(priv);
+ }
+diff --git a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c
+index b808f81..160291a 100644
+--- a/libvo/vo_gif89a.c
++++ b/libvo/vo_gif89a.c
+@@ -44,13 +44,13 @@
+ * entire argument being interpretted as the filename.
+ */
+
+-#include <gif_lib.h>
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+
++#include <gif_lib.h>
++
+ #include "config.h"
+ #include "subopt-helper.h"
+ #include "video_out.h"
+@@ -69,6 +69,12 @@ static const vo_info_t info = {
+
+ const LIBVO_EXTERN(gif89a)
+
++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
++#define EGifOpenFileName(a, b) EGifOpenFileName(a, b, NULL)
++#define MakeMapObject GifMakeMapObject
++#define FreeMapObject GifFreeMapObject
++#define QuantizeBuffer GifQuantizeBuffer
++#endif
+
+ // how many frames per second we are aiming for during output.
+ static float target_fps;
+@@ -156,7 +162,7 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width,
+ uint32_t d_height, uint32_t flags, char *title,
+ uint32_t format)
+ {
+-#ifdef CONFIG_GIF_4
++#if defined CONFIG_GIF_4 || GIFLIB_MAJOR >= 5
+ // these are control blocks for the gif looping extension.
+ char LB1[] = "NETSCAPE2.0";
+ char LB2[] = { 1, 0, 0 };
+@@ -185,23 +191,25 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width,
+ return 1;
+ }
+
++ new_gif = EGifOpenFileName(gif_filename, 0);
++ if (new_gif == NULL) {
++ mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename);
++ return 1;
++ }
++
++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
++ EGifSetGifVersion(new_gif, 1);
++#elif defined CONFIG_GIF_4
+ // the EGifSetGifVersion line causes segfaults in certain
+ // earlier versions of libungif. i don't know exactly which,
+ // but certainly in all those before v4. if you have problems,
+ // you need to upgrade your gif library.
+-#ifdef CONFIG_GIF_4
+ EGifSetGifVersion("89a");
+ #else
+ mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Your version of libungif needs to be upgraded.\n");
+ mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Some functionality has been disabled.\n");
+ #endif
+
+- new_gif = EGifOpenFileName(gif_filename, 0);
+- if (new_gif == NULL) {
+- mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename);
+- return 1;
+- }
+-
+ slice_data = malloc(img_width * img_height * 3);
+ if (slice_data == NULL) {
+ mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: malloc failed.\n");
+@@ -231,7 +239,12 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width,
+
+ // set the initial width and height info.
+ EGifPutScreenDesc(new_gif, s_width, s_height, 256, 0, reduce_cmap);
+-#ifdef CONFIG_GIF_4
++#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
++ EGifPutExtensionLeader(new_gif, 0xFF);
++ EGifPutExtensionBlock(new_gif, 11, LB1);
++ EGifPutExtensionBlock(new_gif, 3, LB2);
++ EGifPutExtensionTrailer(new_gif);
++#elif defined CONFIG_GIF_4
+ // version 3 of libungif does not support multiple control blocks.
+ // looping requires multiple control blocks.
+ // therefore, looping is only enabled for v4 and up.
+--
+1.7.1
+
diff --git a/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch b/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch
new file mode 100644
index 0000000000..271dce8b59
--- /dev/null
+++ b/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch
@@ -0,0 +1,44 @@
+Support newer GIFLIB versions - Part 2
+
+Adding another patch to fix the problem with new versions of libgif.
+This patch has been sent upstream:
+
+ https://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2015-February/072848.html
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+Support newer GIFLIB versions - Part 2
+
+This patch is necessary because the previous upstream patch is
+incomplete. Without this one, MPlayer will fail to compile displaying
+an error message like this one:
+
+libvo/vo_gif89a.c: In function 'uninit':
+libvo/vo_gif89a.c:374:3: error: too few arguments to function 'EGifCloseFile'
+ EGifCloseFile(new_gif); // also frees gif storage space.
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+
+diff -rup a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c
+--- a/libmpdemux/demux_gif.c 2015-02-13 15:39:56.582310414 +0000
++++ b/libmpdemux/demux_gif.c 2015-02-13 15:48:06.396837922 +0000
+@@ -48,6 +48,7 @@ typedef struct {
+ #if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
+ #define DGifOpen(a, b) DGifOpen(a, b, NULL)
+ #define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL)
++#define DGifCloseFile(a) DGifCloseFile(a, NULL)
+ #define GifError() (gif ? gif->Error : 0)
+ #define GifErrorString() GifErrorString(gif->Error)
+ #endif
+diff -rup a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c
+--- a/libvo/vo_gif89a.c 2015-02-13 15:39:56.631311186 +0000
++++ b/libvo/vo_gif89a.c 2015-02-13 15:45:25.392168294 +0000
+@@ -71,6 +71,7 @@ const LIBVO_EXTERN(gif89a)
+
+ #if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
+ #define EGifOpenFileName(a, b) EGifOpenFileName(a, b, NULL)
++#define EGifCloseFile(a) EGifCloseFile(a, NULL)
+ #define MakeMapObject GifMakeMapObject
+ #define FreeMapObject GifFreeMapObject
+ #define QuantizeBuffer GifQuantizeBuffer
diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk
index 655552c455..279a93dcd8 100644
--- a/package/netsnmp/netsnmp.mk
+++ b/package/netsnmp/netsnmp.mk
@@ -10,7 +10,7 @@ NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz
NETSNMP_LICENSE = Various BSD-like
NETSNMP_LICENSE_FILES = COPYING
NETSNMP_INSTALL_STAGING = YES
-NETSNMP_CONF_ENV = ac_cv_NETSNMP_CAN_USE_SYSCTL=yes
+NETSNMP_CONF_ENV = ac_cv_NETSNMP_CAN_USE_SYSCTL=no
NETSNMP_CONF_OPTS = \
--with-persistent-directory=/var/lib/snmp \
--with-defaults \
diff --git a/package/ntp/0001-fix-ntp-keygen-without-openssl.patch b/package/ntp/0001-fix-ntp-keygen-without-openssl.patch
deleted file mode 100644
index b9883be1ee..0000000000
--- a/package/ntp/0001-fix-ntp-keygen-without-openssl.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-Fix build breakage without openssl.
-From upstream: http://bk1.ntp.org/ntp-stable/?PAGE=patch&REV=5497b345z5MNTuNvJWuqPSje25NQTg
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura ntp-4.2.8.orig/configure.ac ntp-4.2.8/configure.ac
---- ntp-4.2.8.orig/configure.ac 2014-12-22 10:16:10.449311393 -0300
-+++ ntp-4.2.8/configure.ac 2014-12-22 10:17:30.757215905 -0300
-@@ -102,7 +102,7 @@
- enable_nls=no
- LIBOPTS_CHECK_NOBUILD([sntp/libopts])
-
--NTP_ENABLE_LOCAL_LIBEVENT
-+NTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent])
-
- NTP_LIBNTP
-
-@@ -771,6 +771,10 @@
-
- ####
-
-+AC_CHECK_FUNCS([arc4random_buf])
-+
-+####
-+
- saved_LIBS="$LIBS"
- LIBS="$LIBS $LDADD_LIBNTP"
- AC_CHECK_FUNCS([daemon])
-diff -Nura ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c ntp-4.2.8/libntp/ntp_crypto_rnd.c
---- ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c 2014-12-22 10:16:10.430301237 -0300
-+++ ntp-4.2.8/libntp/ntp_crypto_rnd.c 2014-12-22 10:18:04.921468163 -0300
-@@ -24,6 +24,21 @@
- int crypto_rand_init = 0;
- #endif
-
-+#ifndef HAVE_ARC4RANDOM_BUF
-+static void
-+arc4random_buf(void *buf, size_t nbytes);
-+
-+void
-+evutil_secure_rng_get_bytes(void *buf, size_t nbytes);
-+
-+static void
-+arc4random_buf(void *buf, size_t nbytes)
-+{
-+ evutil_secure_rng_get_bytes(buf, nbytes);
-+ return;
-+}
-+#endif
-+
- /*
- * As of late 2014, here's how we plan to provide cryptographic-quality
- * random numbers:
-diff -Nura ntp-4.2.8.orig/Makefile.am ntp-4.2.8/Makefile.am
---- ntp-4.2.8.orig/Makefile.am 2014-12-22 10:16:10.441307117 -0300
-+++ ntp-4.2.8/Makefile.am 2014-12-22 10:16:49.403122474 -0300
-@@ -3,6 +3,7 @@
- NULL =
-
- SUBDIRS = \
-+ sntp \
- scripts \
- include \
- libntp \
-@@ -17,7 +18,6 @@
- clockstuff \
- kernel \
- util \
-- sntp \
- tests \
- $(NULL)
-
-@@ -64,7 +64,6 @@
- .gcc-warning \
- libtool \
- html/.datecheck \
-- sntp/built-sources-only \
- $(srcdir)/COPYRIGHT \
- $(srcdir)/.checkChangeLog \
- $(NULL)
-diff -Nura ntp-4.2.8.orig/sntp/configure.ac ntp-4.2.8/sntp/configure.ac
---- ntp-4.2.8.orig/sntp/configure.ac 2014-12-22 10:16:10.428300168 -0300
-+++ ntp-4.2.8/sntp/configure.ac 2014-12-22 10:24:11.238172928 -0300
-@@ -97,11 +97,14 @@
- enable_nls=no
- LIBOPTS_CHECK
-
--AM_COND_IF(
-- [BUILD_SNTP],
-- [NTP_LIBEVENT_CHECK],
-- [NTP_LIBEVENT_CHECK_NOBUILD]
--)
-+# From when we only used libevent for sntp:
-+#AM_COND_IF(
-+# [BUILD_SNTP],
-+# [NTP_LIBEVENT_CHECK],
-+# [NTP_LIBEVENT_CHECK_NOBUILD]
-+#)
-+
-+NTP_LIBEVENT_CHECK([2])
-
- # Checks for libraries.
-
-diff -Nura ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4 ntp-4.2.8/sntp/m4/ntp_libevent.m4
---- ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4 2014-12-22 10:16:10.417294288 -0300
-+++ ntp-4.2.8/sntp/m4/ntp_libevent.m4 2014-12-22 10:20:31.757915561 -0300
-@@ -1,4 +1,25 @@
--dnl NTP_ENABLE_LOCAL_LIBEVENT -*- Autoconf -*-
-+# SYNOPSIS -*- Autoconf -*-
-+#
-+# NTP_ENABLE_LOCAL_LIBEVENT
-+# NTP_LIBEVENT_CHECK([MINVERSION [, DIR]])
-+# NTP_LIBEVENT_CHECK_NOBUILD([MINVERSION [, DIR]])
-+#
-+# DESCRIPTION
-+#
-+# AUTHOR
-+#
-+# Harlan Stenn
-+#
-+# LICENSE
-+#
-+# This file is Copyright (c) 2014 Network Time Foundation
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice,
-+# author attribution and this notice are preserved. This file is offered
-+# as-is, without any warranty.
-+
-+dnl NTP_ENABLE_LOCAL_LIBEVENT
- dnl
- dnl Provide only the --enable-local-libevent command-line option.
- dnl
-@@ -29,7 +50,7 @@
- dnl but DO NOT invoke DIR/configure if we are going to use our bundled
- dnl version. This may be the case for nested packages.
- dnl
--dnl provide --enable-local-libevent .
-+dnl provides --enable-local-libevent .
- dnl
- dnl Examples:
- dnl
-diff -Nura ntp-4.2.8.orig/util/Makefile.am ntp-4.2.8/util/Makefile.am
---- ntp-4.2.8.orig/util/Makefile.am 2014-12-22 10:16:10.435303910 -0300
-+++ ntp-4.2.8/util/Makefile.am 2014-12-22 10:21:02.500339706 -0300
-@@ -19,6 +19,7 @@
- LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
- tg2_LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM)
- ntp_keygen_LDADD = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a
-+ntp_keygen_LDADD += $(LDADD_LIBEVENT)
- ntp_keygen_LDADD += $(LDADD_LIBNTP) $(PTHREAD_LIBS) $(LDADD_NTP) $(LIBM)
- ntp_keygen_SOURCES = ntp-keygen.c ntp-keygen-opts.c ntp-keygen-opts.h
-
diff --git a/package/ntp/0001-nano.patch b/package/ntp/0001-nano.patch
new file mode 100644
index 0000000000..bce3478261
--- /dev/null
+++ b/package/ntp/0001-nano.patch
@@ -0,0 +1,28 @@
+Fixes issues with glibc header files, see
+http://bugs.gentoo.org/show_bug.cgi?id=270483
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+Rebase to apply cleanly.
+
+Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
+
+
+diff -purN a/include/ntp_syscall.h b/include/ntp_syscall.h
+--- a/include/ntp_syscall.h 2015-02-11 08:42:37.794576469 -0500
++++ b/include/ntp_syscall.h 2015-02-11 08:43:03.216957279 -0500
+@@ -10,6 +10,14 @@
+ # include <sys/timex.h>
+ #endif
+
++#if defined(ADJ_NANO) && !defined(MOD_NANO)
++#define MOD_NANO ADJ_NANO
++#endif
++
++#if defined(ADJ_TAI) && !defined(MOD_TAI)
++#define MOD_TAI ADJ_TAI
++#endif
++
+ #ifndef NTP_SYSCALLS_LIBC
+ # ifdef NTP_SYSCALLS_STD
+ # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t))
diff --git a/package/ntp/0002-nano.patch b/package/ntp/0002-nano.patch
deleted file mode 100644
index d16046cb03..0000000000
--- a/package/ntp/0002-nano.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fixes issues with glibc header files, see
-http://bugs.gentoo.org/show_bug.cgi?id=270483
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura ntp-4.2.6p2.orig/include/ntp_syscall.h ntp-4.2.6p2/include/ntp_syscall.h
---- ntp-4.2.6p2.orig/include/ntp_syscall.h 2009-12-09 04:36:37.000000000 -0300
-+++ ntp-4.2.6p2/include/ntp_syscall.h 2011-01-27 13:09:05.072336628 -0300
-@@ -14,6 +14,14 @@
- # include <sys/timex.h>
- #endif
-
-+#if defined(ADJ_NANO) && !defined(MOD_NANO)
-+#define MOD_NANO ADJ_NANO
-+#endif
-+
-+#if defined(ADJ_TAI) && !defined(MOD_TAI)
-+#define MOD_TAI ADJ_TAI
-+#endif
-+
- #ifndef NTP_SYSCALLS_LIBC
- #ifdef NTP_SYSCALLS_STD
- # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t))
diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash
index 1d1b907adb..8336be8dc2 100644
--- a/package/ntp/ntp.hash
+++ b/package/ntp/ntp.hash
@@ -1,2 +1,2 @@
-# From http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8.tar.gz.md5
-md5 6972a626be6150db8cfbd0b63d8719e7 ntp-4.2.8.tar.gz
+# From http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p1.tar.gz.md5
+md5 65d8cdfae4722226fbe29863477641ed ntp-4.2.8p1.tar.gz
diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index 3a1a917575..7d5644a902 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -5,11 +5,9 @@
################################################################################
NTP_VERSION_MAJOR = 4.2
-NTP_VERSION = $(NTP_VERSION_MAJOR).8
+NTP_VERSION = $(NTP_VERSION_MAJOR).8p1
NTP_SITE = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR)
NTP_DEPENDENCIES = host-pkgconf libevent
-# For 0001-fix-ntp-keygen-without-openssl.patch
-NTP_AUTORECONF = YES
NTP_LICENSE = ntp license
NTP_LICENSE_FILES = COPYRIGHT
NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no
diff --git a/package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch b/package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch
new file mode 100644
index 0000000000..e20ab002d7
--- /dev/null
+++ b/package/opentyrian/0001-mingw_fixes-don-t-redefine-strchrnul-for-unix-system.patch
@@ -0,0 +1,42 @@
+From 1c64c2d103c9356750a3d3b559068329bb0c7e3c Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Fri, 20 Feb 2015 00:29:47 +0100
+Subject: [PATCH] mingw_fixes: don't redefine strchrnul for unix system
+
+On bfin architecture all symbols are prefixed with a underscore '_', hence a
+conflict with the _strchrnul symbole from mingw_fixes.c and the one from uClibc.
+
+Path/to/sysroot/usr/lib/libc.a(strchrnul.o): In function `*___GI_strchrnul':
+Path/to/uClibc/libc/string/generic/strchrnul.c:33: multiple definition of `_strchrnul'
+obj/mingw_fixes.o:src/mingw_fixes.c:(.text+0x0): first defined here
+
+Since mingw_fixes.c is intended for WIN32 system, add a guard around strchrnul function
+and use the one defined from string.h.
+
+Fixes:
+http://autobuild.buildroot.net/results/a08/a085fb55269971e3c7b8ae8c167e7330c3c042a5/
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ src/mingw_fixes.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/mingw_fixes.c b/src/mingw_fixes.c
+index d734438..2f4069e 100644
+--- a/src/mingw_fixes.c
++++ b/src/mingw_fixes.c
+@@ -18,9 +18,11 @@
+ */
+ #include "mingw_fixes.h"
+
++#ifndef TARGET_UNIX
+ char *strchrnul( const char *s, int c )
+ {
+ for (; *s != c && *s != '\0'; ++s)
+ ;
+ return (char *)s;
+ }
++#endif
+--
+1.9.3
+
diff --git a/package/openvmtools/0006-ip_route_config.patch b/package/openvmtools/0006-ip_route_config.patch
new file mode 100644
index 0000000000..2396413f1e
--- /dev/null
+++ b/package/openvmtools/0006-ip_route_config.patch
@@ -0,0 +1,27 @@
+Patch from Fedora:
+
+http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/commit/?id=f86513592cdc468f9af24c7ed29daae48e2cd26e
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+
+--- open-vm-tools-9.4.6-1770165/configure.ac.orig 2015-02-03 18:42:39.431466158 -0800
++++ open-vm-tools-9.4.6-1770165/configure.ac 2015-02-03 18:43:15.338468630 -0800
+@@ -1032,7 +1032,7 @@
+ AM_CONDITIONAL(HAVE_GNU_LD, test "$with_gnu_ld" = "yes")
+ AM_CONDITIONAL(HAVE_GTKMM, test "$have_x" = "yes" -a "$with_gtkmm" = "yes")
+ AM_CONDITIONAL(HAVE_PAM, test "$with_pam" = "yes")
+-AM_CONDITIONAL(USE_SLASH_PROC, test "os" = "linux" -a "$have_glib_2_14" = "yes")
++AM_CONDITIONAL(USE_SLASH_PROC, test "$os" = "linux" -a "$have_glib_2_14" = "yes")
+ AM_CONDITIONAL(USE_PRINTF_WRAPPERS, test "$bsdPrintfWrappers" = "yes")
+
+ if test "$have_xsm" != "yes"; then
+--- open-vm-tools-9.4.6-1770165/services/plugins/guestInfo/getlib/Makefile.am.orig 2015-02-03 18:48:55.528772952 -0800
++++ open-vm-tools-9.4.6-1770165/services/plugins/guestInfo/getlib/Makefile.am 2015-02-03 18:52:51.597199001 -0800
+@@ -28,4 +28,6 @@
+ libGuestInfo_la_CPPFLAGS += -I$(srcdir)/..
+
+ AM_CFLAGS = $(DNET_CPPFLAGS)
+-
++if USE_SLASH_PROC
++AM_CFLAGS += -DUSE_SLASH_PROC
++endif
diff --git a/package/openvmtools/0007-sizeof_argument.patch b/package/openvmtools/0007-sizeof_argument.patch
new file mode 100644
index 0000000000..ec2a3f64e2
--- /dev/null
+++ b/package/openvmtools/0007-sizeof_argument.patch
@@ -0,0 +1,18 @@
+Patch from Fedora:
+
+http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/commit/sizeof_argument.patch?id=3031fb5279096189aeb50d197b02313c12d701f3
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+
+--- open-vm-tools-9.4.6-1770165.orig/lib/syncDriver/syncDriverPosix.c 2014-07-15 13:42:21.043818478 -0700
++++ open-vm-tools-9.4.6-1770165/lib/syncDriver/syncDriverPosix.c 2014-07-15 13:55:41.724103304 -0700
+@@ -72,8 +72,7 @@
+ size_t i;
+
+ for (i = 0; i < ARRAYSIZE(gRemoteFSTypes); i++) {
+- if (Str_Strncmp(fsType, gRemoteFSTypes[i],
+- sizeof gRemoteFSTypes[i]) == 0) {
++ if (Str_Strcmp(gRemoteFSTypes[i], fsType) == 0) {
+ return TRUE;
+ }
+ }
diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk
index 7aa04afa2e..e0ec6d6b34 100644
--- a/package/openvmtools/openvmtools.mk
+++ b/package/openvmtools/openvmtools.mk
@@ -22,7 +22,9 @@ OPENVMTOOLS_DEPENDENCIES += libfuse
endif
ifeq ($(BR2_PACKAGE_OPENVMTOOLS_PROCPS),y)
-OPENVMTOOLS_CONF_ENV += CUSTOM_PROCPS_NAME=procps
+# Set CUSTOM_PROCPS_LIBS to " " otherwise -L/lib is used by default.
+OPENVMTOOLS_CONF_ENV += CUSTOM_PROCPS_NAME=procps \
+ CUSTOM_PROCPS_LIBS=" "
OPENVMTOOLS_CONF_OPTS += --with-procps
OPENVMTOOLS_DEPENDENCIES += procps-ng
else
diff --git a/package/opus/opus.hash b/package/opus/opus.hash
new file mode 100644
index 0000000000..9c4e34dd7d
--- /dev/null
+++ b/package/opus/opus.hash
@@ -0,0 +1,2 @@
+# From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt
+sha256 b9727015a58affcf3db527322bf8c4d2fcf39f5f6b8f15dbceca20206cbe1d95 opus-1.1.tar.gz
diff --git a/package/php/php.hash b/package/php/php.hash
index cd27b1020f..f8a1715f5c 100644
--- a/package/php/php.hash
+++ b/package/php/php.hash
@@ -1,2 +1,2 @@
# From http://php.net/downloads.php
-md5 79664ce44f7c93f355a25a3fe3dcc91b php-5.5.21.tar.xz
+md5 fb1704131d495f5b3e6ab3b087a8dbe6 php-5.5.22.tar.xz
diff --git a/package/php/php.mk b/package/php/php.mk
index 4bcbe1866d..dd52508cc8 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PHP_VERSION = 5.5.21
+PHP_VERSION = 5.5.22
PHP_SITE = http://www.php.net/distributions
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
PHP_INSTALL_STAGING = YES
diff --git a/package/pinentry/pinentry.mk b/package/pinentry/pinentry.mk
index f34cc0e107..c4d83ee809 100644
--- a/package/pinentry/pinentry.mk
+++ b/package/pinentry/pinentry.mk
@@ -21,7 +21,7 @@ endif
# pinentry-ncurses backend
ifeq ($(BR2_PACKAGE_PINENTRY_NCURSES),y)
-PINENTRY_CONF_OPTS += --enable-ncurses
+PINENTRY_CONF_OPTS += --enable-ncurses --with-ncurses-include-dir=none
PINENTRY_DEPENDENCIES += ncurses
else
PINENTRY_CONF_OPTS += --disable-ncurses
diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
index 958639ffe8..2404c40122 100644
--- a/package/pkg-cmake.mk
+++ b/package/pkg-cmake.mk
@@ -218,7 +218,7 @@ endif
ifeq ($(BR2_arm),y)
CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT)l
else ifeq ($(BR2_armeb),y)
-CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSORARM_VARIANT)b
+CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT)b
else
CMAKE_SYSTEM_PROCESSOR = $(BR2_ARCH)
endif
diff --git a/package/pkg-rebar.mk b/package/pkg-rebar.mk
index 620316dc03..75facd55a3 100644
--- a/package/pkg-rebar.mk
+++ b/package/pkg-rebar.mk
@@ -43,7 +43,7 @@ REBAR_TARGET_DEPS_ENV = \
# Install an Erlang application from $(@D).
#
-# i.e., define a recipe that installs the "ebin priv $(2)" directories
+# i.e., define a recipe that installs the "bin ebin priv $(2)" directories
# from $(@D) to $(1)$($(PKG)_ERLANG_LIBDIR).
#
# argument 1 should typically be $(HOST_DIR), $(TARGET_DIR),
@@ -57,7 +57,7 @@ REBAR_TARGET_DEPS_ENV = \
#
define install-erlang-directories
$(INSTALL) -d $(1)/$($(PKG)_ERLANG_LIBDIR)
- for dir in ebin priv $(2); do \
+ for dir in bin ebin priv $(2); do \
if test -d $(@D)/$$dir; then \
cp -r $(@D)/$$dir $(1)$($(PKG)_ERLANG_LIBDIR); \
fi; \
@@ -74,7 +74,7 @@ endef
# For target packages for example, one uses this to setup symbolic
# links from $(STAGING_DIR)/usr/share/rebar/deps/<erlang-app> to
# $(STAGING_DIR)/usr/lib/erlang/lib/<erlang-app>-<version>. This
-# infrastructure points rebar at the former in order to tell rebar do
+# infrastructure points rebar at the former in order to tell rebar to
# NOT download dependencies during the build stage, and instead use
# the already available dependencies.
#
@@ -195,7 +195,7 @@ $(2)_DEPENDENCIES ?= $$(filter-out host-automake host-autoconf host-libtool \
host-gettext host-toolchain host-erlang-rebar $(1),\
$$(patsubst host-host-%,host-%,$$(addprefix host-,$$($(3)_DEPENDENCIES))))
else
-# Same deal, if _USE_BUNLDED_REBAR is NO.
+# Same deal, if _USE_BUNDLED_REBAR is NO.
$(2)_DEPENDENCIES ?= $$(filter-out host-toolchain host-erlang-rebar $(1),\
$$(patsubst host-host-%,host-%,$$(addprefix host-,$$($(3)_DEPENDENCIES))))
endif
@@ -209,7 +209,7 @@ $(2)_CONF_ENV += $$(REBAR_HOST_DEPS_ENV)
ifndef $(2)_BUILD_CMDS
define $(2)_BUILD_CMDS
(cd $$(@D); \
- CC="$$(HOST_CC)" \
+ CC="$$(HOSTCC)" \
CFLAGS="$$(HOST_CFLAGS)" \
LDFLAGS="$$(HOST_LDFLAGS)" \
$$(REBAR_HOST_DEPS_ENV) \
diff --git a/package/polarssl/0003-fix-CVE-2015-1182.patch b/package/polarssl/0003-fix-CVE-2015-1182.patch
deleted file mode 100644
index 9309c9d281..0000000000
--- a/package/polarssl/0003-fix-CVE-2015-1182.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix CVE-2015-1182 - Remote attack using crafted certificates.
-Patch status: from upstream see:
-https://polarssl.org/tech-updates/security-advisories/polarssl-security-advisory-2014-04
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff --git a/library/asn1parse.c b/library/asn1parse.c
-index a3a2b56..e2117bf 100644
---- a/library/asn1parse.c
-+++ b/library/asn1parse.c
-@@ -278,6 +278,8 @@ int asn1_get_sequence_of( unsigned char **p,
- if( cur->next == NULL )
- return( POLARSSL_ERR_ASN1_MALLOC_FAILED );
-
-+ memset( cur->next, 0, sizeof( asn1_sequence ) );
-+
- cur = cur->next;
- }
- }
diff --git a/package/polarssl/polarssl.hash b/package/polarssl/polarssl.hash
index 9769788724..d68185b944 100644
--- a/package/polarssl/polarssl.hash
+++ b/package/polarssl/polarssl.hash
@@ -1,2 +1,2 @@
-# From https://polarssl.org/tech-updates/releases/polarssl-1.2.12-released
-sha256 63dd60e78d25c438648607bb177b063dcf5fbf3ced9ee794fcb165d101940131 polarssl-1.2.12-gpl.tgz
+# From https://polarssl.org/tech-updates/releases/polarssl-1.2.13-released
+sha256 62f44f2a9f39b5cefb229e5dd2644ca20ead477cb1843d6ff30671624315b021 polarssl-1.2.13-gpl.tgz
diff --git a/package/polarssl/polarssl.mk b/package/polarssl/polarssl.mk
index 046c6bfd0c..83e18514dd 100644
--- a/package/polarssl/polarssl.mk
+++ b/package/polarssl/polarssl.mk
@@ -5,7 +5,7 @@
################################################################################
POLARSSL_SITE = https://polarssl.org/code/releases
-POLARSSL_VERSION = 1.2.12
+POLARSSL_VERSION = 1.2.13
POLARSSL_SOURCE = polarssl-$(POLARSSL_VERSION)-gpl.tgz
POLARSSL_CONF_OPTS = \
-DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_POLARSSL_PROGRAMS),ON,OFF)
diff --git a/package/python3/018-ncursesw-remove-wrong-includedir.patch b/package/python3/018-ncursesw-remove-wrong-includedir.patch
new file mode 100644
index 0000000000..ae87bbf7fa
--- /dev/null
+++ b/package/python3/018-ncursesw-remove-wrong-includedir.patch
@@ -0,0 +1,21 @@
+Do not harcode invalid path to ncursesw headers
+
+Adding /usr/include/ncursesw is obviously invalid when
+cross-compiling. Since the ncursesw headers are no longer installed in
+usr/include/ncursesw/, but directly in usr/include, there is anyway no
+need for a special header path.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/setup.py
+===================================================================
+--- a/setup.py
++++ b/setup.py
+@@ -1287,7 +1287,6 @@
+ panel_library = 'panel'
+ if curses_library == 'ncursesw':
+ curses_defines.append(('HAVE_NCURSESW', '1'))
+- curses_includes.append('/usr/include/ncursesw')
+ # Bug 1464056: If _curses.so links with ncursesw,
+ # _curses_panel.so must link with panelw.
+ panel_library = 'panelw'
diff --git a/package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch b/package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch
new file mode 100644
index 0000000000..053d4296e7
--- /dev/null
+++ b/package/qt5/qt5base/0006-configure-fix-gold-linker-support-detection.patch
@@ -0,0 +1,36 @@
+From 6e750053cd6d183173a4c39f2b1080b3c9814d76 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <peter@korsgaard.com>
+Date: Sun, 15 Feb 2015 22:58:07 +0100
+Subject: [PATCH] configure: fix gold linker support detection
+
+Submitted upstream: https://bugreports.qt.io/browse/QTBUG-44487
+
+While the -fuse-ld=gold flag is related to linking, it is an argument to the
+compiler driver to tell it what linker to execute, NOT an option to tell the
+linker to behave differently.
+
+So it shouldn't get prefixed with -Wl when passed though the compiler driver.
+
+Fixes http://autobuild.buildroot.net/results/92c/92c3fb4ddb934115b228652bb8c972bb7459bb40/
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 043d9fc..987d7f0 100755
+--- a/configure
++++ b/configure
+@@ -3263,7 +3263,7 @@ fi
+
+ # auto-detect -fuse-ld=gold support
+ if [ "$CFG_USE_GOLD_LINKER" != "no" ]; then
+- if linkerSupportsFlag $TEST_COMPILER -fuse-ld=gold; then
++ if compilerSupportsFlag $TEST_COMPILER -fuse-ld=gold; then
+ CFG_USE_GOLD_LINKER=yes
+ else
+ if [ "$CFG_USE_GOLD_LINKER" = "yes" ]; then
+--
+2.1.3
+
diff --git a/package/qt5/qt5base/0007-configure-add-psql_config-option.patch b/package/qt5/qt5base/0007-configure-add-psql_config-option.patch
new file mode 100644
index 0000000000..7561314432
--- /dev/null
+++ b/package/qt5/qt5base/0007-configure-add-psql_config-option.patch
@@ -0,0 +1,60 @@
+From 95f2e4001f9c1721cbdb26d3f9c38511adae9c4b Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Thu, 19 Feb 2015 22:41:02 +0100
+Subject: [PATCH] configure: add '-psql_config' option
+
+Allow setting of pg_config path for cross compilation (do
+the same as for mysql_config).
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ configure | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 0c66ecf..a832ae3 100755
+--- a/configure
++++ b/configure
+@@ -578,6 +578,7 @@ CFG_WIDGETS=yes
+ CFG_QCONFIG=full
+ CFG_DEBUG=auto
+ CFG_MYSQL_CONFIG=
++CFG_PSQL_CONFIG=
+ CFG_DEBUG_RELEASE=no
+ CFG_FORCEDEBUGINFO=no
+ CFG_SHARED=yes
+@@ -885,6 +886,7 @@ while [ "$#" -gt 0 ]; do
+ -arch| \
+ -host-arch| \
+ -mysql_config| \
++ -psql_config| \
+ -qpa| \
+ -qconfig| \
+ -qreal| \
+@@ -1066,6 +1068,9 @@ while [ "$#" -gt 0 ]; do
+ mysql_config)
+ CFG_MYSQL_CONFIG="$VAL"
+ ;;
++ psql_config)
++ CFG_PSQL_CONFIG="$VAL"
++ ;;
+ prefix)
+ QT_INSTALL_PREFIX="$VAL"
+ ;;
+@@ -4369,10 +4374,11 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
+ ;;
+ psql)
+ if [ "$CFG_SQL_psql" != "no" ]; then
++ [ -z "$CFG_PSQL_CONFIG" ] && CFG_PSQL_CONFIG=`"$WHICH" pg_config`
+ # Be careful not to use native pg_config when cross building.
+ if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
+- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null | filterIncludePath`
+- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null | filterLibraryPath`
++ QT_CFLAGS_PSQL=`$CFG_PSQL_CONFIG --includedir 2>/dev/null | filterIncludePath`
++ QT_LFLAGS_PSQL=`$CFG_PSQL_CONFIG --libdir 2>/dev/null | filterLibraryPath`
+ fi
+ [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
+ [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
+--
+2.1.4
+
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index aaf4da07f6..4d344feba2 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -67,8 +67,7 @@ QT5BASE_CONFIGURE_OPTS += -no-sql-mysql
endif
ifeq ($(BR2_PACKAGE_QT5BASE_PSQL),y)
-QT5BASE_CONFIGURE_OPTS += -plugin-sql-psql
-QT5BASE_CONFIGURE_ENV += PSQL_LIBS=-L$(STAGING_DIR)/usr/lib
+QT5BASE_CONFIGURE_OPTS += -plugin-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config
QT5BASE_DEPENDENCIES += postgresql
else
QT5BASE_CONFIGURE_OPTS += -no-sql-psql
diff --git a/package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch b/package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch
new file mode 100644
index 0000000000..fc4be10553
--- /dev/null
+++ b/package/qt5/qt5connectivity/0002-bluez_data_p.h-Add-missing-include-byteswap.h.patch
@@ -0,0 +1,46 @@
+bluez_data_p.h: Add missing "#include <byteswap.h>"
+
+This patch has been submitted upstream:
+
+ https://bugreports.qt.io/browse/QTBUG-44421
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From 1e219701c61cdedf0e8cfda542ee2485f5fd059a Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Wed, 11 Feb 2015 18:11:05 +0000
+Subject: [PATCH] bluez_data_p.h: Add missing "#include <byteswap.h>"
+
+Building qtconnectivity fails for big endian platforms because the
+bswap_16 function is not declared. This is the error message:
+
+In file included from bluez/hcimanager_p.h:52:0,
+ from bluez/hcimanager.cpp:35:
+./bluez/bluez_data_p.h: In function 'quint16 bt_get_le16(const void*)':
+./bluez/bluez_data_p.h:172:60: error: 'bswap_16' was not declared in
+this scope
+ return bswap_16(bt_get_unaligned((const quint16 *) ptr));
+
+bswap_16 is defined in byteswap.h so we can include this file in order
+to fix this problem.
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+ src/bluetooth/bluez/bluez_data_p.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/src/bluetooth/bluez/bluez_data_p.h b/src/bluetooth/bluez/bluez_data_p.h
+index 9d2d96b..64c90dd 100644
+--- a/src/bluetooth/bluez/bluez_data_p.h
++++ b/src/bluetooth/bluez/bluez_data_p.h
+@@ -48,6 +48,7 @@
+ #include <QtCore/qglobal.h>
+ #include <sys/socket.h>
+ #include <QtBluetooth/QBluetoothUuid>
++#include <byteswap.h>
+
+ #define BTPROTO_L2CAP 0
+ #define BTPROTO_HCI 1
+--
+1.7.1
+
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 1db1f0ed01..cbcf790095 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -4,7 +4,7 @@
#
################################################################################
-RPI_FIRMWARE_VERSION = 69b787b2cf9d1ba19bb018d74549699aeae075fb
+RPI_FIRMWARE_VERSION = b9fac65dd9ff607d0c2c4ea1bbba2bbf3fbc4a10
RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION))
RPI_FIRMWARE_LICENSE = BSD-3c
RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
@@ -12,6 +12,7 @@ RPI_FIRMWARE_INSTALL_TARGET = NO
RPI_FIRMWARE_INSTALL_IMAGES = YES
RPI_FIRMWARE_DEPENDENCIES += host-rpi-firmware
+
define RPI_FIRMWARE_INSTALL_DTB
$(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b.dtb
$(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b-plus.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b-plus.dtb
diff --git a/package/samba/samba.hash b/package/samba/samba.hash
new file mode 100644
index 0000000000..3a8581a3f2
--- /dev/null
+++ b/package/samba/samba.hash
@@ -0,0 +1,2 @@
+# Locally calculated after checking pgp signature
+sha256 8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751 samba-3.6.25.tar.gz
diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index d25e94eba2..064bfd1c23 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SAMBA_VERSION = 3.6.24
+SAMBA_VERSION = 3.6.25
SAMBA_SITE = http://ftp.samba.org/pub/samba/stable
SAMBA_SUBDIR = source3
SAMBA_INSTALL_STAGING = YES
diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash
index bff18a886e..721c3dc36c 100644
--- a/package/samba4/samba4.hash
+++ b/package/samba4/samba4.hash
@@ -1,2 +1,2 @@
# Locally calculated after checking pgp signature
-sha256 12a09c167bfa25f50b82775bcbeda94c71c5d71d3b0d1210f6dae0f23020a87b samba-4.1.16.tar.gz
+sha256 7aeb5d09e9c84bbeeb4b98d33404e9dbc4d99c54e64a447cc9c4d57e9255cb1d samba-4.1.17.tar.gz
diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk
index 4239b42362..bd8ed1234b 100644
--- a/package/samba4/samba4.mk
+++ b/package/samba4/samba4.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SAMBA4_VERSION = 4.1.16
+SAMBA4_VERSION = 4.1.17
SAMBA4_SITE = http://ftp.samba.org/pub/samba/stable
SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz
SAMBA4_LICENSE = GPLv3+
diff --git a/package/shared-mime-info/shared-mime-info.mk b/package/shared-mime-info/shared-mime-info.mk
index 978cd3157b..80a952687f 100644
--- a/package/shared-mime-info/shared-mime-info.mk
+++ b/package/shared-mime-info/shared-mime-info.mk
@@ -9,13 +9,14 @@ SHARED_MIME_INFO_SOURCE = shared-mime-info-$(SHARED_MIME_INFO_VERSION).tar.bz2
SHARED_MIME_INFO_SITE = http://freedesktop.org/~hadess
SHARED_MIME_INFO_INSTALL_STAGING = YES
SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/usr/bin/xmllint
-SHARED_MIME_INFO_DEPENDENCIES = host-pkgconf host-libglib2 host-libxml2 host-shared-mime-info libxml2 libglib2
+SHARED_MIME_INFO_DEPENDENCIES = host-shared-mime-info libxml2 libglib2
SHARED_MIME_INFO_CONF_OPTS = --disable-update-mimedb
SHARED_MIME_INFO_MAKE = $(MAKE1)
SHARED_MIME_INFO_LICENSE = GPLv2
SHARED_MIME_INFO_LICENSE_FILES = COPYING
-HOST_SHARED_MIME_INFO_DEPENDENCIES = host-pkgconf host-intltool
+HOST_SHARED_MIME_INFO_DEPENDENCIES = \
+ host-pkgconf host-intltool host-libxml2 host-libglib2
HOST_SHARED_MIME_INFO_CONF_OPTS = --disable-update-mimedb
HOST_SHARED_MIME_INFO_MAKE = $(MAKE1)
diff --git a/package/sudo/0001-make-signame-include-unistd_h.patch b/package/sudo/0001-make-signame-include-unistd_h.patch
new file mode 100644
index 0000000000..234cd716f0
--- /dev/null
+++ b/package/sudo/0001-make-signame-include-unistd_h.patch
@@ -0,0 +1,20 @@
+signame.c uses sudo_compat.h which in turn uses gid_t definitions
+that are normally defined in unistd.h.
+This doesn't seem to cause issues with (e)glibc systems, but it does break
+uClibc-based builds.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura sudo-1.8.12.orig/lib/util/mksigname.c sudo-1.8.12/lib/util/mksigname.c
+--- sudo-1.8.12.orig/lib/util/mksigname.c 2015-02-09 15:40:10.000000000 -0300
++++ sudo-1.8.12/lib/util/mksigname.c 2015-02-17 09:20:05.126701093 -0300
+@@ -44,6 +44,9 @@
+
+ printf("#include <config.h>\n");
+ printf("#include <signal.h>\n");
++ printf("#ifdef HAVE_UNISTD_H\n");
++ printf("#include <unistd.h>\n");
++ printf("#endif /* HAVE_UNISTD_H */\n");
+ printf("#include \"sudo_compat.h\"\n\n");
+ printf("const char *const sudo_sys_signame[NSIG] = {\n");
+ for (i = 0; i < NSIG; i++) {
diff --git a/package/sudo/0001-no-netgroup.patch b/package/sudo/0001-no-netgroup.patch
deleted file mode 100644
index 64b870c67a..0000000000
--- a/package/sudo/0001-no-netgroup.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# HG changeset patch
-# User Todd C. Miller <Todd.Miller@courtesan.com>
-# Date 1406550172 21600
-# Node ID 57deb66ef8ffc0f551d460e15a34f7df78f54d2a
-# Parent f547bf80c436c07ddb1c7385d22db96862ae7e4f
-Fix compilation on systems w/o netgroups.
-
-Status: upstream
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -r f547bf80c436 -r 57deb66ef8ff plugins/sudoers/match.c
---- a/plugins/sudoers/match.c Sat Jul 26 06:07:34 2014 -0600
-+++ b/plugins/sudoers/match.c Mon Jul 28 06:22:52 2014 -0600
-@@ -972,12 +972,12 @@
- rc = true;
- else if (lhost != shost && innetgr(netgr, shost, user, domain))
- rc = true;
--#endif /* HAVE_INNETGR */
-
- sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO,
- "netgroup %s matches (%s|%s, %s, %s): %s", netgr, lhost ? lhost : "",
- shost ? shost : "", user ? user : "", domain ? domain : "",
- rc ? "true" : "false");
-+#endif /* HAVE_INNETGR */
-
- debug_return_bool(rc);
- }
-
diff --git a/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch b/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch
deleted file mode 100644
index 9f09656d19..0000000000
--- a/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Don't use SSP_CFLAGS and PIE_CFLAGS for host tools.
-http://www.sudo.ws/bugs/show_bug.cgi?id=662
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura sudo-1.8.10p3.orig/compat/Makefile.in sudo-1.8.10p3/compat/Makefile.in
---- sudo-1.8.10p3.orig/compat/Makefile.in 2014-03-07 18:51:19.000000000 -0300
-+++ sudo-1.8.10p3/compat/Makefile.in 2014-09-20 07:29:30.913108029 -0300
-@@ -96,10 +96,10 @@
- ./mksigname > $@
-
- mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/missing.h $(top_builddir)/config.h
-- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
-+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
-
- mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/missing.h $(top_builddir)/config.h
-- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@
-+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@
-
- fnm_test: fnm_test.o libreplace.la
- $(LIBTOOL) --mode=link $(CC) -o $@ fnm_test.o libreplace.la $(PIE_LDFLAGS) $(SSP_LDFLAGS)
diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash
index ba657730b6..4f4df16c07 100644
--- a/package/sudo/sudo.hash
+++ b/package/sudo/sudo.hash
@@ -1,3 +1,2 @@
-# From announcement http://www.sudo.ws/pipermail/sudo-announce/2014-May/000132.html
-md5 fcd8d0d9f9f0397d076ee901e242ed39 sudo-1.8.10p3.tar.gz
-sha256 6eda135fa68163108f1c24de6975de5ddb09d75730bb62d6390bda7b04345400 sudo-1.8.10p3.tar.gz
+# From http://www.sudo.ws/pipermail/sudo-announce/2015-February/000136.html
+sha256 163b51841de8ad19276581a6782d61f5948f1f72a0a843371a1c167d3dc4f3b0 sudo-1.8.12.tar.gz
diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk
index dafd717ff5..3048557364 100644
--- a/package/sudo/sudo.mk
+++ b/package/sudo/sudo.mk
@@ -4,13 +4,12 @@
#
################################################################################
-SUDO_VERSION = 1.8.10p3
+SUDO_VERSION = 1.8.12
SUDO_SITE = http://www.sudo.ws/sudo/dist
SUDO_LICENSE = ISC BSD-3c
SUDO_LICENSE_FILES = doc/LICENSE
-# Ships a beta libtool version hence our patch doesn't apply.
-# Run autoreconf to regenerate ltmain.sh.
-SUDO_AUTORECONF = YES
+# This is to avoid sudo's make install from chown()ing files which fails
+SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install
SUDO_CONF_OPTS = \
--without-lecture \
--without-sendmail \
@@ -23,8 +22,8 @@ SUDO_CONF_OPTS = \
# mksigname/mksiglist needs to run on build host to generate source files
define SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST
$(MAKE) $(HOST_CONFIGURE_OPTS) \
- CPPFLAGS="$(HOST_CPPFLAGS) -I../include -I.." \
- -C $(@D)/compat mksigname mksiglist
+ CPPFLAGS="$(HOST_CPPFLAGS) -I../../include -I../.." \
+ -C $(@D)/lib/util mksigname mksiglist
endef
SUDO_POST_CONFIGURE_HOOKS += SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index c33e08eb93..0c818b9815 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -221,6 +221,7 @@ config BR2_PACKAGE_UTIL_LINUX_SETPRIV
config BR2_PACKAGE_UTIL_LINUX_SETTERM
bool "setterm"
+ select BR2_PACKAGE_NCURSES
help
Set terminal attributes
@@ -231,6 +232,7 @@ config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
config BR2_PACKAGE_UTIL_LINUX_UL
bool "ul"
+ select BR2_PACKAGE_NCURSES
help
Do underlining
diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash
new file mode 100644
index 0000000000..718a0e6cda
--- /dev/null
+++ b/package/vlc/vlc.hash
@@ -0,0 +1,2 @@
+# From http://get.videolan.org/vlc/2.1.6/vlc-2.1.6.tar.xz.sha256
+sha256 1b76cf4b96e18cf224d21b91343f7e579790c5d3e499c8a230f53da695687c04 vlc-2.1.6.tar.xz
diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
index 9d99de636f..56006b5b46 100644
--- a/package/vlc/vlc.mk
+++ b/package/vlc/vlc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-VLC_VERSION = 2.1.5
+VLC_VERSION = 2.1.6
VLC_SITE = http://get.videolan.org/vlc/$(VLC_VERSION)
VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz
VLC_LICENSE = GPLv2+ LGPLv2.1+
diff --git a/package/vorbis-tools/vorbis-tools.hash b/package/vorbis-tools/vorbis-tools.hash
new file mode 100644
index 0000000000..8f40eda9d2
--- /dev/null
+++ b/package/vorbis-tools/vorbis-tools.hash
@@ -0,0 +1,2 @@
+# From http://downloads.xiph.org/releases/vorbis/SHA256SUMS
+sha256 a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc vorbis-tools-1.4.0.tar.gz
diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk
index da2f1922ce..f4a3aa96dd 100644
--- a/package/x11r7/libxcb/libxcb.mk
+++ b/package/x11r7/libxcb/libxcb.mk
@@ -16,8 +16,8 @@ LIBXCB_DEPENDENCIES = \
host-libxslt libpthread-stubs xcb-proto xlib_libXdmcp xlib_libXau \
host-xcb-proto host-python host-pkgconf
-LIBXCB_CONF_OPTS = --disable-build-docs
-HOST_LIBXCB_CONF_OPTS = --disable-build-docs
+LIBXCB_CONF_OPTS = --with-doxygen=no
+HOST_LIBXCB_CONF_OPTS = --with-doxygen=no
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/x11r7/xcb-util-keysyms/Config.in b/package/x11r7/xcb-util-keysyms/Config.in
index ef42eb2920..0c1d8cc474 100644
--- a/package/x11r7/xcb-util-keysyms/Config.in
+++ b/package/x11r7/xcb-util-keysyms/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_XCB_UTIL_KEYSYMS
bool "xcb-util-keysyms"
+ select BR2_PACKAGE_LIBXCB
help
The XCB util modules provides a number of libraries which sit on top
of libxcb, the core X protocol library, and some of the extension
diff --git a/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk b/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk
index 0f653c3fed..6bc0a796e7 100644
--- a/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk
+++ b/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.mk
@@ -13,4 +13,6 @@ XCB_UTIL_KEYSYMS_LICENSE = MIT
XCB_UTIL_KEYSYMS_INSTALL_STAGING = YES
+XCB_UTIL_KEYSYMS_DEPENDENCIES = host-pkgconf libxcb
+
$(eval $(autotools-package))
diff --git a/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch b/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch
new file mode 100644
index 0000000000..08944d6205
--- /dev/null
+++ b/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch
@@ -0,0 +1,90 @@
+backtrace.c: Fix word cast to a pointer
+
+This patch fixes a compilation problem of Xorg + libunwind support when
+building it on MIPS variants with 32-bit pointers.
+
+Related:
+
+ http://lists.busybox.net/pipermail/buildroot/2014-December/114404.html
+
+Patch submitted upstream:
+
+ http://lists.x.org/archives/xorg-devel/2015-January/045226.html
+
+Patch reviewed by an Xorg developer:
+
+ http://lists.x.org/archives/xorg-devel/2015-January/045383.html
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From 84f04e0274661401a91efd4e9b21dccc1396e1d6 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Wed, 3 Dec 2014 11:34:47 +0000
+Subject: [PATCH] backtrace.c: Fix word cast to a pointer
+
+backtrace.c uses a word size provided by libunwind. In some
+architectures like MIPS, libunwind makes that word size 64-bit for all
+variants of the architecture.
+
+In the lines #90 and #98, backtrace.c tries to do a cast to a pointer,
+which fails in all MIPS variants with 32-bit pointers, like MIPS32 or
+MIPS64 n32, because it's trying to do a cast from a 64-bit wide variable
+to a 32-bit pointer:
+
+Making all in os
+make[2]: Entering directory
+`/home/test/test/1/output/build/xserver_xorg-server-1.15.1/os'
+ CC WaitFor.lo
+ CC access.lo
+ CC auth.lo
+ CC backtrace.lo
+backtrace.c: In function 'xorg_backtrace':
+backtrace.c:90:20: error: cast to pointer from integer of different size
+[-Werror=int-to-pointer-cast]
+ if (dladdr((void *)(pip.start_ip + off), &dlinfo) &&
+dlinfo.dli_fname &&
+ ^
+backtrace.c:98:13: error: cast to pointer from integer of different size
+[-Werror=int-to-pointer-cast]
+ (void *)(pip.start_ip + off));
+ ^
+cc1: some warnings being treated as errors
+make[2]: *** [backtrace.lo] Error 1
+make[2]: *** Waiting for unfinished jobs....
+
+Making the cast to a pointer-sized integer, and then to a pointer fixes
+the problem.
+
+Related:
+ https://bugs.freedesktop.org/show_bug.cgi?id=79939
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+ os/backtrace.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/os/backtrace.c b/os/backtrace.c
+index 3d1195b..fd129ef 100644
+--- a/os/backtrace.c
++++ b/os/backtrace.c
+@@ -87,7 +87,7 @@ xorg_backtrace(void)
+ procname[1] = 0;
+ }
+
+- if (dladdr((void *)(pip.start_ip + off), &dlinfo) && dlinfo.dli_fname &&
++ if (dladdr((void *)(uintptr_t)(pip.start_ip + off), &dlinfo) && dlinfo.dli_fname &&
+ *dlinfo.dli_fname)
+ filename = dlinfo.dli_fname;
+ else
+@@ -95,7 +95,7 @@ xorg_backtrace(void)
+
+ ErrorFSigSafe("%u: %s (%s%s+0x%x) [%p]\n", i++, filename, procname,
+ ret == -UNW_ENOMEM ? "..." : "", (int)off,
+- (void *)(pip.start_ip + off));
++ (void *)(uintptr_t)(pip.start_ip + off));
+
+ ret = unw_step(&cursor);
+ if (ret < 0)
+--
+1.7.1
+
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 472c0bc671..bb5381c1c6 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -145,9 +145,7 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y)
XSERVER_XORG_SERVER_DEPENDENCIES += freetype
endif
-# libunwind support is broken on all MIPS variants with 32-bit pointers
-# https://bugs.freedesktop.org/show_bug.cgi?id=79939
-ifeq ($(BR2_PACKAGE_LIBUNWIND)-$(BR2_MIPS_OABI32)-$(BR2_MIPS_NABI32),y--)
+ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
XSERVER_XORG_SERVER_DEPENDENCIES += libunwind
XSERVER_XORG_SERVER_CONF_OPTS += --enable-libunwind
else
diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
index 48a5536eca..fad7ae9c74 100755
--- a/support/scripts/pkg-stats
+++ b/support/scripts/pkg-stats
@@ -73,9 +73,11 @@ td.lotsofpatches {
autotools_packages=0
cmake_packages=0
+kconfig_packages=0
luarocks_package=0
perl_packages=0
python_packages=0
+rebar_packages=0
virtual_packages=0
generic_packages=0
manual_packages=0
@@ -92,6 +94,7 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do
if test \
$i = "boot/common.mk" -o \
+ $i = "linux/linux-ext-fbtft.mk" -o \
$i = "linux/linux-ext-xenomai.mk" -o \
$i = "linux/linux-ext-rtai.mk" -o \
$i = "package/efl/efl.mk" -o \
@@ -104,11 +107,14 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do
$i = "package/opengl/opengl.mk" -o \
$i = "package/qt5/qt5.mk" -o \
$i = "package/x11r7/x11r7.mk" -o \
+ $i = "package/doc-asciidoc.mk" -o \
$i = "package/pkg-autotools.mk" -o \
$i = "package/pkg-cmake.mk" -o \
+ $i = "package/pkg-kconfig.mk" -o \
$i = "package/pkg-luarocks.mk" -o \
$i = "package/pkg-perl.mk" -o \
$i = "package/pkg-python.mk" -o \
+ $i = "package/pkg-rebar.mk" -o \
$i = "package/pkg-virtual.mk" -o \
$i = "package/pkg-download.mk" -o \
$i = "package/pkg-generic.mk" -o \
@@ -134,6 +140,11 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do
hastarget=1
fi
+ if grep -E "\(kconfig-package\)" $i > /dev/null ; then
+ infratype="kconfig"
+ hastarget=1
+ fi
+
if grep -E "\(host-luarocks-package\)" $i > /dev/null ; then
infratype="luarocks"
hashost=1
@@ -163,6 +174,17 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do
infratype="python"
hastarget=1
fi
+
+ if grep -E "\(host-rebar-package\)" $i > /dev/null ; then
+ infratype="rebar"
+ hashost=1
+ fi
+
+ if grep -E "\(rebar-package\)" $i > /dev/null ; then
+ infratype="rebar"
+ hastarget=1
+ fi
+
if grep -E "\(host-virtual-package\)" $i > /dev/null ; then
infratype="virtual"
hashost=1
@@ -207,12 +229,16 @@ for i in $(find boot/ linux/ package/ -name '*.mk' | sort) ; do
autotools_packages=$(($autotools_packages+1))
elif [ ${infratype} = "cmake" ]; then
cmake_packages=$(($cmake_packages+1))
+ elif [ ${infratype} = "kconfig" ]; then
+ kconfig_packages=$(($kconfig_packages+1))
elif [ ${infratype} = "luarocks" ]; then
luarocks_packages=$(($luarocks_packages+1))
elif [ ${infratype} = "perl" ]; then
perl_packages=$(($perl_packages+1))
elif [ ${infratype} = "python" ]; then
python_packages=$(($python_packages+1))
+ elif [ ${infratype} = "rebar" ]; then
+ rebar_packages=$(($rebar_packages+1))
elif [ ${infratype} = "virtual" ]; then
virtual_packages=$(($virtual_packages+1))
elif [ ${infratype} = "generic" ]; then
@@ -321,6 +347,10 @@ echo "<td>Packages using the <i>luarocks</i> infrastructure</td>"
echo "<td>$luarocks_packages</td>"
echo "</tr>"
echo "<tr>"
+echo "<td>Packages using the <i>kconfig</i> infrastructure</td>"
+echo "<td>$kconfig_packages</td>"
+echo "</tr>"
+echo "<tr>"
echo "<td>Packages using the <i>perl</i> infrastructure</td>"
echo "<td>$perl_packages</td>"
echo "</tr>"
@@ -329,6 +359,10 @@ echo "<td>Packages using the <i>python</i> infrastructure</td>"
echo "<td>$python_packages</td>"
echo "</tr>"
echo "<tr>"
+echo "<td>Packages using the <i>rebar</i> infrastructure</td>"
+echo "<td>$rebar_packages</td>"
+echo "</tr>"
+echo "<tr>"
echo "<td>Packages using the <i>virtual</i> infrastructure</td>"
echo "<td>$virtual_packages</td>"
echo "</tr>"
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 999a354d06..ab73f9a073 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -6,9 +6,10 @@
#
# This package implements the support for external toolchains, i.e
-# toolchains that have not been produced by Buildroot itself and that
-# Buildroot can download from the Web or that are already available on
-# the system on which Buildroot runs. So far, we have tested this
+# toolchains that are available pre-built, ready to use. Such toolchain
+# may either be readily available on the Web (Linaro, Sourcery
+# CodeBench, from processor vendors) or may be built with tools like
+# Crosstool-NG or Buildroot itself. So far, we have tested this
# with:
#
# * Toolchains generated by Crosstool-NG
OpenPOWER on IntegriCloud