summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES53
-rw-r--r--Makefile10
-rw-r--r--docs/download.html24
-rw-r--r--docs/manual/adding-packages-autotools.txt2
-rw-r--r--docs/manual/adding-packages-directory.txt5
-rw-r--r--docs/manual/customize-outside-br.txt1
-rw-r--r--docs/manual/customize-patches.txt1
-rw-r--r--docs/manual/faq-troubleshooting.txt8
-rw-r--r--docs/manual/makedev-syntax.txt24
-rw-r--r--docs/manual/makeusers-syntax.txt1
-rw-r--r--docs/manual/resources.txt2
-rw-r--r--docs/news.html53
-rw-r--r--linux/Config.in4
-rw-r--r--package/Makefile.in4
-rw-r--r--package/aircrack-ng/aircrack-ng.mk5
-rw-r--r--package/bind/0001-disable-tests.patch (renamed from package/bind/bind-01-disable-tests.patch)0
-rw-r--r--package/bind/0002-cross.patch (renamed from package/bind/bind-02-cross.patch)0
-rw-r--r--package/bind/Config.in5
-rw-r--r--package/binutils/2.22/905-Fix-trampolines-search-code-for-conditional-branches.patch90
-rw-r--r--package/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch90
-rw-r--r--package/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch90
-rw-r--r--package/botan/botan.mk2
-rw-r--r--package/btrfs-progs/btrfs-progs.mk4
-rw-r--r--package/canfestival/Config.in5
-rw-r--r--package/cdrkit/Config.in5
-rw-r--r--package/clamav/clamav-0003-backtrace-uClibc.patch22
-rw-r--r--package/clamav/clamav-0004-fix-static-build.patch21
-rw-r--r--package/clamav/clamav.hash4
-rw-r--r--package/clamav/clamav.mk6
-rw-r--r--package/coreutils/coreutils.mk7
-rw-r--r--package/czmq/czmq.mk4
-rw-r--r--package/dbus/dbus.hash2
-rw-r--r--package/dbus/dbus.mk2
-rwxr-xr-xpackage/dhcp/dhclient-script284
-rw-r--r--package/dillo/Config.in1
-rw-r--r--package/dillo/dillo.mk2
-rw-r--r--package/dovecot/0002-fix-static-build.patch24
-rw-r--r--package/dovecot/0003-fix-static-build.patch24
-rw-r--r--package/duma/0001-fix-cross-compilation.patch (renamed from package/duma/duma-01-fix-cross-compilation.patch)0
-rw-r--r--package/duma/0002-no-tests.patch19
-rw-r--r--package/duma/duma.mk4
-rw-r--r--package/e2fsprogs/e2fsprogs.mk6
-rw-r--r--package/erlang/Config.in5
-rw-r--r--package/erlang/erlang.mk2
-rw-r--r--package/flac/0002-fix-CVE-2014-9028.patch34
-rw-r--r--package/flac/0003-fix-CVE-2014-8962.patch40
-rw-r--r--package/gcc/Config.in.host6
-rw-r--r--package/gd/gd.mk10
-rw-r--r--package/gdb/gdb.mk2
-rw-r--r--package/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch174
-rw-r--r--package/glibc/2.18-svnr23787/0002-accept-make4.patch (renamed from package/glibc/2.18-svnr23787/glibc-0001-accept-make4.patch)0
-rw-r--r--package/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch174
-rw-r--r--package/glibc/2.19/0001-CVE-2014-7817.patch173
-rw-r--r--package/glibc/2.20/0001-CVE-2014-7817.patch173
-rw-r--r--package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch8
-rw-r--r--package/gptfdisk/gptfdisk.mk4
-rw-r--r--package/grantlee/Config.in4
-rw-r--r--package/gstreamer1/gst1-validate/Config.in7
-rw-r--r--package/gstreamer1/gst1-validate/gst1-validate.mk2
-rw-r--r--package/heirloom-mailx/Config.in5
-rw-r--r--package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch34
-rw-r--r--package/iputils/Config.in2
-rw-r--r--package/lame/lame.mk2
-rw-r--r--package/libcap/Config.in4
-rw-r--r--package/libgcrypt/Config.in2
-rw-r--r--package/libksba/libksba.hash4
-rw-r--r--package/libksba/libksba.mk2
-rw-r--r--package/libllcp/libllcp.mk4
-rw-r--r--package/libmemcached/0001-disable-tests.patch (renamed from package/libmemcached/libmemcached-01-disable-tests.patch)0
-rw-r--r--package/libmemcached/0002-disable-sanitizer.patch25
-rw-r--r--package/libmemcached/libmemcached.mk2
-rw-r--r--package/libnspr/libnspr.mk6
-rw-r--r--package/libpng/0001-disable-tools.patch (renamed from package/libpng/libpng-01-disable-tools.patch)0
-rw-r--r--package/libpng/0002-ignore-symbol-prefix.patch (renamed from package/libpng/libpng-02-ignore-symbol-prefix.patch)0
-rw-r--r--package/libpng/libpng.hash3
-rw-r--r--package/libpng/libpng.mk2
-rw-r--r--package/libshairplay/Config.in10
-rw-r--r--package/libssh2/libssh2.mk3
-rw-r--r--package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch (renamed from package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch)0
-rw-r--r--package/libtirpc/0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch (renamed from package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch)0
-rw-r--r--package/libtirpc/0003-Make-IPv6-support-optional.patch (renamed from package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch)0
-rw-r--r--package/libtirpc/0004-Add-rpcgen-program-from-nfs-utils-sources.patch (renamed from package/libtirpc/libtirpc-0008-Add-rpcgen-program-from-nfs-utils-sources.patch)0
-rw-r--r--package/libtirpc/0005-Automatically-generate-XDR-header-files-from-.x-sour.patch (renamed from package/libtirpc/libtirpc-0009-Automatically-generate-XDR-header-files-from-.x-sour.patch)0
-rw-r--r--package/libtirpc/0006-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch (renamed from package/libtirpc/libtirpc-0010-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch)0
-rw-r--r--package/libtirpc/0007-needs-pthread.patch25
-rw-r--r--package/libunwind/0001-disable-tests.patch (renamed from package/libunwind/libunwind-01-disable-tests.patch)0
-rw-r--r--package/libunwind/0002-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch (renamed from package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch)0
-rw-r--r--package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch41
-rw-r--r--package/libunwind/Config.in3
-rw-r--r--package/libv4l/Config.in6
-rw-r--r--package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch32
-rw-r--r--package/linux-headers/Config.in.host8
-rw-r--r--package/luajit/luajit.mk5
-rw-r--r--package/lxc/Config.in6
-rw-r--r--package/mesa3d-demos/Config.in2
-rw-r--r--package/mesa3d-demos/mesa3d-demos.mk8
-rw-r--r--package/mono/mono.mk3
-rw-r--r--package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch101
-rw-r--r--package/mpdecimal/mpdecimal.mk1
-rw-r--r--package/mpg123/mpg123.mk1
-rw-r--r--package/mutt/mutt.mk16
-rw-r--r--package/mysql/mysql.mk2
-rw-r--r--package/ndisc6/0001-trace-tcp-upd-uClibc-fix.patch (renamed from package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch)0
-rw-r--r--package/ndisc6/ndisc6.mk2
-rw-r--r--package/network-manager/Config.in1
-rw-r--r--package/nfs-utils/0001-build-avoid-AM_CONDITIONAL-in-conditional-execution.patch (renamed from package/nfs-utils/nfs-utils-0001-build-avoid-AM_CONDITIONAL-in-conditional-execution.patch)0
-rw-r--r--package/nfs-utils/0002-Patch-taken-from-Gentoo.patch (renamed from package/nfs-utils/nfs-utils-0002-Patch-taken-from-Gentoo.patch)0
-rw-r--r--package/nfs-utils/0003-Switch-legacy-index-in-favour-of-strchr.patch (renamed from package/nfs-utils/nfs-utils-0003-Switch-legacy-index-in-favour-of-strchr.patch)0
-rw-r--r--package/nfs-utils/0004-fix-build-with-uClibc.patch (renamed from package/nfs-utils/nfs-utils-0004-fix-build-with-uClibc.patch)0
-rw-r--r--package/nfs-utils/0005-Allow-usage-of-getrpcbynumber-when-getrpcbynumber_r-.patch (renamed from package/nfs-utils/nfs-utils-0005-Allow-usage-of-getrpcbynumber-when-getrpcbynumber_r-.patch)0
-rw-r--r--package/nfs-utils/0006-Let-the-configure-script-find-getrpcbynumber-in-libt.patch (renamed from package/nfs-utils/nfs-utils-0006-Let-the-configure-script-find-getrpcbynumber-in-libt.patch)0
-rw-r--r--package/nfs-utils/0007-sockaddr-h-needs-stddef-h-for-NULL.patch (renamed from package/nfs-utils/nfs-utils-0007-sockaddr-h-needs-stddef-h-for-NULL.patch)0
-rw-r--r--package/nfs-utils/0008-tirpc-with-pkgconfig.patch102
-rw-r--r--package/nfs-utils/nfs-utils.mk2
-rw-r--r--package/nftables/nftables.mk10
-rw-r--r--package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch54
-rw-r--r--package/nodejs/nodejs.mk3
-rw-r--r--package/omniorb/0001-uclinux-is-also-linux.patch19
-rw-r--r--package/omniorb/omniorb.mk10
-rw-r--r--package/openssl/openssl.mk2
-rw-r--r--package/parted/parted-003-fix-static-link-uuid.patch48
-rw-r--r--package/parted/parted.mk4
-rw-r--r--package/pciutils/pciutils.mk6
-rw-r--r--package/perl/perl.mk2
-rw-r--r--package/php/php.hash2
-rw-r--r--package/php/php.mk2
-rw-r--r--package/python-tornado/Config.in1
-rw-r--r--package/python3/python3.mk6
-rw-r--r--package/qemu/Config.in10
-rw-r--r--package/qemu/qemu.mk10
-rw-r--r--package/qt/Config.in9
-rw-r--r--package/qt5/qt5base/Config.in22
-rw-r--r--package/qt5/qt5webkit/0001-egl-includepath.patch (renamed from package/qt5/qt5webkit/qt5webkit-0001-egl-includepath.patch)0
-rw-r--r--package/qt5/qt5webkit/0002-Fix-build-failure-with-python3.patch31
-rw-r--r--package/radvd/0001-Drop-check-requirement-we-don-t-do-unit-tests.patch29
-rw-r--r--package/radvd/0002-Don-t-force-fstack-protector-the-toolchain-might-lac.patch27
-rw-r--r--package/radvd/0003-Improve-check-of-the-sysctl-function.patch49
-rw-r--r--package/radvd/radvd-01-drop-check.patch18
-rw-r--r--package/radvd/radvd-02-drop-stack-protector.patch15
-rw-r--r--package/radvd/radvd.mk2
-rw-r--r--package/rpm/Config.in1
-rw-r--r--package/rpm/rpm.mk2
-rw-r--r--package/rt-tests/Config.in2
-rw-r--r--package/rtai/rtai.mk2
-rw-r--r--package/ruby/ruby.hash4
-rw-r--r--package/ruby/ruby.mk2
-rw-r--r--package/schifra/Config.in5
-rw-r--r--package/sdl_sound/0001-fix-constness.patch16
-rw-r--r--package/shairport-sync/0001-fix-static-link-openssl.patch41
-rw-r--r--package/shairport-sync/0002-fix-static-link-alsa.patch27
-rw-r--r--package/shairport-sync/0003-fix-static-link-popt.patch25
-rw-r--r--package/shairport-sync/S99shairport-sync4
-rw-r--r--package/shairport-sync/shairport-sync.mk7
-rw-r--r--package/sqlcipher/sqlcipher.mk3
-rw-r--r--package/squid/Config.in6
-rw-r--r--package/sstrip/sstrip.mk2
-rw-r--r--package/sysvinit/inittab30
-rw-r--r--package/tcpdump/0002-fix-CVE-2014-8767.patch20
-rw-r--r--package/tcpdump/0003-fix-CVE-2014-8768.patch19
-rw-r--r--package/tcpdump/0004-fix-CVE-2014-8769.patch19
-rw-r--r--package/tstools/001-build-get-along-with-buildroot.patch (renamed from package/tstools/tstools-001-build-get-along-with-buildroot.patch)0
-rw-r--r--package/tstools/tstools-002-build-fix-parallel-build-failure.patch331
-rw-r--r--package/tstools/tstools.mk2
-rw-r--r--package/tzdata/tzdata.mk6
-rw-r--r--package/uclibc/uclibc.mk6
-rw-r--r--package/uemacs/01-clear-ixon-termios-flag.patch (renamed from package/uemacs/uemacs-4.0.15-lt.03.ixon.patch)15
-rw-r--r--package/uemacs/uemacs-4.0.15-lt.01.patch33
-rw-r--r--package/uemacs/uemacs-4.0.15-lt.02.patch16
-rw-r--r--package/uemacs/uemacs.mk6
-rw-r--r--package/ushare/Config.in9
-rw-r--r--package/util-linux/util-linux.mk8
-rw-r--r--package/wayland/Config.in2
-rw-r--r--package/weston/Config.in2
-rw-r--r--package/wireshark/wireshark.hash6
-rw-r--r--package/wireshark/wireshark.mk2
-rw-r--r--package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk3
-rw-r--r--package/x11r7/xserver_xorg-server/Config.in3
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.mk4
-rw-r--r--package/x264/x264.mk1
-rw-r--r--package/xl2tp/xl2tp.mk6
-rwxr-xr-xsupport/dependencies/dependencies.sh3
-rw-r--r--system/device_table.txt1
-rw-r--r--system/skeleton/etc/inittab7
-rw-r--r--toolchain/toolchain-common.in2
-rw-r--r--toolchain/toolchain-external/toolchain-external.mk14
185 files changed, 2724 insertions, 607 deletions
diff --git a/CHANGES b/CHANGES
index 9e8c4d8c74..22668dcaa2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,56 @@
+2014.11, Released December 1st, 2014
+
+ Minor fixes.
+
+ Infrastructure: LD_LIBRARY_PATH handling tweak to ensure
+ current working directory isn't searched.
+
+ Updated/fixed packages: gd, gdb, libwebsockets, luajit, mono,
+ parted, shairport-sync, util-linux, xapp_bdftopcf,
+ xserver_xorg-server
+
+2014.11-rc3, Released November 28th, 2014
+
+ Fixes all over the tree.
+
+ System: File permissions of /etc/random-seed made more
+ restrictive.
+
+ Toolchain: Various fixes related to locale handling, a fix for
+ building the toolchain wrapper on MIPS.
+
+ Updated/fixed packages: bind, binutils. botan, btrfsprogs,
+ clamav, czmq, dhcp, dillo, dovecot, erlang, flac, gd, glibc,
+ gptfdisk, gst1-validate, heirloom-mailx, lame, libksba,
+ libllcp, libnspr, libpng, libshairplay, libtirpc, linux,
+ linux-headers, mpdecimal, mpg123, network-manager, nfstables,
+ nfs-utils, openssl, pcituils, qt, radvd, rtai, sqlcipher,
+ sstrip, tcpdump, uclibc, uemacs, ushare, wayland, weston,
+ xl2tp, xserver_xorg-server
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #7670: Fails to build mpc-1.0.2 on latest Cygwin
+
+2014.11-rc2, Released November 21st, 2014
+
+ Fixes all over the tree.
+
+ Inittab tweaks for shutdown handling (busybox and sysvinit).
+
+ Updated/fixed packages: aircrack-ng, botan, canfestival,
+ clamav, coreutils, czmq, dbus, dovecot, duma, e2fsprogs,
+ erlang, gcc, iputils, libcap, libgcrypt, libmemcached,
+ libssh2, libunwind, libv4l, linux-headers, mesa3d-demos, mutt,
+ mysql, ndisc6, nodejs, omniorb, perl-cross, php,
+ python-tornado, python3, qemu, qt5base, qt5webkit, rpm,
+ rt-tests, ruby, schifra, sdl_sound, shairport-sync, sysvinit,
+ tstools, tzdata, wireshark, x264
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #7646: strftime on datetime not works on python3
+
2014.11-rc1, Released November 12th, 2014
Fixes all over the tree and new features.
diff --git a/Makefile b/Makefile
index fd62aae456..ad018c88f1 100644
--- a/Makefile
+++ b/Makefile
@@ -514,13 +514,13 @@ endif
# not have them (Linaro toolchains), we use the ones available on the
# host machine.
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
-GENERATE_LOCALE = $(call qstrip,$(BR2_GENERATE_LOCALE))
-ifneq ($(GENERATE_LOCALE),)
+GLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE))
+ifneq ($(GLIBC_GENERATE_LOCALES),)
TARGETS += host-localedef
-define GENERATE_LOCALES
+define GENERATE_GLIBC_LOCALES
$(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/
- $(Q)for locale in $(GENERATE_LOCALE) ; do \
+ $(Q)for locale in $(GLIBC_GENERATE_LOCALES) ; do \
inputfile=`echo $${locale} | cut -f1 -d'.'` ; \
charmap=`echo $${locale} | cut -f2 -d'.' -s` ; \
if test -z "$${charmap}" ; then \
@@ -535,7 +535,7 @@ define GENERATE_LOCALES
$${locale} ; \
done
endef
-TARGET_FINALIZE_HOOKS += GENERATE_LOCALES
+TARGET_FINALIZE_HOOKS += GENERATE_GLIBC_LOCALES
endif
endif
diff --git a/docs/download.html b/docs/download.html
index 0d0949cbb7..7721615035 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -7,32 +7,32 @@
<p>
-The latest stable release is <b>2014.08</b>, which can be downloaded
+The latest stable release is <b>2014.11</b>, which can be downloaded
here:<p>
-<a href="/downloads/buildroot-2014.08.tar.gz">buildroot-2014.08.tar.gz</a>
-(<a href="/downloads/buildroot-2014.08.tar.gz.sign">PGP signature</a>)
+<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>)
or
-<a href="/downloads/buildroot-2014.08.tar.bz2">buildroot-2014.08.tar.bz2</a>
-(<a href="/downloads/buildroot-2014.08.tar.bz2.sign">PGP signature</a>).
+<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>).
<p>
-
-The latest release candidate is <b>2014.11-rc1</b>, which can be
+<!--
+The latest release candidate is <b>2014.11-rc3</b>, which can be
downloaded here:<p>
-<a href="/downloads/buildroot-2014.11-rc1.tar.gz">buildroot-2014.11-rc1.tar.gz</a>
-(<a href="/downloads/buildroot-2014.11-rc1.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2014.11-rc3.tar.gz">buildroot-2014.11-rc3.tar.gz</a>
+(<a href="/downloads/buildroot-2014.11-rc3.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2014.11-rc1.tar.bz2">buildroot-2014.11-rc1.tar.bz2</a>
-(<a href="/downloads/buildroot-2014.11-rc1.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2014.11-rc3.tar.bz2">buildroot-2014.11-rc3.tar.bz2</a>
+(<a href="/downloads/buildroot-2014.11-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/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.txt
index ece6c49563..a041d91eb6 100644
--- a/docs/manual/adding-packages-autotools.txt
+++ b/docs/manual/adding-packages-autotools.txt
@@ -125,7 +125,7 @@ cases, typical packages will therefore only use a few of them.
variables to pass to the 'autoreconf' program if
+LIBFOO_AUTORECONF=YES+. These are passed in the environment of
the 'autoreconf' command. By default, empty.
-
+
* +LIBFOO_AUTORECONF_OPTS+ to specify additional options
passed to the 'autoreconf' program if
+LIBFOO_AUTORECONF=YES+. By default, empty.
diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
index c145829fcb..0ea03f9153 100644
--- a/docs/manual/adding-packages-directory.txt
+++ b/docs/manual/adding-packages-directory.txt
@@ -191,15 +191,19 @@ construct rather than repeating the +depends on+ statement on the
comment and other config options.
The general format of a dependency +comment+ for package foo is:
+
--------------------------
foo needs a toolchain w/ featA, featB, featC
--------------------------
for example:
+
--------------------------
aircrack-ng needs a toolchain w/ largefile, threads
--------------------------
+
or
+
--------------------------
crda needs a toolchain w/ threads
--------------------------
@@ -283,6 +287,7 @@ foo needs a Linux kernel to be built
If there is a dependency on both toolchain options and the Linux
kernel, use this format:
+
--------------------------
foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built
--------------------------
diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt
index 110984308f..5d63e60bdf 100644
--- a/docs/manual/customize-outside-br.txt
+++ b/docs/manual/customize-outside-br.txt
@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
+// vim: set syntax=asciidoc:
[[outside-br-custom]]
=== Keeping customizations outside of Buildroot
diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt
index a052915dfd..e129a64855 100644
--- a/docs/manual/customize-patches.txt
+++ b/docs/manual/customize-patches.txt
@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
+// vim: set syntax=asciidoc:
[[customize-patches]]
=== Adding project-specific patches
diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
index 693028c4da..b30b4ac43c 100644
--- a/docs/manual/faq-troubleshooting.txt
+++ b/docs/manual/faq-troubleshooting.txt
@@ -19,10 +19,10 @@ Starting dropbear sshd: generating rsa key... generating dsa key... OK
then it means that your system is running, but didn't start a shell on
the serial console. In order to have the system start a shell on your
-serial console, you have to go into the Buildroot configuration, in
-+System configuration+, modify +Run a getty (login prompt) after boot+
-and set the appropriate port and baud rate in the +getty options+
-submenu. This will automatically tune the +/etc/inittab+ file of the
+serial console, you have to go into the Buildroot configuration, in
++System configuration+, modify +Run a getty (login prompt) after boot+
+and set the appropriate port and baud rate in the +getty options+
+submenu. This will automatically tune the +/etc/inittab+ file of the
generated system so that a shell starts on the correct serial port.
[[faq-no-compiler-on-target]]
diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt
index 2fd7b59151..e02b79d986 100644
--- a/docs/manual/makedev-syntax.txt
+++ b/docs/manual/makedev-syntax.txt
@@ -11,13 +11,14 @@ create and how to create them, in order to avoid calls to mknod.
This syntax is derived from the makedev utility, and more complete
documentation can be found in the +package/makedevs/README+ file.
-It takes the form of a line for each file, with the following layout:
+It takes the form of a space separated list of fields, one file per
+line; the fields are:
|===========================================================
|name |type |mode |uid |gid |major |minor |start |inc |count
|===========================================================
-There are a few non-trivial blocks here:
+There are a few non-trivial blocks:
- +name+ is the path to the file you want to create/modify
- +type+ is the type of the file, being one of:
@@ -35,22 +36,23 @@ There are a few non-trivial blocks here:
Let's say you want to change the permissions of a given file; using
this syntax, you will need to put:
--------------------------------------------------------------------
-/usr/bin/foobar f 644 0 0 - - - - -
--------------------------------------------------------------------
+
+----
+/usr/bin/foobar f 644 0 0 - - - - -
+----
On the other hand, if you want to create the device file +/dev/hda+
and the corresponding 15 files for the partitions, you will need for
+/dev/hda+:
--------------------------------------------------------------------
-/dev/hda b 640 0 0 3 0 0 0 -
--------------------------------------------------------------------
+----
+/dev/hda b 640 0 0 3 0 0 0 -
+----
and then for device files corresponding to the partitions of
+/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15:
--------------------------------------------------------------------
-/dev/hda b 640 0 0 3 1 1 1 15
--------------------------------------------------------------------
+----
+/dev/hda b 640 0 0 3 1 1 1 15
+----
diff --git a/docs/manual/makeusers-syntax.txt b/docs/manual/makeusers-syntax.txt
index ecf3eb040a..ffdb961871 100644
--- a/docs/manual/makeusers-syntax.txt
+++ b/docs/manual/makeusers-syntax.txt
@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
+// vim: set syntax=asciidoc:
[[makeuser-syntax]]
== Makeusers syntax documentation
diff --git a/docs/manual/resources.txt b/docs/manual/resources.txt
index b11053ee1b..b327f9e956 100644
--- a/docs/manual/resources.txt
+++ b/docs/manual/resources.txt
@@ -60,7 +60,7 @@ project. Patches that have been sent to a mailing list are \'caught' by
the system, and appear on a web page. Any comments posted that
reference the patch are appended to the patch page too. For more
information on Patchwork see
-http://jk.ozlabs.org/projects/patchwork[].
+http://jk.ozlabs.org/projects/patchwork/[].
+
Buildroot's Patchwork website is mainly for use by Buildroot's
maintainer to ensure patches aren't missed. It is also used by Buildroot
diff --git a/docs/news.html b/docs/news.html
index 9a2b4bafb7..0596e4cba0 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -9,12 +9,63 @@
<ul>
+ <li><b>1 December 2014 -- 2014.11 released</b>
+
+ <p>The stable 2014.11 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.11">CHANGES</a>
+ file for more details,
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2014.11.tar.bz2">2014.11 release</a>.</p>
+
+ <li><b>28 November 2014 -- 2014.11-rc3 released</b>
+
+ <p>Release candidate 3 is out with more cleanups and build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.11-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-2014.11-rc3.tar.bz2">2014.11-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>21 November 2014 -- 2014.11-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=2014.11-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-2014.11-rc2.tar.bz2">2014.11-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>13 November 2014 -- Report from Buildroot Developers Meeting</b>
+
+ <p>A report from the recent
+ <a href="http://elinux.org/Buildroot:DeveloperDaysELCE2014">
+ Buildroot Developers Meeting</a> is now
+ <a href="http://lists.busybox.net/pipermail/buildroot/2014-October/109966.html">available</a>.</p>
+
+ <p>Once again, thanks to all the participants and to
+ <a href="http://www.mind.be">Mind</a> for sponsoring the event.</p>
+
+ <p>The next Developer Days will take place on February 2nd and 3rd
+ in Brussels, Belgium, right after <a
+ href="http://fosdem.org">FOSDEM</a>. See the <a
+ href="http://elinux.org/Buildroot:DeveloperDaysFOSDEM2015">wiki</a>
+ for more details.</p>
+
<li><b>12 November 2014 -- 2014.11-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=2014.11-rc1">CHANGES</a>
- file for details.</p>
+ file for details, and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2014-November/111946.html">announcement</a>.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.11-rc1.tar.bz2">2014.11-rc1
diff --git a/linux/Config.in b/linux/Config.in
index e0d123c14d..541b32fc9e 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -21,7 +21,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
- bool "3.17.2"
+ bool "3.17.4"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
@@ -104,7 +104,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
config BR2_LINUX_KERNEL_VERSION
string
- default "3.17.2" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "3.17.4" if BR2_LINUX_KERNEL_LATEST_VERSION
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
diff --git a/package/Makefile.in b/package/Makefile.in
index df39afd67b..36ecf0b6cd 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -307,11 +307,11 @@ HOST_CONFIGURE_OPTS = PATH=$(BR_PATH) \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig" \
- LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
+ LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib$(if $(LD_LIBRARY_PATH),:$(LD_LIBRARY_PATH))" \
INTLTOOL_PERL=$(PERL)
HOST_MAKE_ENV = PATH=$(BR_PATH) \
- LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
+ LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib$(if $(LD_LIBRARY_PATH),:$(LD_LIBRARY_PATH))" \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"
diff --git a/package/aircrack-ng/aircrack-ng.mk b/package/aircrack-ng/aircrack-ng.mk
index 30298f5b89..c7fcb63d54 100644
--- a/package/aircrack-ng/aircrack-ng.mk
+++ b/package/aircrack-ng/aircrack-ng.mk
@@ -14,7 +14,7 @@ AIRCRACK_NG_MAKE_OPTS = unstable=true
# Account for libpthread in static
AIRCRACK_NG_LDFLAGS = $(TARGET_LDFLAGS) \
- $(if $(BR2_PREFER_STATIC_LIB),-lpthread)
+ $(if $(BR2_PREFER_STATIC_LIB),-lpthread -lz)
# libnl support has issues when building static
ifeq ($(BR2_PREFER_STATIC_LIB),y)
@@ -39,9 +39,10 @@ else
AIRCRACK_NG_MAKE_OPTS += pcre=false
endif
+# Duplicate -lpthread, because it is also needed by sqlite
ifeq ($(BR2_PACKAGE_SQLITE),y)
AIRCRACK_NG_DEPENDENCIES += sqlite
- AIRCRACK_NG_MAKE_OPTS += sqlite=true LIBSQL="-lsqlite3"
+ AIRCRACK_NG_MAKE_OPTS += sqlite=true LIBSQL="-lsqlite3 $(if $(BR2_PREFER_STATIC_LIB),-lpthread)"
else
AIRCRACK_NG_MAKE_OPTS += sqlite=false
endif
diff --git a/package/bind/bind-01-disable-tests.patch b/package/bind/0001-disable-tests.patch
index 181b229d9a..181b229d9a 100644
--- a/package/bind/bind-01-disable-tests.patch
+++ b/package/bind/0001-disable-tests.patch
diff --git a/package/bind/bind-02-cross.patch b/package/bind/0002-cross.patch
index 5b4b1cd836..5b4b1cd836 100644
--- a/package/bind/bind-02-cross.patch
+++ b/package/bind/0002-cross.patch
diff --git a/package/bind/Config.in b/package/bind/Config.in
index 4f65e1ce16..8e3b824287 100644
--- a/package/bind/Config.in
+++ b/package/bind/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_BIND
depends on BR2_INET_IPV6
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
+ depends on !BR2_PREFER_STATIC_LIB
help
BIND (Berkeley Internet Name Domain) is an implementation of
the Domain Name System (DNS) protocols and provides an openly
@@ -38,6 +39,6 @@ config BR2_PACKAGE_BIND_TOOLS
endif
-comment "bind needs a toolchain w/ largefile, IPv6"
+comment "bind needs a toolchain w/ largefile, IPv6, dynamic library"
depends on BR2_USE_MMU
- depends on !(BR2_LARGEFILE || BR2_INET_IPV6)
+ depends on !BR2_LARGEFILE || !BR2_INET_IPV6 || BR2_PREFER_STATIC_LIB
diff --git a/package/binutils/2.22/905-Fix-trampolines-search-code-for-conditional-branches.patch b/package/binutils/2.22/905-Fix-trampolines-search-code-for-conditional-branches.patch
new file mode 100644
index 0000000000..8aeb06428a
--- /dev/null
+++ b/package/binutils/2.22/905-Fix-trampolines-search-code-for-conditional-branches.patch
@@ -0,0 +1,90 @@
+From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Tue, 25 Nov 2014 21:33:21 +0300
+Subject: [PATCH] Fix trampolines search code for conditional branches
+
+For conditional branches that need more than one trampoline to reach its
+target assembler couldn't always find suitable trampoline because
+post-loop condition check was placed inside the loop, resulting in
+premature loop termination. Move check outside the loop.
+
+This fixes the following build errors seen when assembling huge files
+produced by gcc:
+ Error: jump target out of range; no usable trampoline found
+ Error: operand 1 of 'j' has out of range value '307307'
+
+2014-11-25 Max Filippov <jcmvbkbc@gmail.com>
+
+gas/
+ * config/tc-xtensa.c (search_trampolines): Move post-loop
+ condition check outside the search loop.
+
+gas/testsuite/
+ * gas/xtensa/trampoline.d: Add expected output for branches.
+ * gas/xtensa/trampoline.s: Add test case for branches.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3
+Changes to ChangeLogs are dropped.
+
+ gas/config/tc-xtensa.c | 8 ++++----
+ gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++
+ gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
+index d11b0c7..f23ccf8 100644
+--- a/gas/config/tc-xtensa.c
++++ b/gas/config/tc-xtensa.c
+@@ -9514,11 +9514,11 @@ search_trampolines (TInsn *tinsn, fragS *fragP, bfd_boolean unreachable_only)
+ if (next_addr == 0 || addr - next_addr > J_RANGE)
+ break;
+ }
+- if (abs (addr - this_addr) < J_RANGE)
+- return tf;
+-
+- return NULL;
+ }
++ if (abs (addr - this_addr) < J_RANGE)
++ return tf;
++
++ return NULL;
+ }
+ for ( ; tf; tf = tf->next)
+ {
+diff --git a/gas/testsuite/gas/xtensa/trampoline.d b/gas/testsuite/gas/xtensa/trampoline.d
+index b4f65dc..5ae32a6 100644
+--- a/gas/testsuite/gas/xtensa/trampoline.d
++++ b/gas/testsuite/gas/xtensa/trampoline.d
+@@ -24,3 +24,12 @@
+ .*33462:.*j.0x49407
+ #...
+ .*49407:.*j.0x49407
++.*4940a:.*beqz.n.a2,.0x4940f
++.*4940c:.*j.0x693d1
++#...
++.*693d1:.*j.0x7ddd4
++#...
++.*7ddd4:.*j.0x927f5
++#...
++.*927f5:.*j.0x927f5
++#...
+diff --git a/gas/testsuite/gas/xtensa/trampoline.s b/gas/testsuite/gas/xtensa/trampoline.s
+index 259a3bb..4465786 100644
+--- a/gas/testsuite/gas/xtensa/trampoline.s
++++ b/gas/testsuite/gas/xtensa/trampoline.s
+@@ -19,3 +19,10 @@
+ .endr
+ 3:
+ j 3b
++ bnez a2, 4f
++ .rep 50000
++ and a2, a2, a3
++ _ret
++ .endr
++4:
++ j 4b
+--
+1.8.1.4
+
diff --git a/package/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch b/package/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch
new file mode 100644
index 0000000000..8aeb06428a
--- /dev/null
+++ b/package/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch
@@ -0,0 +1,90 @@
+From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Tue, 25 Nov 2014 21:33:21 +0300
+Subject: [PATCH] Fix trampolines search code for conditional branches
+
+For conditional branches that need more than one trampoline to reach its
+target assembler couldn't always find suitable trampoline because
+post-loop condition check was placed inside the loop, resulting in
+premature loop termination. Move check outside the loop.
+
+This fixes the following build errors seen when assembling huge files
+produced by gcc:
+ Error: jump target out of range; no usable trampoline found
+ Error: operand 1 of 'j' has out of range value '307307'
+
+2014-11-25 Max Filippov <jcmvbkbc@gmail.com>
+
+gas/
+ * config/tc-xtensa.c (search_trampolines): Move post-loop
+ condition check outside the search loop.
+
+gas/testsuite/
+ * gas/xtensa/trampoline.d: Add expected output for branches.
+ * gas/xtensa/trampoline.s: Add test case for branches.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3
+Changes to ChangeLogs are dropped.
+
+ gas/config/tc-xtensa.c | 8 ++++----
+ gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++
+ gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
+index d11b0c7..f23ccf8 100644
+--- a/gas/config/tc-xtensa.c
++++ b/gas/config/tc-xtensa.c
+@@ -9514,11 +9514,11 @@ search_trampolines (TInsn *tinsn, fragS *fragP, bfd_boolean unreachable_only)
+ if (next_addr == 0 || addr - next_addr > J_RANGE)
+ break;
+ }
+- if (abs (addr - this_addr) < J_RANGE)
+- return tf;
+-
+- return NULL;
+ }
++ if (abs (addr - this_addr) < J_RANGE)
++ return tf;
++
++ return NULL;
+ }
+ for ( ; tf; tf = tf->next)
+ {
+diff --git a/gas/testsuite/gas/xtensa/trampoline.d b/gas/testsuite/gas/xtensa/trampoline.d
+index b4f65dc..5ae32a6 100644
+--- a/gas/testsuite/gas/xtensa/trampoline.d
++++ b/gas/testsuite/gas/xtensa/trampoline.d
+@@ -24,3 +24,12 @@
+ .*33462:.*j.0x49407
+ #...
+ .*49407:.*j.0x49407
++.*4940a:.*beqz.n.a2,.0x4940f
++.*4940c:.*j.0x693d1
++#...
++.*693d1:.*j.0x7ddd4
++#...
++.*7ddd4:.*j.0x927f5
++#...
++.*927f5:.*j.0x927f5
++#...
+diff --git a/gas/testsuite/gas/xtensa/trampoline.s b/gas/testsuite/gas/xtensa/trampoline.s
+index 259a3bb..4465786 100644
+--- a/gas/testsuite/gas/xtensa/trampoline.s
++++ b/gas/testsuite/gas/xtensa/trampoline.s
+@@ -19,3 +19,10 @@
+ .endr
+ 3:
+ j 3b
++ bnez a2, 4f
++ .rep 50000
++ and a2, a2, a3
++ _ret
++ .endr
++4:
++ j 4b
+--
+1.8.1.4
+
diff --git a/package/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch b/package/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch
new file mode 100644
index 0000000000..8aeb06428a
--- /dev/null
+++ b/package/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch
@@ -0,0 +1,90 @@
+From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Tue, 25 Nov 2014 21:33:21 +0300
+Subject: [PATCH] Fix trampolines search code for conditional branches
+
+For conditional branches that need more than one trampoline to reach its
+target assembler couldn't always find suitable trampoline because
+post-loop condition check was placed inside the loop, resulting in
+premature loop termination. Move check outside the loop.
+
+This fixes the following build errors seen when assembling huge files
+produced by gcc:
+ Error: jump target out of range; no usable trampoline found
+ Error: operand 1 of 'j' has out of range value '307307'
+
+2014-11-25 Max Filippov <jcmvbkbc@gmail.com>
+
+gas/
+ * config/tc-xtensa.c (search_trampolines): Move post-loop
+ condition check outside the search loop.
+
+gas/testsuite/
+ * gas/xtensa/trampoline.d: Add expected output for branches.
+ * gas/xtensa/trampoline.s: Add test case for branches.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3
+Changes to ChangeLogs are dropped.
+
+ gas/config/tc-xtensa.c | 8 ++++----
+ gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++
+ gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
+index d11b0c7..f23ccf8 100644
+--- a/gas/config/tc-xtensa.c
++++ b/gas/config/tc-xtensa.c
+@@ -9514,11 +9514,11 @@ search_trampolines (TInsn *tinsn, fragS *fragP, bfd_boolean unreachable_only)
+ if (next_addr == 0 || addr - next_addr > J_RANGE)
+ break;
+ }
+- if (abs (addr - this_addr) < J_RANGE)
+- return tf;
+-
+- return NULL;
+ }
++ if (abs (addr - this_addr) < J_RANGE)
++ return tf;
++
++ return NULL;
+ }
+ for ( ; tf; tf = tf->next)
+ {
+diff --git a/gas/testsuite/gas/xtensa/trampoline.d b/gas/testsuite/gas/xtensa/trampoline.d
+index b4f65dc..5ae32a6 100644
+--- a/gas/testsuite/gas/xtensa/trampoline.d
++++ b/gas/testsuite/gas/xtensa/trampoline.d
+@@ -24,3 +24,12 @@
+ .*33462:.*j.0x49407
+ #...
+ .*49407:.*j.0x49407
++.*4940a:.*beqz.n.a2,.0x4940f
++.*4940c:.*j.0x693d1
++#...
++.*693d1:.*j.0x7ddd4
++#...
++.*7ddd4:.*j.0x927f5
++#...
++.*927f5:.*j.0x927f5
++#...
+diff --git a/gas/testsuite/gas/xtensa/trampoline.s b/gas/testsuite/gas/xtensa/trampoline.s
+index 259a3bb..4465786 100644
+--- a/gas/testsuite/gas/xtensa/trampoline.s
++++ b/gas/testsuite/gas/xtensa/trampoline.s
+@@ -19,3 +19,10 @@
+ .endr
+ 3:
+ j 3b
++ bnez a2, 4f
++ .rep 50000
++ and a2, a2, a3
++ _ret
++ .endr
++4:
++ j 4b
+--
+1.8.1.4
+
diff --git a/package/botan/botan.mk b/package/botan/botan.mk
index ae0e02dbd3..2e47eb6e87 100644
--- a/package/botan/botan.mk
+++ b/package/botan/botan.mk
@@ -20,7 +20,7 @@ BOTAN_CONF_OPTS = \
--cc-bin="$(TARGET_CXX)"
ifeq ($(BR2_PREFER_STATIC_LIB),y)
- BOTAN_CONF_OPTS += --disable-shared
+ BOTAN_CONF_OPTS += --disable-shared --no-autoload
endif
ifeq ($(BR2_PACKAGE_BZIP2),y)
diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk
index 3575168840..b13f227f3d 100644
--- a/package/btrfs-progs/btrfs-progs.mk
+++ b/package/btrfs-progs/btrfs-progs.mk
@@ -17,6 +17,10 @@ BTRFS_PROGS_LICENSE_FILES = COPYING
ifeq ($(BR2_PREFER_STATIC_LIB),y)
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"
+endif
else
BTRFS_PROGS_MAKE_TARGET = all
BTRFS_PROGS_MAKE_INSTALL_TARGET = install
diff --git a/package/canfestival/Config.in b/package/canfestival/Config.in
index dd0db3efd5..d2bfaca3ce 100644
--- a/package/canfestival/Config.in
+++ b/package/canfestival/Config.in
@@ -2,14 +2,15 @@ config BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS
bool
default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_arm
-comment "canfestival needs a toolchain w/ threads"
+comment "canfestival needs a toolchain w/ threads and dynamic library"
depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_PREFER_STATIC_LIB
config BR2_PACKAGE_CANFESTIVAL
bool "canfestival"
depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_PREFER_STATIC_LIB
help
CanFestival is an OpenSource CANOpen framework, licensed under
LGPLv2.1 and GPLv2 for some drivers (virtual_kernel, lincan and
diff --git a/package/cdrkit/Config.in b/package/cdrkit/Config.in
index 9ba5dbf22f..81c5c01964 100644
--- a/package/cdrkit/Config.in
+++ b/package/cdrkit/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CDRKIT
select BR2_PACKAGE_LIBCAP
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libcap
bool "cdrkit"
help
cdrkit is a suite of programs for recording CDs and DVDs,
@@ -12,6 +13,6 @@ config BR2_PACKAGE_CDRKIT
http://www.cdrkit.org/
-comment "cdrkit needs a toolchain w/ largefile"
+comment "cdrkit needs a toolchain w/ largefile, headers >= 3.0"
depends on BR2_USE_MMU
- depends on !BR2_LARGEFILE
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/clamav/clamav-0003-backtrace-uClibc.patch b/package/clamav/clamav-0003-backtrace-uClibc.patch
new file mode 100644
index 0000000000..82ad67307d
--- /dev/null
+++ b/package/clamav/clamav-0003-backtrace-uClibc.patch
@@ -0,0 +1,22 @@
+mbox: do not use backtrace if using uClibc without backtrace support
+
+Since uClibc can be configured without support for backtrace, disable
+the backtrace if we are building with a uClibc that was built without
+backtrace.
+
+This is a bit hacky, and would greatly benefit from a test in ./configure
+instead, but does nicely as a quick fix for now.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+diff -durN clamav-0.98.4.orig/libclamav/mbox.c clamav-0.98.4/libclamav/mbox.c
+--- clamav-0.98.4.orig/libclamav/mbox.c 2014-05-21 17:25:05.000000000 +0200
++++ clamav-0.98.4/libclamav/mbox.c 2014-11-16 17:21:04.885383286 +0100
+@@ -83,7 +83,7 @@
+ #include <features.h>
+ #endif
+
+-#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1
++#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 && !defined(__UCLIBC__) || defined(__UCLIBC_HAS_BACKTRACE__)
+ #define HAVE_BACKTRACE
+ #endif
+ #endif
diff --git a/package/clamav/clamav-0004-fix-static-build.patch b/package/clamav/clamav-0004-fix-static-build.patch
new file mode 100644
index 0000000000..9c7850a6e9
--- /dev/null
+++ b/package/clamav/clamav-0004-fix-static-build.patch
@@ -0,0 +1,21 @@
+stats: fix static link
+
+The stats.c file does not use the dlopen() familly of functions, but
+includes dlfcn.h, which is missing on uClibc when it is configured as
+a static-only C library.
+
+so, simply do not include dlfcn.h.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN clamav-0.98.5.orig/libclamav/stats.c clamav-0.98.5/libclamav/stats.c
+--- clamav-0.98.5.orig/libclamav/stats.c 2014-11-13 23:30:43.000000000 +0100
++++ clamav-0.98.5/libclamav/stats.c 2014-11-25 19:57:14.344291266 +0100
+@@ -41,7 +41,6 @@
+ #include <sys/sysctl.h>
+ #endif
+ #endif
+-#include <dlfcn.h>
+ #else
+ #include <Windows.h>
+ #include <tchar.h>
diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash
index 4f21a5075c..dabda19a05 100644
--- a/package/clamav/clamav.hash
+++ b/package/clamav/clamav.hash
@@ -1,2 +1,2 @@
-# From http://sourceforge.net/projects/clamav/files/clamav/0.98.4/
-sha1 f1003d04f34efb0aede05395d3c7cc22c944e4ef clamav-0.98.4.tar.gz
+# From http://sourceforge.net/projects/clamav/files/clamav/0.98.5/
+sha1 5f5e45735819e3ca61610899b779172a5639f70f clamav-0.98.5.tar.gz
diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk
index c064d4e726..9a4063fd82 100644
--- a/package/clamav/clamav.mk
+++ b/package/clamav/clamav.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CLAMAV_VERSION = 0.98.4
+CLAMAV_VERSION = 0.98.5
CLAMAV_SITE = http://sourceforge.net/projects/clamav/files/clamav/$(CLAMAV_VERSION)
CLAMAV_LICENSE = GPLv2
CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \
@@ -32,6 +32,10 @@ CLAMAV_CONF_OPTS = \
ifeq ($(BR2_PACKAGE_BZIP2),y)
CLAMAV_DEPENDENCIES += bzip2
+# autodetection gets confused if host has bzip2, so force it
+CLAMAV_CONF_ENV += \
+ ac_cv_libbz2_libs=-lbz2 \
+ ac_cv_libbz2_ltlibs=-lbz2
else
CLAMAV_CONF_OPTS += --disable-bzip2
endif
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index 391d2cd407..db0d8a941f 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -51,7 +51,8 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \
gl_getline_needs_run_time_check=no \
gl_cv_have_proc_uptime=yes \
utils_cv_localtime_cache=no \
- PERL=missing
+ PERL=missing \
+ MAKEINFO=true
COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \
ln ls mkdir mknod mv pwd rm rmdir vdir sleep stty sync touch true \
@@ -101,12 +102,12 @@ endif
define COREUTILS_POST_INSTALL
# some things go in root rather than usr
for f in $(COREUTILS_BIN_PROGS); do \
- mv $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f; \
+ mv -f $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f; \
done
# link for archaic shells
ln -fs test $(TARGET_DIR)/usr/bin/[
# gnu thinks chroot is in bin, debian thinks it's in sbin
- mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
+ mv -f $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
endef
COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_POST_INSTALL
diff --git a/package/czmq/czmq.mk b/package/czmq/czmq.mk
index d25bf01c63..25f67d5212 100644
--- a/package/czmq/czmq.mk
+++ b/package/czmq/czmq.mk
@@ -18,6 +18,10 @@ CZMQ_LICENSE_FILES = LICENSE
# host-python, so disable asciidoc entirely.
CZMQ_CONF_ENV = ac_cv_prog_czmq_have_asciidoc=no
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+CZMQ_CONF_OPTS += LIBS="-lstdc++ -lm"
+endif
+
define CZMQ_CREATE_CONFIG_DIR
mkdir -p $(@D)/config
endef
diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash
new file mode 100644
index 0000000000..516b87ca38
--- /dev/null
+++ b/package/dbus/dbus.hash
@@ -0,0 +1,2 @@
+# Locally calculated after checking pgp signature
+sha256 10bf87fdb68815edd01d53885101dbcdd80dacad7198912cca61a4fa22dfaf8e dbus-1.8.10.tar.gz
diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk
index 519146cfb9..2d5d2c8d66 100644
--- a/package/dbus/dbus.mk
+++ b/package/dbus/dbus.mk
@@ -4,7 +4,7 @@
#
################################################################################
-DBUS_VERSION = 1.8.8
+DBUS_VERSION = 1.8.10
DBUS_SITE = http://dbus.freedesktop.org/releases/dbus
DBUS_LICENSE = AFLv2.1 GPLv2+
DBUS_LICENSE_FILES = COPYING
diff --git a/package/dhcp/dhclient-script b/package/dhcp/dhclient-script
index 5566aca5f9..cb292b6fbd 100755
--- a/package/dhcp/dhclient-script
+++ b/package/dhcp/dhclient-script
@@ -1,2 +1,284 @@
#!/bin/sh
-# empty dhclient-script to keep dhclient from complaining
+
+# dhclient-script from OpenWRT project
+# http://git.openwrt.org/?p=packages.git;a=blob;f=net/isc-dhcp/files/dhclient-script;h=4afebc0ad20ebac51c5baae5ed01c6713e3a0fd0;hb=HEAD
+
+make_resolv_conf() {
+ if [ x"$new_domain_name_servers" != x ]; then
+ cat /dev/null > /etc/resolv.conf.dhclient
+ chmod 644 /etc/resolv.conf.dhclient
+ if [ x"$new_domain_search" != x ]; then
+ echo search $new_domain_search >> /etc/resolv.conf.dhclient
+ elif [ x"$new_domain_name" != x ]; then
+ # Note that the DHCP 'Domain Name Option' is really just a domain
+ # name, and that this practice of using the domain name option as
+ # a search path is both nonstandard and deprecated.
+ echo search $new_domain_name >> /etc/resolv.conf.dhclient
+ fi
+ for nameserver in $new_domain_name_servers; do
+ echo nameserver $nameserver >>/etc/resolv.conf.dhclient
+ done
+
+ elif [ "x${new_dhcp6_name_servers}" != x ] ; then
+ cat /dev/null > /etc/resolv.conf.dhclient6
+ chmod 644 /etc/resolv.conf.dhclient6
+
+ if [ "x${new_dhcp6_domain_search}" != x ] ; then
+ echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
+ fi
+ for nameserver in ${new_dhcp6_name_servers} ; do
+ echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
+ done
+ fi
+
+ # if both v4 and v6 clients are running, concatenate results
+ cat /etc/resolv.conf.* > /etc/resolv.conf
+}
+
+# Must be used on exit. Invokes the local dhcp client exit hooks, if any.
+exit_with_hooks() {
+ exit_status=$1
+ if [ -f /etc/dhclient-exit-hooks ]; then
+ . /etc/dhclient-exit-hooks
+ fi
+# probably should do something with exit status of the local script
+ exit $exit_status
+}
+
+# Invoke the local dhcp client enter hooks, if they exist.
+if [ -f /etc/dhclient-enter-hooks ]; then
+ exit_status=0
+ . /etc/dhclient-enter-hooks
+ # allow the local script to abort processing of this state
+ # local script must set exit_status variable to nonzero.
+ if [ $exit_status -ne 0 ]; then
+ exit $exit_status
+ fi
+fi
+
+###
+### DHCPv4 Handlers
+###
+
+if [ x$new_broadcast_address != x ]; then
+ new_broadcast_arg="broadcast $new_broadcast_address"
+fi
+if [ x$new_subnet_mask != x ]; then
+ new_subnet_arg="netmask $new_subnet_mask"
+fi
+if [ x$alias_subnet_mask != x ]; then
+ alias_subnet_arg="netmask $alias_subnet_mask"
+fi
+
+if [ x$reason = xMEDIUM ]; then
+ # Linux doesn't do mediums (ok, ok, media).
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xPREINIT ]; then
+ if [ x$alias_ip_address != x ]; then
+ # Bring down alias interface. Its routes will disappear too.
+ ifconfig $interface:0- 0.0.0.0
+ fi
+ ifconfig $interface 0.0.0.0 up
+
+ # We need to give the kernel some time to get the interface up.
+ sleep 1
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xARPCHECK ] || [ x$reason = xARPSEND ]; then
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
+ [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then
+ current_hostname=`hostname`
+ if [ x$current_hostname = x ] || \
+ [ x$current_hostname = x$old_host_name ]; then
+ if [ x$current_hostname = x ] || \
+ [ x$new_host_name != x$old_host_name ]; then
+ hostname $new_host_name
+ fi
+ fi
+
+ if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
+ [ x$alias_ip_address != x$old_ip_address ]; then
+ # Possible new alias. Remove old alias.
+ ifconfig $interface:0- 0.0.0.0
+ fi
+ if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
+ # IP address changed. Bringing down the interface will delete all routes,
+ # and clear the ARP cache.
+ ifconfig $interface 0.0.0.0 down
+
+ fi
+ if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
+ [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
+
+ ifconfig $interface $new_ip_address $new_subnet_arg \
+ $new_broadcast_arg
+ for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router dev $interface
+ fi
+ route add default gw $router
+ done
+ fi
+ if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
+ then
+ ifconfig $interface:0- 0.0.0.0
+ ifconfig $interface:0 $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address $interface:0
+ fi
+ make_resolv_conf
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \
+ || [ x$reason = xSTOP ]; then
+ if [ x$alias_ip_address != x ]; then
+ # Turn off alias interface.
+ ifconfig $interface:0- 0.0.0.0
+ fi
+ if [ x$old_ip_address != x ]; then
+ # Shut down interface, which will delete routes and clear arp cache.
+ ifconfig $interface 0.0.0.0 down
+ fi
+ if [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0 $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address $interface:0
+ fi
+
+ # remove v4 dns configuration for this interface
+ rm /etc/resolv.conf.dhclient
+ cat /etc/resolv.conf.* > /etc/resolv.conf
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xTIMEOUT ]; then
+ if [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0- 0.0.0.0
+ fi
+ ifconfig $interface $new_ip_address $new_subnet_arg \
+ $new_broadcast_arg
+ set $new_routers
+ if ping -q -c 1 $1; then
+ if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0 $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address dev $interface:0
+ fi
+ for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router dev $interface
+ fi
+ route add default gw $router
+ done
+ make_resolv_conf
+ exit_with_hooks 0
+ fi
+ ifconfig $interface 0.0.0.0 down
+ exit_with_hooks 1
+fi
+
+###
+### DHCPv6 Handlers
+###
+
+if [ x$reason = xPREINIT6 ]; then
+ # Ensure interface is up.
+ ifconfig ${interface} up
+
+ # Remove any stale addresses from aborted clients.
+ ip -f inet6 addr flush dev ${interface} scope global
+
+ exit_with_hooks 0
+fi
+
+if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
+ echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xBOUND6 ]; then
+ if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ ifconfig ${interface} add ${new_ip6_address}/${new_ip6_prefixlen}
+
+ # Check for nameserver options.
+ make_resolv_conf
+
+### <<
+ # Set up softwire tunnel
+ if [ x${new_dhcp6_softwire} != x ] ; then
+ /etc/init.d/dhclient stop
+ ifconfig ${interface} 0.0.0.0
+ ip -6 tunnel add tun0 mode ipip6 \
+ remote ${new_dhcp6_softwire} \
+ local ${new_ip6_address} \
+ dev ${interface} encaplimit none
+ ip link set tun0 up
+ ip route add default dev tun0
+ fi
+### >>
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ]; then
+ if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ ifconfig ${interface} add ${new_ip6_address}/${new_ip6_prefixlen}
+
+ # Make sure nothing has moved around on us.
+
+ # Nameservers/domains/etc.
+ if [ "x${new_dhcp6_name_servers}" != "x${old_dhcp6_name_servers}" ] ||
+ [ "x${new_dhcp6_domain_search}" != "x${old_dhcp6_domain_search}" ] ; then
+ make_resolv_conf
+ fi
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xDEPREF6 ]; then
+ if [ x${new_ip6_address} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ # Busybox ifconfig has no way to communicate this to the kernel, so ignore it
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xEXPIRE6 -o x$reason = xRELEASE6 -o x$reason = xSTOP6 ]; then
+ if [ x${old_ip6_address} = x ] || [ x${old_ip6_prefixlen} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ ifconfig ${interface} del ${old_ip6_address}/${old_ip6_prefixlen}
+
+ # remove v6 dns configuration for this interface
+ rm /etc/resolv.conf.dhclient6
+ cat /etc/resolv.conf.* > /etc/resolv.conf
+
+### <<
+ # Tear down softwire tunnel
+ if [ x${old_dhcp6_softwire} != x ] ; then
+ ip link set tun0 down
+ ip tunnel del tun0
+ fi
+### >>
+
+ exit_with_hooks 0
+fi
+
+exit_with_hooks 0
diff --git a/package/dillo/Config.in b/package/dillo/Config.in
index 8d3cbb13a3..5c2cc6280f 100644
--- a/package/dillo/Config.in
+++ b/package/dillo/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_DILLO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # fltk fork()
select BR2_PACKAGE_FLTK
+ select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
Dillo is a multi-platform graphical web browser known
for its speed and small footprint.
diff --git a/package/dillo/dillo.mk b/package/dillo/dillo.mk
index bce23b01c6..d6fc7469b9 100644
--- a/package/dillo/dillo.mk
+++ b/package/dillo/dillo.mk
@@ -17,6 +17,8 @@ DILLO_DEPENDENCIES = fltk
DILLO_CONF_ENV = ac_cv_path_FLTK_CONFIG=$(STAGING_DIR)/usr/bin/fltk-config
+DILLO_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+
ifeq ($(BR2_PACKAGE_OPENSSL),y)
DILLO_CONF_OPTS += --enable-ssl
DILLO_DEPENDENCIES += openssl
diff --git a/package/dovecot/0002-fix-static-build.patch b/package/dovecot/0002-fix-static-build.patch
new file mode 100644
index 0000000000..be646bc6a4
--- /dev/null
+++ b/package/dovecot/0002-fix-static-build.patch
@@ -0,0 +1,24 @@
+Fix static build
+
+MODULE_SUFFIX is undefined when building statically; don't used it.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: sent upstream
+(http://dovecot.org/pipermail/dovecot/2014-November/098694.html)
+
+diff -Nuar dovecot-2.2.15-orig/src/lib/module-dir.c dovecot-2.2.15/src/lib/module-dir.c
+--- dovecot-2.2.15-orig/src/lib/module-dir.c 2014-10-18 00:10:15.000000000 +0300
++++ dovecot-2.2.15/src/lib/module-dir.c 2014-11-13 19:27:29.417786313 +0200
+@@ -621,7 +621,11 @@
+ if (*p == '_')
+ fname = p + 1;
+
++#ifdef MODULE_SUFFIX
+ p = strstr(fname, MODULE_SUFFIX);
++#else
++ p = NULL;
++#endif
+ if (p == NULL)
+ return fname;
+
diff --git a/package/dovecot/0003-fix-static-build.patch b/package/dovecot/0003-fix-static-build.patch
new file mode 100644
index 0000000000..c5dd9d1389
--- /dev/null
+++ b/package/dovecot/0003-fix-static-build.patch
@@ -0,0 +1,24 @@
+Fix symbol conflict in static build with MySQL enabled
+
+Compile error log:
+http://autobuild.buildroot.net/results/9b5/9b536926b3b2bf82c683b48e9697a220f1b4bf33/build-end.log
+
+Patch suggested by Timo Sirainen:
+http://www.dovecot.org/list/dovecot/2014-November/098787.html
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff -uNr dovecot-2.2.15.org/src/lib/strnum.h dovecot-2.2.15/src/lib/strnum.h
+--- dovecot-2.2.15.org/src/lib/strnum.h 2014-07-02 17:21:24.000000000 +0200
++++ dovecot-2.2.15/src/lib/strnum.h 2014-11-21 19:26:42.316225982 +0100
+@@ -1,6 +1,10 @@
+ #ifndef STRNUM_H
+ #define STRNUM_H
+
++/* libmysqlclient really should try to keep its internal stuff internal so
++ they won't conflict with the actual programs that are trying to use it. */
++#define str_to_time str_to_time_libmysqlclient_craps_all_over
++
+ /* Return TRUE if all characters in string are numbers.
+ Stop when `end_char' is found from string. */
+ bool str_is_numeric(const char *str, char end_char) ATTR_PURE;
diff --git a/package/duma/duma-01-fix-cross-compilation.patch b/package/duma/0001-fix-cross-compilation.patch
index eceaf06bec..eceaf06bec 100644
--- a/package/duma/duma-01-fix-cross-compilation.patch
+++ b/package/duma/0001-fix-cross-compilation.patch
diff --git a/package/duma/0002-no-tests.patch b/package/duma/0002-no-tests.patch
new file mode 100644
index 0000000000..6fe76f725f
--- /dev/null
+++ b/package/duma/0002-no-tests.patch
@@ -0,0 +1,19 @@
+Do not build test programs
+
+Biulding test programs does not work when we want to do a static link,
+because duma.a redefines memcpy and strcpy, so the link fails.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN duma-2.5.15.orig/GNUmakefile duma-2.5.15/GNUmakefile
+--- duma-2.5.15.orig/GNUmakefile 2014-11-16 14:47:05.874448560 +0100
++++ duma-2.5.15/GNUmakefile 2014-11-16 14:54:50.792048921 +0100
+@@ -294,7 +294,7 @@
+ SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o
+
+ # Make all the top-level targets the makefile knows about.
+-all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
++all: libduma.a $(DUMA_DYN_DEPS)
+
+ # Perform self tests on the program this makefile builds.
+ check test:
diff --git a/package/duma/duma.mk b/package/duma/duma.mk
index 6e730f9766..5e862ab25e 100644
--- a/package/duma/duma.mk
+++ b/package/duma/duma.mk
@@ -25,11 +25,11 @@ define DUMA_BUILD_CMDS
endef
define DUMA_INSTALL_STAGING_CMDS
- $(MAKE) prefix=$(STAGING_DIR)/usr install -C $(@D)
+ $(MAKE) OS=linux prefix=$(STAGING_DIR)/usr install -C $(@D)
endef
define DUMA_INSTALL_TARGET_CMDS
- $(MAKE) prefix=$(TARGET_DIR)/usr install -C $(@D)
+ $(MAKE) OS=linux prefix=$(TARGET_DIR)/usr install -C $(@D)
endef
$(eval $(generic-package))
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index 3961a94f91..8ee316a039 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -29,6 +29,12 @@ ifeq ($(BR2_nios2),y)
E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no
endif
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+# util-linux libuuid pulls in libintl if needed, so ensure we also
+# link against it, otherwise static linking fails
+E2FSPROGS_CONF_ENV += LIBS=-lintl
+endif
+
E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux
E2FSPROGS_MAKE_OPTS = \
diff --git a/package/erlang/Config.in b/package/erlang/Config.in
index 06833b9d86..0566582c1e 100644
--- a/package/erlang/Config.in
+++ b/package/erlang/Config.in
@@ -1,10 +1,11 @@
-comment "erlang needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "erlang needs a toolchain w/ threads, shared library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS && BR2_PREFER_STATIC_LIB
config BR2_PACKAGE_ERLANG
bool "erlang"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_PREFER_STATIC_LIB
help
Erlang is a programming language used to build massively scalable
soft real-time systems with requirements on high availability.
diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk
index e6899ded66..ef0e0a2987 100644
--- a/package/erlang/erlang.mk
+++ b/package/erlang/erlang.mk
@@ -27,6 +27,8 @@ ERLANG_CONF_OPTS = --without-javac
HOST_ERLANG_DEPENDENCIES = host-openssl
HOST_ERLANG_CONF_OPTS = --without-javac --with-ssl=$(HOST_DIR)/usr
+HOST_ERLANG_CONF_OPTS += --without-termcap
+
ifeq ($(BR2_PACKAGE_NCURSES),y)
ERLANG_CONF_OPTS += --with-termcap
ERLANG_DEPENDENCIES += ncurses
diff --git a/package/flac/0002-fix-CVE-2014-9028.patch b/package/flac/0002-fix-CVE-2014-9028.patch
new file mode 100644
index 0000000000..5a25ecf580
--- /dev/null
+++ b/package/flac/0002-fix-CVE-2014-9028.patch
@@ -0,0 +1,34 @@
+From fcf0ba06ae12ccd7c67cee3c8d948df15f946b85 Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Wed, 19 Nov 2014 19:35:59 -0800
+Subject: [PATCH] src/libFACL/stream_decoder.c : Fail safely to avoid a heap overflow.
+
+A file provided by the reporters caused the stream decoder to write to
+un-allocated heap space resulting in a segfault. The solution is to
+error out (by returning false from read_residual_partitioned_rice_())
+instead of trying to continue to decode.
+
+Fixes: CVE-2014-9028
+Reported-by: Michele Spagnuolo,
+ Google Security Team <mikispag@google.com>
+---
+ src/libFLAC/stream_decoder.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
+index 88a656d..54e84d4 100644
+--- a/src/libFLAC/stream_decoder.c
++++ b/src/libFLAC/stream_decoder.c
+@@ -2736,7 +2736,8 @@ FLAC__bool read_residual_partitioned_rice_(FLAC__StreamDecoder *decoder, unsigne
+ if(decoder->private_->frame.header.blocksize < predictor_order) {
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+- return true;
++ /* We have received a potentially malicious bt stream. All we can do is error out to avoid a heap overflow. */
++ return false;
+ }
+ }
+ else {
+--
+1.7.2.5
+
diff --git a/package/flac/0003-fix-CVE-2014-8962.patch b/package/flac/0003-fix-CVE-2014-8962.patch
new file mode 100644
index 0000000000..563100e186
--- /dev/null
+++ b/package/flac/0003-fix-CVE-2014-8962.patch
@@ -0,0 +1,40 @@
+From 5b3033a2b355068c11fe637e14ac742d273f076e Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Tue, 18 Nov 2014 07:20:25 -0800
+Subject: [PATCH] src/libFLAC/stream_decoder.c : Fix buffer read overflow.
+
+This is CVE-2014-8962.
+
+Reported-by: Michele Spagnuolo,
+ Google Security Team <mikispag@google.com>
+---
+ src/libFLAC/stream_decoder.c | 6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
+index cb66fe2..88a656d 100644
+--- a/src/libFLAC/stream_decoder.c
++++ b/src/libFLAC/stream_decoder.c
+@@ -71,7 +71,7 @@ FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC =
+ *
+ ***********************************************************************/
+
+-static FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
++static const FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
+
+ /***********************************************************************
+ *
+@@ -1361,6 +1361,10 @@ FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder)
+ id = 0;
+ continue;
+ }
++
++ if(id >= 3)
++ return false;
++
+ if(x == ID3V2_TAG_[id]) {
+ id++;
+ i = 0;
+--
+1.7.2.5
+
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index de40c631ee..3bccf3646c 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -30,7 +30,7 @@ choice
depends on !BR2_cortex_a7 && !BR2_cortex_a12 && \
!BR2_cortex_a15 && !BR2_fa526 && !BR2_pj4
# Broken or unsupported PPC cores
- depends on !BR2_power8
+ depends on !BR2_powerpc_power8
# SPARC -mcpu=leon3 appeared in gcc 4.8.3
depends on !BR2_sparc_leon3
# Broken or unsupported X86 cores
@@ -49,7 +49,7 @@ choice
# Broken or unsupported ARM cores
depends on !BR2_cortex_a12 && !BR2_pj4
# Broken or unsupported PPC cores
- depends on !BR2_power8
+ depends on !BR2_powerpc_power8
# SPARC -mcpu=leon3 appeared in gcc 4.8.3
depends on !BR2_sparc_leon3
# Broken or unsupported x86 cores
@@ -64,7 +64,7 @@ choice
# Broken or unsupported ARM cores
depends on !BR2_cortex_a12
# Broken or unsupported PPC cores
- depends on !BR2_power8
+ depends on !BR2_powerpc_power8
select BR2_GCC_NEEDS_MPC
select BR2_GCC_SUPPORTS_GRAPHITE
diff --git a/package/gd/gd.mk b/package/gd/gd.mk
index 927dfb2961..868b45e8f3 100644
--- a/package/gd/gd.mk
+++ b/package/gd/gd.mk
@@ -13,6 +13,7 @@ GD_LICENSE_FILES = COPYING
GD_CONFIG_SCRIPTS = gdlib-config
GD_CONF_OPTS = --without-x --disable-rpath
+GD_DEPENDENCIES = host-pkgconf
# gd forgets to link utilities with -pthread even though it uses
# pthreads, causing linking errors with static linking
@@ -32,6 +33,13 @@ else
GD_CONF_OPTS += --without-freetype
endif
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+GD_DEPENDENCIES += libiconv
+# not strictly needed for gd, but ensures -liconv ends up in
+# gdlib-config --libs output
+GD_CONF_ENV += LIBS="-liconv"
+endif
+
ifeq ($(BR2_PACKAGE_JPEG),y)
GD_DEPENDENCIES += jpeg
GD_CONF_OPTS += --with-jpeg
@@ -39,7 +47,7 @@ endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
GD_DEPENDENCIES += libpng
-GD_CONF_OPTS += --with-png=$(STAGING_DIR)/usr
+GD_CONF_OPTS += --with-png
else
GD_CONF_OPTS += --without-png
endif
diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk
index 8d0f76dcc6..dbec760f19 100644
--- a/package/gdb/gdb.mk
+++ b/package/gdb/gdb.mk
@@ -146,7 +146,7 @@ else
endif
ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON),y)
- HOST_GDB_CONF_OPTS += --with-python
+ HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python2
HOST_GDB_DEPENDENCIES += host-python
else
HOST_GDB_CONF_OPTS += --without-python
diff --git a/package/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch b/package/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch
new file mode 100644
index 0000000000..da2f49de10
--- /dev/null
+++ b/package/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch
@@ -0,0 +1,174 @@
+From https://bugzilla.redhat.com/show_bug.cgi?id=1157689
+Modified for eglibc.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
+EMBARGOED !!! EMBARGOED !!! EMARGOED !!! EMBARGOED !!! EMBARGOED !!!
+SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!!
+
+CVE-2014-7817:
+
+The function wordexp() fails to properly handle the WRDE_NOCMD
+flag when processing arithmetic inputs in the form of "$((... ``))"
+where "..." can be anything valid. The backticks in the arithmetic
+epxression are evaluated by in a shell even if WRDE_NOCMD forbade
+command substitution. This allows an attacker to attempt to pass
+dangerous commands via constructs of the above form, and bypass
+the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
+in parse_arith(). The patch also hardens parse_backticks() and
+parse_comm() to check for WRDE_NOCMD flag and return an error instead
+of ever running a shell.
+
+We expand the testsuite and add 3 new regression tests of roughtly
+the same form but with a couple of nested levels.
+
+On top of the 3 new tests we add fork validation to the WRDE_NOCMD
+testing. If any forks are detected during the execution of a wordexp()
+call with WRDE_NOCMD, the test is marked as failed. This is slightly
+heuristic since vfork might be used, but it provides a higher level
+of assurance that no shells were executed as part of command substitution
+with WRDE_NOCMD in effect. In addition it doesn't require libpthread or
+libdl, instead we use the public implementation namespace function
+__register_atfork (already part of the public ABI for libpthread).
+
+Tested on x86_64 with no regressions.
+
+2014-10-27 Carlos O'Donell <carlos@redhat.com>
+
+ * wordexp-test.c (__dso_handle): Add prototype.
+ (__register_atfork): Likewise.
+ (__app_register_atfork): New function.
+ (registered_forks): New global.
+ (register_fork): New function.
+ (test_case): Add 3 new tests for WRDE_CMDSUB.
+ (main): Call __app_register_atfork.
+ (testit): If WRDE_NOCMD set registered_forks to zero, run test, and
+ if fork count is non-zero fail the test.
+ * posix/wordexp.c (parse_arith): Return WRDE_NOCMD if WRDE_NOCMD flag
+ is set and parsing '`'.
+ (parse_comm): Return WRDE_NOCMD if WRDE_NOCMD flag is set.
+ (parse_backtick): Return WRDE_NOCMD if WRDE_NOCMD flag is set and
+ parsing '`'.
+
+diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
+index 4957006..5ce2a1b 100644
+--- a/libc/posix/wordexp-test.c
++++ b/libc/posix/wordexp-test.c
+@@ -27,6 +27,25 @@
+
+ #define IFS " \n\t"
+
++extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
++
++static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
++{
++ return __register_atfork (prepare, parent, child,
++ &__dso_handle == NULL ? NULL : __dso_handle);
++}
++
++/* Number of forks seen. */
++static int registered_forks;
++
++/* For each fork increment the fork count. */
++static void
++register_fork (void)
++{
++ registered_forks++;
++}
++
+ struct test_case_struct
+ {
+ int retval;
+@@ -206,6 +225,12 @@ struct test_case_struct
+ { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
++ /* Test for CVE-2014-7817. We test 3 combinations of command
++ substitution inside an arithmetic expression to make sure that
++ no commands are executed and error is returned. */
++ { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
+
+ { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
+ };
+@@ -258,6 +283,15 @@ main (int argc, char *argv[])
+ return -1;
+ }
+
++ /* If we are not allowed to do command substitution, we install
++ fork handlers to verify that no forks happened. No forks should
++ happen at all if command substitution is disabled. */
++ if (__app_register_atfork (register_fork, NULL, NULL) != 0)
++ {
++ printf ("Failed to register fork handler.\n");
++ return -1;
++ }
++
+ for (test = 0; test_case[test].retval != -1; test++)
+ if (testit (&test_case[test]))
+ ++fail;
+@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
+
+ printf ("Test %d (%s): ", ++tests, tc->words);
+
++ if (tc->flags & WRDE_NOCMD)
++ registered_forks = 0;
++
+ if (tc->flags & WRDE_APPEND)
+ {
+ /* initial wordexp() call, to be appended to */
+@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
+ }
+ retval = wordexp (tc->words, &we, tc->flags);
+
++ if ((tc->flags & WRDE_NOCMD)
++ && (registered_forks > 0))
++ {
++ printf ("FAILED fork called for WRDE_NOCMD\n");
++ return 1;
++ }
++
+ if (tc->flags & WRDE_DOOFFS)
+ start_offs = sav_we.we_offs;
+
+diff --git a/posix/wordexp.c b/posix/wordexp.c
+index b6b65dd..d6a158f 100644
+--- a/libc/posix/wordexp.c
++++ b/libc/posix/wordexp.c
+@@ -693,6 +693,12 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
+ break;
+
+ case '`':
++ if (flags & WRDE_NOCMD)
++ {
++ free (expr);
++ return WRDE_NOCMD;
++ }
++
+ (*offset)++;
+ error = parse_backtick (&expr, &expr_length, &expr_maxlen,
+ words, offset, flags, NULL, NULL, NULL);
+@@ -1144,6 +1150,10 @@ parse_comm (char **word, size_t *word_length, size_t *max_length,
+ size_t comm_maxlen;
+ char *comm = w_newword (&comm_length, &comm_maxlen);
+
++ /* Do nothing if command substitution should not succeed. */
++ if (flags & WRDE_NOCMD)
++ return WRDE_CMDSUB;
++
+ for (; words[*offset]; ++(*offset))
+ {
+ switch (words[*offset])
+@@ -2121,6 +2131,9 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
+ switch (words[*offset])
+ {
+ case '`':
++ if (flags & WRDE_NOCMD)
++ return WRDE_NOCMD;
++
+ /* Go -- give the script to the shell */
+ error = exec_comm (comm, word, word_length, max_length, flags,
+ pwordexp, ifs, ifs_white);
diff --git a/package/glibc/2.18-svnr23787/glibc-0001-accept-make4.patch b/package/glibc/2.18-svnr23787/0002-accept-make4.patch
index 4f426f29e6..4f426f29e6 100644
--- a/package/glibc/2.18-svnr23787/glibc-0001-accept-make4.patch
+++ b/package/glibc/2.18-svnr23787/0002-accept-make4.patch
diff --git a/package/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch b/package/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch
new file mode 100644
index 0000000000..da2f49de10
--- /dev/null
+++ b/package/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch
@@ -0,0 +1,174 @@
+From https://bugzilla.redhat.com/show_bug.cgi?id=1157689
+Modified for eglibc.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
+EMBARGOED !!! EMBARGOED !!! EMARGOED !!! EMBARGOED !!! EMBARGOED !!!
+SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!!
+
+CVE-2014-7817:
+
+The function wordexp() fails to properly handle the WRDE_NOCMD
+flag when processing arithmetic inputs in the form of "$((... ``))"
+where "..." can be anything valid. The backticks in the arithmetic
+epxression are evaluated by in a shell even if WRDE_NOCMD forbade
+command substitution. This allows an attacker to attempt to pass
+dangerous commands via constructs of the above form, and bypass
+the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
+in parse_arith(). The patch also hardens parse_backticks() and
+parse_comm() to check for WRDE_NOCMD flag and return an error instead
+of ever running a shell.
+
+We expand the testsuite and add 3 new regression tests of roughtly
+the same form but with a couple of nested levels.
+
+On top of the 3 new tests we add fork validation to the WRDE_NOCMD
+testing. If any forks are detected during the execution of a wordexp()
+call with WRDE_NOCMD, the test is marked as failed. This is slightly
+heuristic since vfork might be used, but it provides a higher level
+of assurance that no shells were executed as part of command substitution
+with WRDE_NOCMD in effect. In addition it doesn't require libpthread or
+libdl, instead we use the public implementation namespace function
+__register_atfork (already part of the public ABI for libpthread).
+
+Tested on x86_64 with no regressions.
+
+2014-10-27 Carlos O'Donell <carlos@redhat.com>
+
+ * wordexp-test.c (__dso_handle): Add prototype.
+ (__register_atfork): Likewise.
+ (__app_register_atfork): New function.
+ (registered_forks): New global.
+ (register_fork): New function.
+ (test_case): Add 3 new tests for WRDE_CMDSUB.
+ (main): Call __app_register_atfork.
+ (testit): If WRDE_NOCMD set registered_forks to zero, run test, and
+ if fork count is non-zero fail the test.
+ * posix/wordexp.c (parse_arith): Return WRDE_NOCMD if WRDE_NOCMD flag
+ is set and parsing '`'.
+ (parse_comm): Return WRDE_NOCMD if WRDE_NOCMD flag is set.
+ (parse_backtick): Return WRDE_NOCMD if WRDE_NOCMD flag is set and
+ parsing '`'.
+
+diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
+index 4957006..5ce2a1b 100644
+--- a/libc/posix/wordexp-test.c
++++ b/libc/posix/wordexp-test.c
+@@ -27,6 +27,25 @@
+
+ #define IFS " \n\t"
+
++extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
++
++static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
++{
++ return __register_atfork (prepare, parent, child,
++ &__dso_handle == NULL ? NULL : __dso_handle);
++}
++
++/* Number of forks seen. */
++static int registered_forks;
++
++/* For each fork increment the fork count. */
++static void
++register_fork (void)
++{
++ registered_forks++;
++}
++
+ struct test_case_struct
+ {
+ int retval;
+@@ -206,6 +225,12 @@ struct test_case_struct
+ { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
++ /* Test for CVE-2014-7817. We test 3 combinations of command
++ substitution inside an arithmetic expression to make sure that
++ no commands are executed and error is returned. */
++ { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
+
+ { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
+ };
+@@ -258,6 +283,15 @@ main (int argc, char *argv[])
+ return -1;
+ }
+
++ /* If we are not allowed to do command substitution, we install
++ fork handlers to verify that no forks happened. No forks should
++ happen at all if command substitution is disabled. */
++ if (__app_register_atfork (register_fork, NULL, NULL) != 0)
++ {
++ printf ("Failed to register fork handler.\n");
++ return -1;
++ }
++
+ for (test = 0; test_case[test].retval != -1; test++)
+ if (testit (&test_case[test]))
+ ++fail;
+@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
+
+ printf ("Test %d (%s): ", ++tests, tc->words);
+
++ if (tc->flags & WRDE_NOCMD)
++ registered_forks = 0;
++
+ if (tc->flags & WRDE_APPEND)
+ {
+ /* initial wordexp() call, to be appended to */
+@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
+ }
+ retval = wordexp (tc->words, &we, tc->flags);
+
++ if ((tc->flags & WRDE_NOCMD)
++ && (registered_forks > 0))
++ {
++ printf ("FAILED fork called for WRDE_NOCMD\n");
++ return 1;
++ }
++
+ if (tc->flags & WRDE_DOOFFS)
+ start_offs = sav_we.we_offs;
+
+diff --git a/posix/wordexp.c b/posix/wordexp.c
+index b6b65dd..d6a158f 100644
+--- a/libc/posix/wordexp.c
++++ b/libc/posix/wordexp.c
+@@ -693,6 +693,12 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
+ break;
+
+ case '`':
++ if (flags & WRDE_NOCMD)
++ {
++ free (expr);
++ return WRDE_NOCMD;
++ }
++
+ (*offset)++;
+ error = parse_backtick (&expr, &expr_length, &expr_maxlen,
+ words, offset, flags, NULL, NULL, NULL);
+@@ -1144,6 +1150,10 @@ parse_comm (char **word, size_t *word_length, size_t *max_length,
+ size_t comm_maxlen;
+ char *comm = w_newword (&comm_length, &comm_maxlen);
+
++ /* Do nothing if command substitution should not succeed. */
++ if (flags & WRDE_NOCMD)
++ return WRDE_CMDSUB;
++
+ for (; words[*offset]; ++(*offset))
+ {
+ switch (words[*offset])
+@@ -2121,6 +2131,9 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
+ switch (words[*offset])
+ {
+ case '`':
++ if (flags & WRDE_NOCMD)
++ return WRDE_NOCMD;
++
+ /* Go -- give the script to the shell */
+ error = exec_comm (comm, word, word_length, max_length, flags,
+ pwordexp, ifs, ifs_white);
diff --git a/package/glibc/2.19/0001-CVE-2014-7817.patch b/package/glibc/2.19/0001-CVE-2014-7817.patch
new file mode 100644
index 0000000000..cd20c42c20
--- /dev/null
+++ b/package/glibc/2.19/0001-CVE-2014-7817.patch
@@ -0,0 +1,173 @@
+Patch from https://bugzilla.redhat.com/show_bug.cgi?id=1157689
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
+EMBARGOED !!! EMBARGOED !!! EMARGOED !!! EMBARGOED !!! EMBARGOED !!!
+SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!!
+
+CVE-2014-7817:
+
+The function wordexp() fails to properly handle the WRDE_NOCMD
+flag when processing arithmetic inputs in the form of "$((... ``))"
+where "..." can be anything valid. The backticks in the arithmetic
+epxression are evaluated by in a shell even if WRDE_NOCMD forbade
+command substitution. This allows an attacker to attempt to pass
+dangerous commands via constructs of the above form, and bypass
+the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
+in parse_arith(). The patch also hardens parse_backticks() and
+parse_comm() to check for WRDE_NOCMD flag and return an error instead
+of ever running a shell.
+
+We expand the testsuite and add 3 new regression tests of roughtly
+the same form but with a couple of nested levels.
+
+On top of the 3 new tests we add fork validation to the WRDE_NOCMD
+testing. If any forks are detected during the execution of a wordexp()
+call with WRDE_NOCMD, the test is marked as failed. This is slightly
+heuristic since vfork might be used, but it provides a higher level
+of assurance that no shells were executed as part of command substitution
+with WRDE_NOCMD in effect. In addition it doesn't require libpthread or
+libdl, instead we use the public implementation namespace function
+__register_atfork (already part of the public ABI for libpthread).
+
+Tested on x86_64 with no regressions.
+
+2014-10-27 Carlos O'Donell <carlos@redhat.com>
+
+ * wordexp-test.c (__dso_handle): Add prototype.
+ (__register_atfork): Likewise.
+ (__app_register_atfork): New function.
+ (registered_forks): New global.
+ (register_fork): New function.
+ (test_case): Add 3 new tests for WRDE_CMDSUB.
+ (main): Call __app_register_atfork.
+ (testit): If WRDE_NOCMD set registered_forks to zero, run test, and
+ if fork count is non-zero fail the test.
+ * posix/wordexp.c (parse_arith): Return WRDE_NOCMD if WRDE_NOCMD flag
+ is set and parsing '`'.
+ (parse_comm): Return WRDE_NOCMD if WRDE_NOCMD flag is set.
+ (parse_backtick): Return WRDE_NOCMD if WRDE_NOCMD flag is set and
+ parsing '`'.
+
+diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
+index 4957006..5ce2a1b 100644
+--- a/posix/wordexp-test.c
++++ b/posix/wordexp-test.c
+@@ -27,6 +27,25 @@
+
+ #define IFS " \n\t"
+
++extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
++
++static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
++{
++ return __register_atfork (prepare, parent, child,
++ &__dso_handle == NULL ? NULL : __dso_handle);
++}
++
++/* Number of forks seen. */
++static int registered_forks;
++
++/* For each fork increment the fork count. */
++static void
++register_fork (void)
++{
++ registered_forks++;
++}
++
+ struct test_case_struct
+ {
+ int retval;
+@@ -206,6 +225,12 @@ struct test_case_struct
+ { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
++ /* Test for CVE-2014-7817. We test 3 combinations of command
++ substitution inside an arithmetic expression to make sure that
++ no commands are executed and error is returned. */
++ { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
+
+ { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
+ };
+@@ -258,6 +283,15 @@ main (int argc, char *argv[])
+ return -1;
+ }
+
++ /* If we are not allowed to do command substitution, we install
++ fork handlers to verify that no forks happened. No forks should
++ happen at all if command substitution is disabled. */
++ if (__app_register_atfork (register_fork, NULL, NULL) != 0)
++ {
++ printf ("Failed to register fork handler.\n");
++ return -1;
++ }
++
+ for (test = 0; test_case[test].retval != -1; test++)
+ if (testit (&test_case[test]))
+ ++fail;
+@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
+
+ printf ("Test %d (%s): ", ++tests, tc->words);
+
++ if (tc->flags & WRDE_NOCMD)
++ registered_forks = 0;
++
+ if (tc->flags & WRDE_APPEND)
+ {
+ /* initial wordexp() call, to be appended to */
+@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
+ }
+ retval = wordexp (tc->words, &we, tc->flags);
+
++ if ((tc->flags & WRDE_NOCMD)
++ && (registered_forks > 0))
++ {
++ printf ("FAILED fork called for WRDE_NOCMD\n");
++ return 1;
++ }
++
+ if (tc->flags & WRDE_DOOFFS)
+ start_offs = sav_we.we_offs;
+
+diff --git a/posix/wordexp.c b/posix/wordexp.c
+index b6b65dd..d6a158f 100644
+--- a/posix/wordexp.c
++++ b/posix/wordexp.c
+@@ -693,6 +693,12 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
+ break;
+
+ case '`':
++ if (flags & WRDE_NOCMD)
++ {
++ free (expr);
++ return WRDE_NOCMD;
++ }
++
+ (*offset)++;
+ error = parse_backtick (&expr, &expr_length, &expr_maxlen,
+ words, offset, flags, NULL, NULL, NULL);
+@@ -1144,6 +1150,10 @@ parse_comm (char **word, size_t *word_length, size_t *max_length,
+ size_t comm_maxlen;
+ char *comm = w_newword (&comm_length, &comm_maxlen);
+
++ /* Do nothing if command substitution should not succeed. */
++ if (flags & WRDE_NOCMD)
++ return WRDE_CMDSUB;
++
+ for (; words[*offset]; ++(*offset))
+ {
+ switch (words[*offset])
+@@ -2121,6 +2131,9 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
+ switch (words[*offset])
+ {
+ case '`':
++ if (flags & WRDE_NOCMD)
++ return WRDE_NOCMD;
++
+ /* Go -- give the script to the shell */
+ error = exec_comm (comm, word, word_length, max_length, flags,
+ pwordexp, ifs, ifs_white);
diff --git a/package/glibc/2.20/0001-CVE-2014-7817.patch b/package/glibc/2.20/0001-CVE-2014-7817.patch
new file mode 100644
index 0000000000..cd20c42c20
--- /dev/null
+++ b/package/glibc/2.20/0001-CVE-2014-7817.patch
@@ -0,0 +1,173 @@
+Patch from https://bugzilla.redhat.com/show_bug.cgi?id=1157689
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
+EMBARGOED !!! EMBARGOED !!! EMARGOED !!! EMBARGOED !!! EMBARGOED !!!
+SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!!
+
+CVE-2014-7817:
+
+The function wordexp() fails to properly handle the WRDE_NOCMD
+flag when processing arithmetic inputs in the form of "$((... ``))"
+where "..." can be anything valid. The backticks in the arithmetic
+epxression are evaluated by in a shell even if WRDE_NOCMD forbade
+command substitution. This allows an attacker to attempt to pass
+dangerous commands via constructs of the above form, and bypass
+the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
+in parse_arith(). The patch also hardens parse_backticks() and
+parse_comm() to check for WRDE_NOCMD flag and return an error instead
+of ever running a shell.
+
+We expand the testsuite and add 3 new regression tests of roughtly
+the same form but with a couple of nested levels.
+
+On top of the 3 new tests we add fork validation to the WRDE_NOCMD
+testing. If any forks are detected during the execution of a wordexp()
+call with WRDE_NOCMD, the test is marked as failed. This is slightly
+heuristic since vfork might be used, but it provides a higher level
+of assurance that no shells were executed as part of command substitution
+with WRDE_NOCMD in effect. In addition it doesn't require libpthread or
+libdl, instead we use the public implementation namespace function
+__register_atfork (already part of the public ABI for libpthread).
+
+Tested on x86_64 with no regressions.
+
+2014-10-27 Carlos O'Donell <carlos@redhat.com>
+
+ * wordexp-test.c (__dso_handle): Add prototype.
+ (__register_atfork): Likewise.
+ (__app_register_atfork): New function.
+ (registered_forks): New global.
+ (register_fork): New function.
+ (test_case): Add 3 new tests for WRDE_CMDSUB.
+ (main): Call __app_register_atfork.
+ (testit): If WRDE_NOCMD set registered_forks to zero, run test, and
+ if fork count is non-zero fail the test.
+ * posix/wordexp.c (parse_arith): Return WRDE_NOCMD if WRDE_NOCMD flag
+ is set and parsing '`'.
+ (parse_comm): Return WRDE_NOCMD if WRDE_NOCMD flag is set.
+ (parse_backtick): Return WRDE_NOCMD if WRDE_NOCMD flag is set and
+ parsing '`'.
+
+diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
+index 4957006..5ce2a1b 100644
+--- a/posix/wordexp-test.c
++++ b/posix/wordexp-test.c
+@@ -27,6 +27,25 @@
+
+ #define IFS " \n\t"
+
++extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
++
++static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
++{
++ return __register_atfork (prepare, parent, child,
++ &__dso_handle == NULL ? NULL : __dso_handle);
++}
++
++/* Number of forks seen. */
++static int registered_forks;
++
++/* For each fork increment the fork count. */
++static void
++register_fork (void)
++{
++ registered_forks++;
++}
++
+ struct test_case_struct
+ {
+ int retval;
+@@ -206,6 +225,12 @@ struct test_case_struct
+ { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
+ { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
++ /* Test for CVE-2014-7817. We test 3 combinations of command
++ substitution inside an arithmetic expression to make sure that
++ no commands are executed and error is returned. */
++ { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
++ { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
+
+ { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
+ };
+@@ -258,6 +283,15 @@ main (int argc, char *argv[])
+ return -1;
+ }
+
++ /* If we are not allowed to do command substitution, we install
++ fork handlers to verify that no forks happened. No forks should
++ happen at all if command substitution is disabled. */
++ if (__app_register_atfork (register_fork, NULL, NULL) != 0)
++ {
++ printf ("Failed to register fork handler.\n");
++ return -1;
++ }
++
+ for (test = 0; test_case[test].retval != -1; test++)
+ if (testit (&test_case[test]))
+ ++fail;
+@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
+
+ printf ("Test %d (%s): ", ++tests, tc->words);
+
++ if (tc->flags & WRDE_NOCMD)
++ registered_forks = 0;
++
+ if (tc->flags & WRDE_APPEND)
+ {
+ /* initial wordexp() call, to be appended to */
+@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
+ }
+ retval = wordexp (tc->words, &we, tc->flags);
+
++ if ((tc->flags & WRDE_NOCMD)
++ && (registered_forks > 0))
++ {
++ printf ("FAILED fork called for WRDE_NOCMD\n");
++ return 1;
++ }
++
+ if (tc->flags & WRDE_DOOFFS)
+ start_offs = sav_we.we_offs;
+
+diff --git a/posix/wordexp.c b/posix/wordexp.c
+index b6b65dd..d6a158f 100644
+--- a/posix/wordexp.c
++++ b/posix/wordexp.c
+@@ -693,6 +693,12 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
+ break;
+
+ case '`':
++ if (flags & WRDE_NOCMD)
++ {
++ free (expr);
++ return WRDE_NOCMD;
++ }
++
+ (*offset)++;
+ error = parse_backtick (&expr, &expr_length, &expr_maxlen,
+ words, offset, flags, NULL, NULL, NULL);
+@@ -1144,6 +1150,10 @@ parse_comm (char **word, size_t *word_length, size_t *max_length,
+ size_t comm_maxlen;
+ char *comm = w_newword (&comm_length, &comm_maxlen);
+
++ /* Do nothing if command substitution should not succeed. */
++ if (flags & WRDE_NOCMD)
++ return WRDE_CMDSUB;
++
+ for (; words[*offset]; ++(*offset))
+ {
+ switch (words[*offset])
+@@ -2121,6 +2131,9 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
+ switch (words[*offset])
+ {
+ case '`':
++ if (flags & WRDE_NOCMD)
++ return WRDE_NOCMD;
++
+ /* Go -- give the script to the shell */
+ error = exec_comm (comm, word, word_length, max_length, flags,
+ pwordexp, ifs, ifs_white);
diff --git a/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch b/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch
index 2d51e6f7bf..6d54ceae09 100644
--- a/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch
+++ b/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch
@@ -7,6 +7,8 @@ the UTF16 support or not.
Signed-off-by: Justin Maggard <jmaggard10@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+[baruch: add $(LDLIBS)]
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Index: b/Makefile
===================================================================
@@ -32,17 +34,17 @@ Index: b/Makefile
gdisk: $(LIB_OBJS) gdisk.o gpttext.o
-# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk
- $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk
-+ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) $(UTF16_LIBS) -luuid -o gdisk
++ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) $(UTF16_LIBS) -luuid $(LDLIBS) -o gdisk
cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o
-# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk
- $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk
-+ $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lncurses -o cgdisk
++ $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lncurses $(LDLIBS) -o cgdisk
sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o
-# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk
- $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk
-+ $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lpopt -o sgdisk
++ $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lpopt $(LDLIBS) -o sgdisk
fixparts: $(MBR_LIB_OBJS) fixparts.o
$(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts
diff --git a/package/gptfdisk/gptfdisk.mk b/package/gptfdisk/gptfdisk.mk
index 9828d4c798..897dc77ac6 100644
--- a/package/gptfdisk/gptfdisk.mk
+++ b/package/gptfdisk/gptfdisk.mk
@@ -26,6 +26,10 @@ GPTFDISK_DEPENDENCIES += icu
GPTFDISK_MAKE_OPTS += USE_UTF16=y
endif
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE)$(BR2_PREFER_STATIC_LIB),yy)
+GPTFDISK_MAKE_OPTS += LDLIBS=-lintl
+endif
+
define GPTFDISK_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
$(GPTFDISK_MAKE_OPTS) $(GPTFDISK_TARGETS_y)
diff --git a/package/grantlee/Config.in b/package/grantlee/Config.in
index 8f763f7ef0..900c39e143 100644
--- a/package/grantlee/Config.in
+++ b/package/grantlee/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_GRANTLEE
bool "grantlee"
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # Qt Script
depends on (BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT && BR2_PACKAGE_QT) || BR2_PACKAGE_QT5
select BR2_PACKAGE_QT_STL if BR2_PACKAGE_QT
select BR2_PACKAGE_QT_SCRIPT if BR2_PACKAGE_QT
@@ -11,3 +12,6 @@ config BR2_PACKAGE_GRANTLEE
http://www.grantlee.org
+comment "grantlee needs a toolchain with NPTL"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT || BR2_PACKAGE_QT5
diff --git a/package/gstreamer1/gst1-validate/Config.in b/package/gstreamer1/gst1-validate/Config.in
index ffcdd270a5..34ec85ff4a 100644
--- a/package/gstreamer1/gst1-validate/Config.in
+++ b/package/gstreamer1/gst1-validate/Config.in
@@ -1,9 +1,14 @@
-menuconfig BR2_PACKAGE_GST1_VALIDATE
+config BR2_PACKAGE_GST1_VALIDATE
bool "gst1-validate"
+ depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_PYTHON_PYEXPAT
help
GstValidate is a tool that allows GStreamer developers to
check that the GstElements they write behave the way they
are supposed to.
http://gstreamer.freedesktop.org/
+
+comment "gst1-validate depends on python"
+ depends on !BR2_PACKAGE_PYTHON
diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk
index 4972cacb6e..9a9e796aa9 100644
--- a/package/gstreamer1/gst1-validate/gst1-validate.mk
+++ b/package/gstreamer1/gst1-validate/gst1-validate.mk
@@ -12,6 +12,6 @@ GST1_VALIDATE_LICENSE_FILES = COPYING
GST1_VALIDATE_CONF_OPTS = --disable-sphinx-doc
-GST1_VALIDATE_DEPENDENCIES = gstreamer1 gst1-plugins-base
+GST1_VALIDATE_DEPENDENCIES = gstreamer1 gst1-plugins-base host-python python
$(eval $(autotools-package))
diff --git a/package/heirloom-mailx/Config.in b/package/heirloom-mailx/Config.in
index ca83dc365d..a2521ef663 100644
--- a/package/heirloom-mailx/Config.in
+++ b/package/heirloom-mailx/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_HEIRLOOM_MAILX
bool "heirloom-mailx"
# uses fork()
depends on BR2_USE_MMU
+ depends on !BR2_PREFER_STATIC_LIB
help
Heirloom mailx (previously known as nail) is a mail user
agent for Unix systems.
@@ -13,3 +14,7 @@ config BR2_PACKAGE_HEIRLOOM_MAILX
cram-md5), SMTPS, MIME encoding of attachements, and more.
http://heirloom.sourceforge.net/mailx.html
+
+comment "heirloom-mailx needs a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB
+ depends on BR2_USE_MMU
diff --git a/package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch b/package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch
new file mode 100644
index 0000000000..fe1ab774a0
--- /dev/null
+++ b/package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch
@@ -0,0 +1,34 @@
+From 712fddacfb5c4a8a48d9c5debe1870bc051d836c Mon Sep 17 00:00:00 2001
+From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
+Date: Tue, 6 Nov 2012 02:44:12 +0900
+Subject: [PATCH] ping,ping6: Fix hang with -f option.
+
+Bug was introduced by commit 8feb586c4... (ping,ping6: Check return
+value of write(2) for stdout.).
+
+https://bugs.archlinux.org/task/32306
+
+Patch-by: Jan Synacek <jsynacek@redhat.com>
+Reported-by: Mohammad Alsaleh <msal@tormail.org>
+Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ ping_common.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ping_common.h b/ping_common.h
+index d2a2b5c..6726e1b 100644
+--- a/ping_common.h
++++ b/ping_common.h
+@@ -140,7 +140,7 @@ static inline void write_stdout(const char *str, size_t len)
+ do {
+ cc = write(STDOUT_FILENO, str + o, len - o);
+ o += cc;
+- } while (len >= o || cc < 0);
++ } while (len > o || cc < 0);
+ }
+
+ /*
+--
+2.1.3
+
diff --git a/package/iputils/Config.in b/package/iputils/Config.in
index 456fddf769..e9221ad704 100644
--- a/package/iputils/Config.in
+++ b/package/iputils/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_IPUTILS
bool "iputils"
- select BR2_OPENSSL if BR2_INET_IPV6
+ select BR2_PACKAGE_OPENSSL if BR2_INET_IPV6
depends on BR2_USE_MMU # fork()
# requires dn_comp (only available in since uclibc 0.9.33)
depends on !BR2_avr32
diff --git a/package/lame/lame.mk b/package/lame/lame.mk
index c179cef409..e9d5d731f3 100644
--- a/package/lame/lame.mk
+++ b/package/lame/lame.mk
@@ -19,7 +19,7 @@ LAME_LICENSE_FILES = COPYING
# So, if BR2_ENABLE_DEBUG is selected, then we have force lame to be
# built without debug symbols for Aarch64 and MIPS because these
# architectures don't have those macros defined.
-ifeq ($(BR2_ENABLE_DEBUG)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),yy)
+ifeq ($(BR2_ENABLE_DEBUG)$(BR2_aarch64)$(BR2_arm)$(BR2_armeb)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),yy)
LAME_CONF_OPTS += --disable-debug
endif
diff --git a/package/libcap/Config.in b/package/libcap/Config.in
index 5b0c827191..2e3c8d9795 100644
--- a/package/libcap/Config.in
+++ b/package/libcap/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBCAP
bool "libcap"
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # XATTR_NAME_CAPS
help
This library implements the user-space interfaces to the
POSIX 1003.1e capabilities available in Linux kernels. These
@@ -22,3 +23,6 @@ config BR2_PACKAGE_LIBCAP_TOOLS
CONFIG_EXT2_FS_XATTR and CONFIG_EXT2_FS_SECURITY for ext2).
endif
+
+comment "libcap needs a toolchain w/ headers >= 3.0"
+ depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/libgcrypt/Config.in b/package/libgcrypt/Config.in
index 55d2f170cd..dd8f270116 100644
--- a/package/libgcrypt/Config.in
+++ b/package/libgcrypt/Config.in
@@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBGCRYPT
help
LibGCrypt is GNU's basic cryptographic library.
- ftp://gd.tuwien.ac.at/privacy/gnupg/libgcrypt/
+ http://www.gnu.org/software/libgcrypt/
diff --git a/package/libksba/libksba.hash b/package/libksba/libksba.hash
index c7d209a198..3bd6ef0280 100644
--- a/package/libksba/libksba.hash
+++ b/package/libksba/libksba.hash
@@ -1,2 +1,2 @@
-# Locally calculated after checking pgp signature
-sha256 bc96b95516bd2b67f413bc8b5cc5a75a2583c6e666d24dfd0d5bcc6b1aab46f9 libksba-1.3.1.tar.bz2
+# From http://lists.gnupg.org/pipermail/gnupg-announce/2014q4/000359.html
+sha1 37d0893a587354af2b6e49f6ae701ca84f52da67 libksba-1.3.2.tar.bz2
diff --git a/package/libksba/libksba.mk b/package/libksba/libksba.mk
index aaf9b627f4..b48cac5538 100644
--- a/package/libksba/libksba.mk
+++ b/package/libksba/libksba.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBKSBA_VERSION = 1.3.1
+LIBKSBA_VERSION = 1.3.2
LIBKSBA_SOURCE = libksba-$(LIBKSBA_VERSION).tar.bz2
LIBKSBA_SITE = ftp://ftp.gnupg.org/gcrypt/libksba
LIBKSBA_LICENSE = LGPLv3+ or GPLv2+ (library, headers), GPLv3+ (manual, tests, build system)
diff --git a/package/libllcp/libllcp.mk b/package/libllcp/libllcp.mk
index 29b5dd0db3..e0dbb8324b 100644
--- a/package/libllcp/libllcp.mk
+++ b/package/libllcp/libllcp.mk
@@ -7,11 +7,13 @@
LIBLLCP_VERSION = cf0c4b3c9df98851c6092c130192130c3f5a46bd
LIBLLCP_SITE = https://libllcp.googlecode.com/git
LIBLLCP_SITE_METHOD = git
-LIBLLCP_DEPENDENCIES = libnfc
+LIBLLCP_DEPENDENCIES = host-pkgconf libnfc
# There's no ./configure in the repository, so we need to autoreconf
LIBLLCP_AUTORECONF = YES
LIBLLCP_INSTALL_STAGING = YES
LIBLLCP_LICENSE = GPLv3+
LIBLLCP_LICENSE_FILES = COPYING
+# ensure graphviz isn't used
+LIBLLCP_CONF_ENV = ac_cv_path_DOT=
$(eval $(autotools-package))
diff --git a/package/libmemcached/libmemcached-01-disable-tests.patch b/package/libmemcached/0001-disable-tests.patch
index 6128306787..6128306787 100644
--- a/package/libmemcached/libmemcached-01-disable-tests.patch
+++ b/package/libmemcached/0001-disable-tests.patch
diff --git a/package/libmemcached/0002-disable-sanitizer.patch b/package/libmemcached/0002-disable-sanitizer.patch
new file mode 100644
index 0000000000..108da22550
--- /dev/null
+++ b/package/libmemcached/0002-disable-sanitizer.patch
@@ -0,0 +1,25 @@
+Disable sanitizer checks, they're busted.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura libmemcached-1.0.18.orig/m4/ax_harden_compiler_flags.m4 libmemcached-1.0.18/m4/ax_harden_compiler_flags.m4
+--- libmemcached-1.0.18.orig/m4/ax_harden_compiler_flags.m4 2014-11-13 08:07:09.011614311 -0300
++++ libmemcached-1.0.18/m4/ax_harden_compiler_flags.m4 2014-11-13 08:07:52.406092440 -0300
+@@ -222,8 +222,6 @@
+ # GCC 4.5 removed this.
+ # _APPEND_COMPILE_FLAGS_ERROR([-Wunreachable-code])
+
+- _SET_SANITIZE_FLAGS
+-
+ AS_IF([test "x$ax_enable_debug" = xno],
+ [AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+ [AS_IF([test "x${host_os}" != "xmingw"],
+@@ -337,8 +335,6 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-fstack-protector-all])
+ ])])])])
+
+- _SET_SANITIZE_FLAGS
+-
+ AS_IF([test "x$ac_cv_warnings_as_errors" = xyes],
+ [AX_APPEND_FLAG([-Werror])])
+ AC_LANG_POP([C++])
diff --git a/package/libmemcached/libmemcached.mk b/package/libmemcached/libmemcached.mk
index daeb2832e2..d442b3c16e 100644
--- a/package/libmemcached/libmemcached.mk
+++ b/package/libmemcached/libmemcached.mk
@@ -13,7 +13,7 @@ LIBMEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' \
LIBMEMCACHED_CONF_OPTS = --disable-dtrace
LIBMEMCACHED_INSTALL_STAGING = YES
LIBMEMCACHED_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBEVENT),libevent)
-# For libmemcached-01-disable-tests.patch
+# For 0001-disable-tests.patch and 0002-disable-sanitizer.patch
LIBMEMCACHED_AUTORECONF = YES
LIBMEMCACHED_LICENSE = BSD-3c
LIBMEMCACHED_LICENSE_FILES = COPYING
diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk
index c071d8591f..1930870a51 100644
--- a/package/libnspr/libnspr.mk
+++ b/package/libnspr/libnspr.mk
@@ -21,6 +21,12 @@ LIBNSPR_CONF_OPTS = --host=$(GNU_HOST_NAME)
LIBNSPR_CONF_OPTS += --$(if $(BR2_ARCH_IS_64),en,dis)able-64bit
LIBNSPR_CONF_OPTS += --$(if $(BR2_INET_IPV6),en,dis)able-ipv6
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBNSPR_MAKE_OPTS = SHARED_LIBRARY=
+LIBNSPR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SHARED_LIBRARY= install
+LIBNSPR_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) SHARED_LIBRARY= install
+endif
+
ifeq ($(BR2_arm),y)
ifeq ($(BR2_ARM_CPU_HAS_THUMB2),y)
LIBNSPR_CONF_OPTS += --enable-thumb2
diff --git a/package/libpng/libpng-01-disable-tools.patch b/package/libpng/0001-disable-tools.patch
index e30eca9ffc..e30eca9ffc 100644
--- a/package/libpng/libpng-01-disable-tools.patch
+++ b/package/libpng/0001-disable-tools.patch
diff --git a/package/libpng/libpng-02-ignore-symbol-prefix.patch b/package/libpng/0002-ignore-symbol-prefix.patch
index 7f2cfff248..7f2cfff248 100644
--- a/package/libpng/libpng-02-ignore-symbol-prefix.patch
+++ b/package/libpng/0002-ignore-symbol-prefix.patch
diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash
new file mode 100644
index 0000000000..37f60679c3
--- /dev/null
+++ b/package/libpng/libpng.hash
@@ -0,0 +1,3 @@
+# From http://sourceforge.net/projects/libpng/files/libpng16/1.6.15/
+md5 a95cb387c53215b034203b41ec57c7e5 libpng-1.6.15.tar.xz
+sha1 bddeac8ca97fbcf54d6d32c6eefed5d94b49df88 libpng-1.6.15.tar.xz
diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk
index 99510ca074..67bf14196a 100644
--- a/package/libpng/libpng.mk
+++ b/package/libpng/libpng.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBPNG_VERSION = 1.6.12
+LIBPNG_VERSION = 1.6.15
LIBPNG_SERIES = 16
LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz
LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/$(LIBPNG_VERSION)
diff --git a/package/libshairplay/Config.in b/package/libshairplay/Config.in
index bcdad3f724..92955ee024 100644
--- a/package/libshairplay/Config.in
+++ b/package/libshairplay/Config.in
@@ -2,11 +2,17 @@ config BR2_PACKAGE_LIBSHAIRPLAY
bool "libshairplay"
depends on BR2_INET_IPV6
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU # avahi
+ depends on !BR2_PREFER_STATIC_LIB # avahi
+ select BR2_PACKAGE_AVAHI
+ select BR2_PACKAGE_AVAHI_DAEMON
+ select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY # runtime
help
libshairplay is a client library that emulates an airplay
server.
https://github.com/juhovh/shairplay
-comment "libshairplay needs a toolchain w/ IPv6, threads"
- depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS
+comment "libshairplay needs a toolchain w/ IPv6, threads, dynamic library"
+ depends on BR2_USE_MMU
+ depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS || BR2_PREFER_STATIC_LIB
diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk
index 67064ebc57..c9f7059bc1 100644
--- a/package/libssh2/libssh2.mk
+++ b/package/libssh2/libssh2.mk
@@ -18,6 +18,9 @@ LIBSSH2_DEPENDENCIES += libgcrypt
LIBSSH2_CONF_OPTS += --with-libgcrypt \
--with-libgcrypt-prefix=$(STAGING_DIR)/usr \
--without-openssl
+# configure.ac forgets to link to dependent libraries of gcrypt breaking static
+# linking
+LIBSSH2_CONF_ENV += LIBS="$(shell $(STAGING_DIR)/usr/bin/libgcrypt-config --libs)"
else
LIBSSH2_DEPENDENCIES += openssl
LIBSSH2_CONF_OPTS += --with-openssl \
diff --git a/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch b/package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
index 9bcca8aa94..9bcca8aa94 100644
--- a/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
+++ b/package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
diff --git a/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch b/package/libtirpc/0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
index 6ec5d8e43d..6ec5d8e43d 100644
--- a/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
+++ b/package/libtirpc/0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
diff --git a/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch b/package/libtirpc/0003-Make-IPv6-support-optional.patch
index ad8ce653e0..ad8ce653e0 100644
--- a/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
+++ b/package/libtirpc/0003-Make-IPv6-support-optional.patch
diff --git a/package/libtirpc/libtirpc-0008-Add-rpcgen-program-from-nfs-utils-sources.patch b/package/libtirpc/0004-Add-rpcgen-program-from-nfs-utils-sources.patch
index 195803ca04..195803ca04 100644
--- a/package/libtirpc/libtirpc-0008-Add-rpcgen-program-from-nfs-utils-sources.patch
+++ b/package/libtirpc/0004-Add-rpcgen-program-from-nfs-utils-sources.patch
diff --git a/package/libtirpc/libtirpc-0009-Automatically-generate-XDR-header-files-from-.x-sour.patch b/package/libtirpc/0005-Automatically-generate-XDR-header-files-from-.x-sour.patch
index 3c1c82d0c7..3c1c82d0c7 100644
--- a/package/libtirpc/libtirpc-0009-Automatically-generate-XDR-header-files-from-.x-sour.patch
+++ b/package/libtirpc/0005-Automatically-generate-XDR-header-files-from-.x-sour.patch
diff --git a/package/libtirpc/libtirpc-0010-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch b/package/libtirpc/0006-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch
index 638918bdf1..638918bdf1 100644
--- a/package/libtirpc/libtirpc-0010-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch
+++ b/package/libtirpc/0006-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch
diff --git a/package/libtirpc/0007-needs-pthread.patch b/package/libtirpc/0007-needs-pthread.patch
new file mode 100644
index 0000000000..6cdf98afe9
--- /dev/null
+++ b/package/libtirpc/0007-needs-pthread.patch
@@ -0,0 +1,25 @@
+pkg-config: needs pthread as private library
+
+libtirpc needs pthreads. This is automatically pulled in when linking
+with the shared library, thanks to the DT_NEEDED ELF tags.
+
+But for a static library, there is no such mechanism to identify
+required libraries.
+
+Thus, add -pthread to the private libraries in the pkg-config file.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch sent upstream:
+ http://sourceforge.net/p/libtirpc/mailman/message/33072076/
+
+diff -durN libtirpc-0.2.4.orig/libtirpc.pc.in libtirpc-0.2.4/libtirpc.pc.in
+--- libtirpc-0.2.4.orig/libtirpc.pc.in 2013-12-09 21:59:51.000000000 +0100
++++ libtirpc-0.2.4/libtirpc.pc.in 2014-11-23 14:02:58.677760108 +0100
+@@ -8,4 +8,5 @@
+ Requires:
+ Version: @PACKAGE_VERSION@
+ Libs: -L@libdir@ -ltirpc
++Libs.private: -pthread
+ Cflags: -I@includedir@/tirpc
diff --git a/package/libunwind/libunwind-01-disable-tests.patch b/package/libunwind/0001-disable-tests.patch
index 05475a5d6c..05475a5d6c 100644
--- a/package/libunwind/libunwind-01-disable-tests.patch
+++ b/package/libunwind/0001-disable-tests.patch
diff --git a/package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch b/package/libunwind/0002-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
index 2a37ed7784..2a37ed7784 100644
--- a/package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
+++ b/package/libunwind/0002-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
diff --git a/package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch b/package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
new file mode 100644
index 0000000000..7ea25129f1
--- /dev/null
+++ b/package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
@@ -0,0 +1,41 @@
+From f1684379dfaf8018d5d4c1945e292a56d0fab245 Mon Sep 17 00:00:00 2001
+From: Thierry Reding <treding@nvidia.com>
+Date: Fri, 27 Jun 2014 08:40:33 +0200
+Subject: [PATCH] Link libunwind to libgcc_s rather than libgcc
+
+For some architectures, -lgcc and -lgcc_s are not equivalent. On ARM for
+example, libgcc_s.so.1 contains some symbols needed by libunwind which
+are not present in libgcc.
+
+This causes the following link error when building the X.Org X server
+with libunwind support:
+
+ CCLD Xorg
+ /usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr0'
+ /usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr1'
+
+Linking against libgcc_s explicitly solves this problem.
+
+Signed-off-by: Thierry Reding <treding@nvidia.com>
+[yann.morin.1998@free.fr: backport to libunwind 1.1]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4e2fd23..a77cf01 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -258,7 +258,7 @@ else
+
+ if test x$GCC = xyes -a x$intel_compiler != xyes; then
+ CFLAGS="${CFLAGS} -fexceptions -Wall -Wsign-compare"
+- LIBCRTS="-lgcc"
++ LIBCRTS="-lgcc_s"
+ fi
+ AC_MSG_RESULT([$intel_compiler])
+
+--
+1.9.1
+
diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in
index 1e0e192ac0..85cb472ed3 100644
--- a/package/libunwind/Config.in
+++ b/package/libunwind/Config.in
@@ -12,5 +12,4 @@ config BR2_PACKAGE_LIBUNWIND
comment "libunwind needs a uclibc snapshot or (e)glibc toolchain w/ threads"
depends on BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_mips64 || \
BR2_mips64el || BR2_powerpc || BR2_sh || BR2_sh64 || BR2_i386 || BR2_x86_64
- depends on !BR2_TOOLCHAIN_HAS_THREADS
- depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC)
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC)
diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in
index 04f0c6a9b3..aca514a490 100644
--- a/package/libv4l/Config.in
+++ b/package/libv4l/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBV4L
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # media headers
select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
@@ -28,6 +29,7 @@ config BR2_PACKAGE_LIBV4L_UTILS
endif
-comment "libv4l needs a toolchain w/ largefile, threads and C++"
- depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+comment "libv4l needs a toolchain w/ largefile, threads and C++, headers >= 3.0"
depends on BR2_USE_MMU
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch b/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch
index 50e9a4e0b0..95d1ad8f39 100644
--- a/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch
+++ b/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch
@@ -9,6 +9,8 @@ updating libwebsockets.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
+[yann.morin.1998@free.fr: further fix after the version bumped]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
CMakeLists.txt | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
@@ -76,6 +78,30 @@ index 7978845..89853ce 100644
target_link_libraries(${lib} ${LIB_LIST})
endforeach()
---
-2.1.2
-
+@@ -793,7 +800,7 @@
+ set(LWS_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
+
+ # Export targets (This is used for other CMake projects to easily find the libraries and include files).
+-export(TARGETS websockets websockets_shared
++export(TARGETS ${_libs_websockets}
+ FILE "${PROJECT_BINARY_DIR}/LibwebsocketsTargets.cmake")
+ export(PACKAGE libwebsockets)
+
+@@ -829,7 +835,7 @@
+ ${PROJECT_BINARY_DIR}/LibwebsocketsConfigVersion.cmake
+ @ONLY)
+
+-set_target_properties(websockets websockets_shared
++set_target_properties(${_libs_websockets}
+ PROPERTIES PUBLIC_HEADER "${HDR_PUBLIC}")
+
+ #
+@@ -837,7 +843,7 @@
+ #
+
+ # Install libs and headers.
+-install(TARGETS websockets websockets_shared
++install(TARGETS ${_libs_websockets}
+ EXPORT LibwebsocketsTargets
+ LIBRARY DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries
+ ARCHIVE DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index 4169d41ce8..d765e3a7ea 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -165,12 +165,12 @@ config BR2_DEFAULT_KERNEL_HEADERS
default "3.0.101" if BR2_KERNEL_HEADERS_3_0
default "3.2.64" if BR2_KERNEL_HEADERS_3_2
default "3.4.104" if BR2_KERNEL_HEADERS_3_4
- default "3.10.59" if BR2_KERNEL_HEADERS_3_10
+ default "3.10.61" if BR2_KERNEL_HEADERS_3_10
default "3.11.10" if BR2_KERNEL_HEADERS_3_11
- default "3.12.32" if BR2_KERNEL_HEADERS_3_12
+ default "3.12.33" if BR2_KERNEL_HEADERS_3_12
default "3.13.11" if BR2_KERNEL_HEADERS_3_13
- default "3.14.23" if BR2_KERNEL_HEADERS_3_14
+ default "3.14.25" if BR2_KERNEL_HEADERS_3_14
default "3.15.10" if BR2_KERNEL_HEADERS_3_15
default "3.16.7" if BR2_KERNEL_HEADERS_3_16
- default "3.17.2" if BR2_KERNEL_HEADERS_3_17
+ default "3.17.4" if BR2_KERNEL_HEADERS_3_17
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk
index 2c1f8f4ed1..85e9f1528e 100644
--- a/package/luajit/luajit.mk
+++ b/package/luajit/luajit.mk
@@ -64,6 +64,11 @@ define LUAJIT_INSTALL_TARGET_CMDS
$(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" LDCONFIG=true -C $(@D) install
endef
+define LUAJIT_INSTALL_SYMLINK
+ ln -fs luajit $(TARGET_DIR)/usr/bin/lua
+endef
+LUAJIT_POST_INSTALL_TARGET_HOOKS += LUAJIT_INSTALL_SYMLINK
+
define HOST_LUAJIT_BUILD_CMDS
$(MAKE) PREFIX="/usr" BUILDMODE=static -C $(@D) amalg
endef
diff --git a/package/lxc/Config.in b/package/lxc/Config.in
index 3eae64ac34..cf85712a5a 100644
--- a/package/lxc/Config.in
+++ b/package/lxc/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_LXC
depends on BR2_USE_MMU # fork()
depends on !BR2_avr32 # no timerfd
depends on !BR2_nios2 # the toolchain doesn't support setns syscall
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libcap
help
Linux Containers (LXC), provides the ability to group and isolate
of a set of processes in a jail by virtualizing and accounting the
@@ -14,8 +15,9 @@ config BR2_PACKAGE_LXC
https://linuxcontainers.org/
-comment "lxc needs a toolchain w/ IPv6, threads, largefile"
+comment "lxc needs a toolchain w/ IPv6, threads, largefile, headers >= 3.0"
depends on BR2_USE_MMU
depends on !BR2_avr32 # no timerfd
depends on !BR2_nios2 # the toolchain doesn't support setns syscall
- depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE
+ depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/mesa3d-demos/Config.in b/package/mesa3d-demos/Config.in
index e2b2e057d7..d63c47b324 100644
--- a/package/mesa3d-demos/Config.in
+++ b/package/mesa3d-demos/Config.in
@@ -1,5 +1,7 @@
config BR2_PACKAGE_MESA3D_DEMOS
bool "mesa3d-demos"
+ select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES \
|| BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBOPENVG
help
diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk
index 9b60dc9eb3..2db7f56cae 100644
--- a/package/mesa3d-demos/mesa3d-demos.mk
+++ b/package/mesa3d-demos/mesa3d-demos.mk
@@ -11,11 +11,11 @@ MESA3D_DEMOS_AUTORECONF = YES
MESA3D_DEMOS_DEPENDENCIES = host-pkgconf
MESA3D_DEMOS_LICENSE = MIT
-ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
-MESA3D_DEMOS_DEPENDENCIES += libgl libglew libglu
-MESA3D_DEMOS_CONF_OPTS += --enable-gl
+ifeq ($(BR2_PACKAGE_XORG7)$(BR2_PACKAGE_HAS_LIBGL),yy)
+MESA3D_DEMOS_DEPENDENCIES += libgl libglew libglu xlib_libX11 xlib_libXext
+MESA3D_DEMOS_CONF_OPTS += --enable-gl --enable-x11
else
-MESA3D_DEMOS_CONF_OPTS += --disable-gl
+MESA3D_DEMOS_CONF_OPTS += --disable-gl --disable-x11
endif
ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
diff --git a/package/mono/mono.mk b/package/mono/mono.mk
index 23d16f1a6a..baf205a275 100644
--- a/package/mono/mono.mk
+++ b/package/mono/mono.mk
@@ -55,6 +55,9 @@ HOST_MONO_CONF_OPTS += \
--with-profile4=$(if $(BR2_PACKAGE_MONO_40),yes,no) \
--with-profile4_5=$(if $(BR2_PACKAGE_MONO_45),yes,no)
+# ensure monolite is used
+HOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false
+
HOST_MONO_DEPENDENCIES = host-monolite host-gettext
define HOST_MONO_SETUP_MONOLITE
diff --git a/package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch b/package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch
new file mode 100644
index 0000000000..630bbd6642
--- /dev/null
+++ b/package/mpdecimal/0001-Add-minimal-support-for-enable-disable-shared-static.patch
@@ -0,0 +1,101 @@
+From c349964887901848fb4cd5db53a5bcb6dae27aaa Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 23 Nov 2014 10:16:33 +0100
+Subject: [PATCH] Add minimal support for --{enable,disable}-{shared,static}
+
+mpdecimal uses autoconf, but not automake or libtool, so this commit
+adds some basic handling of --{enable,disable}-{shared,static}, so
+that building the shared library can be disabled in pure static
+library contexts.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.in | 6 ++++++
+ configure.ac | 13 +++++++++++++
+ libmpdec/Makefile.in | 11 ++++++++++-
+ 3 files changed, 29 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 2c91891..0c44f36 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -9,6 +9,8 @@ LIBSTATIC = @LIBSTATIC@
+ LIBSONAME = @LIBSONAME@
+ LIBSHARED = @LIBSHARED@
+ INSTALL = @INSTALL@
++BUILD_SHARED = @BUILD_SHARED@
++BUILD_STATIC = @BUILD_STATIC@
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -32,9 +34,13 @@ install: FORCE
+ $(INSTALL) -d -m 755 $(DESTDIR)$(includedir)
+ $(INSTALL) -m 644 libmpdec/mpdecimal.h $(DESTDIR)$(includedir)
+ $(INSTALL) -d -m 755 $(DESTDIR)$(libdir)
++ifeq ($(BUILD_STATIC),yes)
+ $(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir)
++endif
++ifeq ($(BUILD_SHARED),yes)
+ $(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)
+ cd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so
++endif
+ $(INSTALL) -d -m 755 $(DESTDIR)$(docdir)
+ cp -R doc/* $(DESTDIR)$(docdir)
+
+diff --git a/configure.ac b/configure.ac
+index 7ee8f86..2b3e505 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -88,6 +88,19 @@ CFLAGS="$saved_cflags"
+ AC_PROG_INSTALL
+ AC_SUBST(INSTALL)
+
++AC_ARG_ENABLE([shared],
++ [AS_HELP_STRING([--enable-shared], [build shared library])],
++ [BUILD_SHARED=$enableval],
++ [BUILD_SHARED=yes])
++
++AC_ARG_ENABLE([static],
++ [AS_HELP_STRING([--enable-static], [build static library])],
++ [BUILD_STATIC=$enableval],
++ [BUILD_STATIC=yes])
++
++AC_SUBST(BUILD_SHARED)
++AC_SUBST(BUILD_STATIC)
++
+ # _FORTIFY_SOURCE wrappers for memmove and bcopy are incorrect:
+ # http://sourceware.org/ml/libc-alpha/2010-12/msg00009.html
+ AC_MSG_CHECKING(for glibc _FORTIFY_SOURCE/memmove bug)
+diff --git a/libmpdec/Makefile.in b/libmpdec/Makefile.in
+index d9619a3..985c73c 100644
+--- a/libmpdec/Makefile.in
++++ b/libmpdec/Makefile.in
+@@ -7,6 +7,8 @@
+ LIBSTATIC = @LIBSTATIC@
+ LIBSONAME = @LIBSONAME@
+ LIBSHARED = @LIBSHARED@
++BUILD_SHARED = @BUILD_SHARED@
++BUILD_STATIC = @BUILD_STATIC@
+
+ CC = @CC@
+ LD = @LD@
+@@ -32,8 +34,15 @@ ifeq ($(MAKECMDGOALS), profile_use)
+ MPD_LDFLAGS += $(MPD_PUSE)
+ endif
+
++ifeq ($(BUILD_SHARED),yes)
++TARGETS += $(LIBSHARED)
++endif
++
++ifeq ($(BUILD_STATIC),yes)
++TARGETS += $(LIBSTATIC)
++endif
+
+-default: $(LIBSTATIC) $(LIBSHARED)
++default: $(TARGETS)
+
+
+ OBJS := basearith.o context.o constants.o convolute.o crt.o mpdecimal.o \
+--
+2.1.0
+
diff --git a/package/mpdecimal/mpdecimal.mk b/package/mpdecimal/mpdecimal.mk
index fc5f855de7..8257c8d042 100644
--- a/package/mpdecimal/mpdecimal.mk
+++ b/package/mpdecimal/mpdecimal.mk
@@ -10,6 +10,7 @@ MPDECIMAL_INSTALL_STAGING = YES
MPDECIMAL_LICENSE = BSD-2c
MPDECIMAL_LICENSE_FILES = LICENSE.txt
MPDECIMAL_CONF_OPTS = LD="$(TARGET_CC)"
+MPDECIMAL_AUTORECONF = YES
# On i386, by default, mpdecimal tries to uses <fenv.h> which is not
# available in musl/glibc. So in this case, we tell mpdecimal to use
diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk
index de21ec014a..0341ed9710 100644
--- a/package/mpg123/mpg123.mk
+++ b/package/mpg123/mpg123.mk
@@ -11,6 +11,7 @@ MPG123_CONF_OPTS = --disable-lfs-alias
MPG123_INSTALL_STAGING = YES
MPG123_LICENSE = LGPLv2.1
MPG123_LICENSE_FILES = COPYING
+MPG123_DEPENDENCIES = host-pkgconf
MPG123_CPU = $(if $(BR2_SOFT_FLOAT),generic_nofpu,generic_fpu)
diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk
index b245542bd4..b4f18b0f7a 100644
--- a/package/mutt/mutt.mk
+++ b/package/mutt/mutt.mk
@@ -41,4 +41,20 @@ else
MUTT_CONF_OPTS += --without-ssl
endif
+# Avoid running tests to check for:
+# - target system is *BSD
+# - C99 conformance (snprintf, vsnprintf)
+# - behaviour of the regex library
+# - if mail spool directory is world/group writable
+# - we have a working libiconv
+MUTT_CONF_ENV += \
+ mutt_cv_bsdish=no \
+ mutt_cv_c99_snprintf=yes \
+ mutt_cv_c99_vsnprintf=yes \
+ mutt_cv_regex_broken=no \
+ mutt_cv_worldwrite=yes \
+ mutt_cv_groupwrite=yes \
+ mutt_cv_iconv_good=yes \
+ mutt_cv_iconv_nontrans=no
+
$(eval $(autotools-package))
diff --git a/package/mysql/mysql.mk b/package/mysql/mysql.mk
index 945ca18b13..8718193257 100644
--- a/package/mysql/mysql.mk
+++ b/package/mysql/mysql.mk
@@ -43,7 +43,7 @@ endif
ifeq ($(BR2_PACKAGE_MYSQL_SERVER),y)
MYSQL_DEPENDENCIES += host-mysql host-bison
-HOST_MYSQL_DEPENDENCIES = host-zlib
+HOST_MYSQL_DEPENDENCIES = host-zlib host-ncurses
HOST_MYSQL_CONF_OPTS = \
--with-embedded-server \
diff --git a/package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch b/package/ndisc6/0001-trace-tcp-upd-uClibc-fix.patch
index f84719cf36..f84719cf36 100644
--- a/package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch
+++ b/package/ndisc6/0001-trace-tcp-upd-uClibc-fix.patch
diff --git a/package/ndisc6/ndisc6.mk b/package/ndisc6/ndisc6.mk
index b0e4caf6fd..cd43b01a3a 100644
--- a/package/ndisc6/ndisc6.mk
+++ b/package/ndisc6/ndisc6.mk
@@ -14,7 +14,7 @@ NDISC6_LICENSE_FILES = COPYING
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
NDISC6_DEPENDENCIES += gettext
-NDISC6_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lintl"
+NDISC6_CONF_ENV += LIBS="-lintl"
endif
NDISC6_BIN_ += dnssort # perl script
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index 0ed6ca5831..a3e6e33e6d 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_NETWORK_MANAGER
depends on BR2_USE_MMU # dbus
depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
+ select BR2_PACKAGE_DHCPCD if !BR2_PACKAGE_DHCP_CLIENT
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
select BR2_PACKAGE_GNUTLS
diff --git a/package/nfs-utils/nfs-utils-0001-build-avoid-AM_CONDITIONAL-in-conditional-execution.patch b/package/nfs-utils/0001-build-avoid-AM_CONDITIONAL-in-conditional-execution.patch
index ba9ad420fa..ba9ad420fa 100644
--- a/package/nfs-utils/nfs-utils-0001-build-avoid-AM_CONDITIONAL-in-conditional-execution.patch
+++ b/package/nfs-utils/0001-build-avoid-AM_CONDITIONAL-in-conditional-execution.patch
diff --git a/package/nfs-utils/nfs-utils-0002-Patch-taken-from-Gentoo.patch b/package/nfs-utils/0002-Patch-taken-from-Gentoo.patch
index e310c4977d..e310c4977d 100644
--- a/package/nfs-utils/nfs-utils-0002-Patch-taken-from-Gentoo.patch
+++ b/package/nfs-utils/0002-Patch-taken-from-Gentoo.patch
diff --git a/package/nfs-utils/nfs-utils-0003-Switch-legacy-index-in-favour-of-strchr.patch b/package/nfs-utils/0003-Switch-legacy-index-in-favour-of-strchr.patch
index 82a6c43659..82a6c43659 100644
--- a/package/nfs-utils/nfs-utils-0003-Switch-legacy-index-in-favour-of-strchr.patch
+++ b/package/nfs-utils/0003-Switch-legacy-index-in-favour-of-strchr.patch
diff --git a/package/nfs-utils/nfs-utils-0004-fix-build-with-uClibc.patch b/package/nfs-utils/0004-fix-build-with-uClibc.patch
index 23da28f20c..23da28f20c 100644
--- a/package/nfs-utils/nfs-utils-0004-fix-build-with-uClibc.patch
+++ b/package/nfs-utils/0004-fix-build-with-uClibc.patch
diff --git a/package/nfs-utils/nfs-utils-0005-Allow-usage-of-getrpcbynumber-when-getrpcbynumber_r-.patch b/package/nfs-utils/0005-Allow-usage-of-getrpcbynumber-when-getrpcbynumber_r-.patch
index 7c9f3c38f6..7c9f3c38f6 100644
--- a/package/nfs-utils/nfs-utils-0005-Allow-usage-of-getrpcbynumber-when-getrpcbynumber_r-.patch
+++ b/package/nfs-utils/0005-Allow-usage-of-getrpcbynumber-when-getrpcbynumber_r-.patch
diff --git a/package/nfs-utils/nfs-utils-0006-Let-the-configure-script-find-getrpcbynumber-in-libt.patch b/package/nfs-utils/0006-Let-the-configure-script-find-getrpcbynumber-in-libt.patch
index 1ca17b77e9..1ca17b77e9 100644
--- a/package/nfs-utils/nfs-utils-0006-Let-the-configure-script-find-getrpcbynumber-in-libt.patch
+++ b/package/nfs-utils/0006-Let-the-configure-script-find-getrpcbynumber-in-libt.patch
diff --git a/package/nfs-utils/nfs-utils-0007-sockaddr-h-needs-stddef-h-for-NULL.patch b/package/nfs-utils/0007-sockaddr-h-needs-stddef-h-for-NULL.patch
index 8fcf1dded5..8fcf1dded5 100644
--- a/package/nfs-utils/nfs-utils-0007-sockaddr-h-needs-stddef-h-for-NULL.patch
+++ b/package/nfs-utils/0007-sockaddr-h-needs-stddef-h-for-NULL.patch
diff --git a/package/nfs-utils/0008-tirpc-with-pkgconfig.patch b/package/nfs-utils/0008-tirpc-with-pkgconfig.patch
new file mode 100644
index 0000000000..712f710c33
--- /dev/null
+++ b/package/nfs-utils/0008-tirpc-with-pkgconfig.patch
@@ -0,0 +1,102 @@
+From 1ecd1f2008bfab7bb3cd6ada135c980414a7f1ba Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Sun, 23 Nov 2014 15:53:56 +0100
+Subject: [PATCH] configure: use pkg-config to find libtirpc
+
+Currently, we use a custom function to find libtirpc's headers and
+libraries. This works fine for shared linking.
+
+But for static linking, this forgets to link with -lpthread, which is
+required by libtirpc.
+
+A recent patch was sent to libtirpc to add that missing -lpthread in its
+Libs.private section of its .pc file. Thus, pkg-config will soon be able
+to return the appropriate libraries.
+
+So, use pkg-config to find libtirpc.
+
+And for older libtirpc versions, there is no change in behaviour: we're
+still missing the -lpthread. But once libtirpc has been fixed, we'll
+automatically get that missing library for free! :-)
+
+Remove the --with-libirpcinclude flag as it is no longer needed: pkg-config
+will provide us with the -I and -L flags, now.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Steve Dickson <steved@redhat.com>
+
+---
+Patch sent upstream:
+ http://article.gmane.org/gmane.linux.nfs/67708
+---
+ aclocal/libtirpc.m4 | 68 ++++++++++-------------------------------------------
+ 1 file changed, 13 insertions(+), 55 deletions(-)
+
+diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
+index b823364..4a19c1a 100644
+--- a/aclocal/libtirpc.m4
++++ b/aclocal/libtirpc.m4
+@@ -2,50 +2,19 @@ dnl Checks for TI-RPC library and headers
+ dnl
+ AC_DEFUN([AC_LIBTIRPC], [
+
+- AC_ARG_WITH([tirpcinclude],
+- [AC_HELP_STRING([--with-tirpcinclude=DIR],
+- [use TI-RPC headers in DIR])],
+- [tirpc_header_dir=$withval],
+- [tirpc_header_dir=/usr/include/tirpc])
+-
+- dnl if --enable-tirpc was specifed, the following components
+- dnl must be present, and we set up HAVE_ macros for them.
+-
+- if test "$enable_tirpc" != "no"; then
+-
+- dnl look for the library
+- AC_CHECK_LIB([tirpc], [clnt_tli_create], [:],
+- [if test "$enable_tirpc" = "yes"; then
+- AC_MSG_ERROR([libtirpc not found.])
+- else
+- AC_MSG_WARN([libtirpc not found. TIRPC disabled!])
+- enable_tirpc="no"
+- fi])
+- fi
+-
+- if test "$enable_tirpc" != "no"; then
+- dnl also must have the headers installed where we expect
+- dnl look for headers; add -I compiler option if found
+- AC_CHECK_HEADERS([${tirpc_header_dir}/netconfig.h],
+- AC_SUBST([AM_CPPFLAGS], ["-I${tirpc_header_dir}"]),
+- [if test "$enable_tirpc" = "yes"; then
+- AC_MSG_ERROR([libtirpc headers not found.])
+- else
+- AC_MSG_WARN([libtirpc headers not found. TIRPC disabled!])
+- enable_tirpc="no"
+- fi])
+-
+- fi
+-
+- dnl now set $LIBTIRPC accordingly
+- if test "$enable_tirpc" != "no"; then
+- AC_DEFINE([HAVE_LIBTIRPC], 1,
+- [Define to 1 if you have and wish to use libtirpc.])
+- LIBTIRPC="-ltirpc"
+- else
+- LIBTIRPC=""
+- fi
+-
++ PKG_PROG_PKG_CONFIG([0.9.0])
++ AS_IF(
++ [test "$enable_tirpc" != "no"],
++ [PKG_CHECK_MODULES([TIRPC], [libtirpc >= 0.2.4],
++ [LIBTIRPC="${TIRPC_LIBS}"
++ AM_CPPFLAGS="${AM_CPPFLAGS} ${TIRPC_CFLAGS}"
++ AC_DEFINE([HAVE_LIBTIRPC], [1],
++ [Define to 1 if you have and wish to use libtirpc.])],
++ [AS_IF([test "$enable_tirpc" = "yes"],
++ [AC_MSG_ERROR([libtirpc not found.])],
++ [LIBTIRPC=""])])])
++
++ AC_SUBST([AM_CPPFLAGS])
+ AC_SUBST(LIBTIRPC)
+
+ ])dnl
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk
index 522e7904a9..8b56edf020 100644
--- a/package/nfs-utils/nfs-utils.mk
+++ b/package/nfs-utils/nfs-utils.mk
@@ -28,7 +28,7 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd
NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
-NFS_UTILS_CONF_OPTS += --enable-tirpc --with-tirpcinclude=$(STAGING_DIR)/usr/include/tirpc/
+NFS_UTILS_CONF_OPTS += --enable-tirpc
NFS_UTILS_DEPENDENCIES += libtirpc
else
NFS_UTILS_CONF_OPTS += --disable-tirpc
diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk
index b3abbc0dd9..16d7c6f212 100644
--- a/package/nftables/nftables.mk
+++ b/package/nftables/nftables.mk
@@ -12,8 +12,16 @@ NFTABLES_DEPENDENCIES = gmp libmnl libnftnl readline host-bison host-flex \
NFTABLES_LICENSE = GPLv2
NFTABLES_LICENSE_FILES = COPYING
+NFTABLES_LIBS = -lncurses
+ifeq ($(BR2_PREFER_STATIC_LIB)$(BR2_PACKAGE_LIBNFTNL_JSON),yy)
+NFTABLES_LIBS += -ljansson -lm
+endif
+ifeq ($(BR2_PREFER_STATIC_LIB)$(BR2_PACKAGE_LIBNFTNL_XML),yy)
+NFTABLES_LIBS += -lmxml -lpthread
+endif
+
NFTABLES_CONF_ENV = \
ac_cv_prog_CONFIG_PDF=no \
- LIBS="-lncurses"
+ LIBS="$(NFTABLES_LIBS)"
$(eval $(autotools-package))
diff --git a/package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch b/package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch
new file mode 100644
index 0000000000..9d41516292
--- /dev/null
+++ b/package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch
@@ -0,0 +1,54 @@
+From d9acdddb42aef48a9504368019beb1ad91c9a0c4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <jkrause@posteo.de>
+Date: Mon, 17 Nov 2014 12:34:05 +0100
+Subject: [PATCH 1/1] src/node.cc: fix build error without OpenSSL support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Krause <jkrause@posteo.de>
+---
+ src/node.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/node.cc b/src/node.cc
+index 18c743f..cb77f08 100644
+--- a/src/node.cc
++++ b/src/node.cc
+@@ -82,7 +82,6 @@ typedef int mode_t;
+ #include "node_script.h"
+ #include "v8_typed_array.h"
+
+-#include "node_crypto.h"
+ #include "util.h"
+
+ using namespace v8;
+@@ -2544,8 +2543,10 @@ static void PrintHelp() {
+ " --trace-deprecation show stack traces on deprecations\n"
+ " --v8-options print v8 command line options\n"
+ " --max-stack-size=val set max v8 stack size (bytes)\n"
++#if HAVE_OPENSSL
+ " --enable-ssl2 enable ssl2\n"
+ " --enable-ssl3 enable ssl3\n"
++#endif
+ "\n"
+ "Environment variables:\n"
+ #ifdef _WIN32
+@@ -2579,12 +2580,14 @@ static void ParseArgs(int argc, char **argv) {
+ p = 1 + strchr(arg, '=');
+ max_stack_size = atoi(p);
+ argv[i] = const_cast<char*>("");
++#if HAVE_OPENSSL
+ } else if (strcmp(arg, "--enable-ssl2") == 0) {
+ SSL2_ENABLE = true;
+ argv[i] = const_cast<char*>("");
+ } else if (strcmp(arg, "--enable-ssl3") == 0) {
+ SSL3_ENABLE = true;
+ argv[i] = const_cast<char*>("");
++#endif
+ } else if (strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) {
+ PrintHelp();
+ exit(0);
+--
+2.1.3
+
diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
index 32e19b795f..312aaa9d02 100644
--- a/package/nodejs/nodejs.mk
+++ b/package/nodejs/nodejs.mk
@@ -75,8 +75,7 @@ define NODEJS_CONFIGURE_CMDS
--prefix=/usr \
--without-snapshot \
--shared-zlib \
- $(if $(BR2_PACKAGE_OPENSSL),--shared-openssl,\
- --without-ssl --without-ssl2 --without-ssl3) \
+ $(if $(BR2_PACKAGE_OPENSSL),--shared-openssl,--without-ssl) \
$(if $(BR2_PACKAGE_NODEJS_NPM),,--without-npm) \
--without-dtrace \
--without-etw \
diff --git a/package/omniorb/0001-uclinux-is-also-linux.patch b/package/omniorb/0001-uclinux-is-also-linux.patch
new file mode 100644
index 0000000000..e003307266
--- /dev/null
+++ b/package/omniorb/0001-uclinux-is-also-linux.patch
@@ -0,0 +1,19 @@
+uclinux is also linux
+
+Patch status: sent upstream
+(http://www.omniorb-support.com/pipermail/omniorb-list/2014-November/031628.html)
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+
+diff -Nuar omniORB-4.1.6-orig/configure.ac omniORB-4.1.6/configure.ac
+--- omniORB-4.1.6-orig/configure.ac 2011-06-25 00:37:28.000000000 +0300
++++ omniORB-4.1.6/configure.ac 2014-11-20 07:05:25.072634260 +0200
+@@ -183,6 +183,7 @@
+
+ case "$host" in
+ *-*-linux-*) plat_name="Linux"; plat_def="__linux__"; os_v="2";;
++ *-*-uclinux-*) plat_name="Linux"; plat_def="__linux__"; os_v="2";;
+ *-*-cygwin*) plat_name="Cygwin"; plat_def="__cygwin__"; os_v="1";;
+ *-*-solaris*) plat_name="SunOS"; plat_def="__sunos__"; os_v="5";;
+ *-*-osf3*) plat_name="OSF1"; plat_def="__osf1__"; os_v="3";;
diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk
index 0df125eed6..25d3b735f2 100644
--- a/package/omniorb/omniorb.mk
+++ b/package/omniorb/omniorb.mk
@@ -14,6 +14,9 @@ OMNIORB_DEPENDENCIES = host-omniorb
HOST_OMNIORB_DEPENDENCIES = host-python
OMNIORB_INSTALL_TARGET = YES
+# 0001-uclinux-is-also-linux.patch touches configure.ac
+OMNIORB_AUTORECONF = YES
+
# omniorb is not python3 friendly, so force the python interpreter
OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2
HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2
@@ -41,6 +44,13 @@ ifeq ($(BR2_PACKAGE_OMNIORB_WITH_APPS),y)
OMNIORB_POST_PATCH_HOOKS += OMNIORB_ENABLE_EXTRA_APPS
endif
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+define OMNIORB_DISABLE_SHARED
+ echo "BuildSharedLibrary =" >> $(@D)/mk/beforeauto.mk
+endef
+OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_DISABLE_SHARED
+endif
+
# omniORB is not completely cross-compile friendly and has some
# assumptions where a couple host tools must be built and then
# used by the target build. The host tools generate code from
diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
index 7e30cada4e..fe7ebf25f7 100644
--- a/package/openssl/openssl.mk
+++ b/package/openssl/openssl.mk
@@ -119,6 +119,8 @@ endef
# libdl has no business in a static build
ifeq ($(BR2_PREFER_STATIC_LIB),y)
define OPENSSL_FIXUP_STATIC_PKGCONFIG
+ $(SED) 's/-ldl//' $(STAGING_DIR)/usr/lib/pkgconfig/libcrypto.pc
+ $(SED) 's/-ldl//' $(STAGING_DIR)/usr/lib/pkgconfig/libssl.pc
$(SED) 's/-ldl//' $(STAGING_DIR)/usr/lib/pkgconfig/openssl.pc
endef
OPENSSL_POST_INSTALL_STAGING_HOOKS += OPENSSL_FIXUP_STATIC_PKGCONFIG
diff --git a/package/parted/parted-003-fix-static-link-uuid.patch b/package/parted/parted-003-fix-static-link-uuid.patch
new file mode 100644
index 0000000000..d6ec2cf365
--- /dev/null
+++ b/package/parted/parted-003-fix-static-link-uuid.patch
@@ -0,0 +1,48 @@
+configure: use pkg-config to find libuuid
+
+In some conditions, libuuid may be linked with -lintl. This can be the
+case on uClibc when locales are enabled.
+
+When doing a shared link, this dependency is automatically pulled in via
+a DT_NEEDED ELF tag
+
+For a static link, there is no such mechanism to pull in dependent
+libraries.
+
+Currently, the check for libuuid is done with AC_CHECK_LIB, but this
+does not handle dependencies, and thus a stattic build fails.
+
+Use pkg-config to find libuuid, that automatically pulls in the
+dependencies of libuuid, if any.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Note: of course, that relies on the fact that libuuid installs a proper
+.pc file; a patch will be submitted upstream shortly.
+
+But even considering the current situation, where libuuid does not
+provide a proper .pc file (yet), this patch does not change the
+behaviour we've had so far; it is a bet on the future! ;-)
+
+diff -durN parted-3.1.orig/configure.ac parted-3.1/configure.ac
+--- parted-3.1.orig/configure.ac 2014-11-29 16:27:49.520560137 +0100
++++ parted-3.1/configure.ac 2014-11-29 16:32:50.799702049 +0100
+@@ -313,16 +313,7 @@
+ AC_SUBST([DL_LIBS])
+
+ dnl Check for libuuid
+-UUID_LIBS=""
+-AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"],
+- [AC_MSG_ERROR(dnl
+-[GNU Parted requires libuuid - a part of the util-linux-ng package (but
+-usually distributed separately in libuuid-devel, uuid-dev or similar)
+-This can probably be found on your distribution's CD or FTP site or at:
+- http://userweb.kernel.org/~kzak/util-linux-ng/
+-Note: originally, libuuid was part of the e2fsprogs package. Later, it
+-moved to util-linux-ng-2.16, and that package is now the preferred source.])])
+-AC_SUBST([UUID_LIBS])
++PKG_CHECK_MODULES([UUID],[uuid])
+
+ dnl Check for libdevmapper
+ DM_LIBS=
diff --git a/package/parted/parted.mk b/package/parted/parted.mk
index 85578d33de..ab2c456b73 100644
--- a/package/parted/parted.mk
+++ b/package/parted/parted.mk
@@ -7,7 +7,7 @@
PARTED_VERSION = 3.1
PARTED_SOURCE = parted-$(PARTED_VERSION).tar.xz
PARTED_SITE = $(BR2_GNU_MIRROR)/parted
-PARTED_DEPENDENCIES = util-linux
+PARTED_DEPENDENCIES = host-pkgconf util-linux
PARTED_INSTALL_STAGING = YES
# For uclinux patch
PARTED_AUTORECONF = YES
@@ -33,7 +33,7 @@ ifeq ($(BR2_PREFER_STATIC_LIB),y)
PARTED_CONF_OPTS += --disable-dynamic-loading
endif
-HOST_PARTED_DEPENDENCIES = host-util-linux
+HOST_PARTED_DEPENDENCIES = host-pkgconf host-util-linux
HOST_PARTED_CONF_OPTS += \
--without-readline \
--disable-device-mapper \
diff --git a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk
index 3abbf1840b..2eefdc546b 100644
--- a/package/pciutils/pciutils.mk
+++ b/package/pciutils/pciutils.mk
@@ -65,12 +65,14 @@ endef
define PCIUTILS_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(PCIUTILS_MAKE_OPTS) \
- PREFIX=$(TARGET_DIR)/usr install install-lib install-pcilib
+ PREFIX=$(TARGET_DIR)/usr SBINDIR=$(TARGET_DIR)/usr/bin \
+ install install-lib install-pcilib
endef
define PCIUTILS_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(PCIUTILS_MAKE_OPTS) \
- PREFIX=$(STAGING_DIR)/usr install install-lib install-pcilib
+ PREFIX=$(STAGING_DIR)/usr SBINDIR=$(STAGING_DIR)/usr/bin \
+ install install-lib install-pcilib
endef
$(eval $(generic-package))
diff --git a/package/perl/perl.mk b/package/perl/perl.mk
index 9684668b0a..06855aba13 100644
--- a/package/perl/perl.mk
+++ b/package/perl/perl.mk
@@ -12,7 +12,7 @@ PERL_LICENSE = Artistic or GPLv1+
PERL_LICENSE_FILES = Artistic Copying README
PERL_INSTALL_STAGING = YES
-PERL_CROSS_VERSION = 0.9.3
+PERL_CROSS_VERSION = 0.9.4
PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).1
# DO NOT refactor with the github helper (the result is not the same)
PERL_CROSS_SITE = http://raw.github.com/arsv/perl-cross/releases
diff --git a/package/php/php.hash b/package/php/php.hash
index 6bb0d1c0b8..7a2dd700e2 100644
--- a/package/php/php.hash
+++ b/package/php/php.hash
@@ -1,2 +1,2 @@
# From http://php.net/downloads.php
-md5 3984f32985842afebe5795457e26931f php-5.5.18.tar.xz
+md5 c63dcfd8b318d12127ba6d39ecc8a444 php-5.5.19.tar.xz
diff --git a/package/php/php.mk b/package/php/php.mk
index 9456f1c9b2..ae959db466 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PHP_VERSION = 5.5.18
+PHP_VERSION = 5.5.19
PHP_SITE = http://www.php.net/distributions
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
PHP_INSTALL_STAGING = YES
diff --git a/package/python-tornado/Config.in b/package/python-tornado/Config.in
index c127d0e142..870a3dece0 100644
--- a/package/python-tornado/Config.in
+++ b/package/python-tornado/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_PYTHON_TORNADO
bool "python-tornado"
depends on BR2_PACKAGE_PYTHON
+ select BR2_PACKAGE_PYTHON_ZLIB
help
Tornado is a Python web framework and asynchronous networking
library, originally developed at FriendFeed.
diff --git a/package/python3/python3.mk b/package/python3/python3.mk
index 2c1ef2a568..5c72c6ebc9 100644
--- a/package/python3/python3.mk
+++ b/package/python3/python3.mk
@@ -107,6 +107,12 @@ PYTHON3_CONF_ENV += \
ac_cv_file__dev_ptc=yes \
ac_cv_working_tzset=yes
+# uClibc is known to have a broken wcsftime() implementation, so tell
+# Python 3 to fall back to strftime() instead.
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+PYTHON3_CONF_ENV += ac_cv_func_wcsftime=no
+endif
+
PYTHON3_CONF_OPTS += \
--without-ensurepip \
--without-cxx-main \
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index ebd2684ac3..ff11208191 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -54,6 +54,7 @@ comment "... or you can select emulator families to enable, below:"
config BR2_PACKAGE_QEMU_SYSTEM
bool "Enable all systems emulation"
+ select BR2_PACKAGE_QEMU_FDT
help
Say 'y' to build all system emulators/virtualisers that QEMU supports.
@@ -81,6 +82,15 @@ config BR2_PACKAGE_QEMU_SDL
Say 'y' to enable the SDL frontend, that is, a graphical window
presenting the VM's display.
+comment "Misc. features"
+
+config BR2_PACKAGE_QEMU_FDT
+ bool "Enable FDT"
+ select BR2_PACKAGE_DTC
+ help
+ Say 'y' here to have QEMU capable of constructing Device Trees,
+ and passing them to the VMs.
+
endif # BR2_PACKAGE_QEMU_HAS_EMULS
endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index fe65a876e6..9cff5ede95 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -75,7 +75,7 @@ define HOST_QEMU_BUILD_CMDS
endef
define HOST_QEMU_INSTALL_CMDS
- $(HOST_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) install
+ $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install
endef
$(eval $(host-generic-package))
@@ -133,6 +133,13 @@ else
QEMU_OPTS += --disable-sdl
endif
+ifeq ($(BR2_PACKAGE_QEMU_FDT),y)
+QEMU_OPTS += --enable-fdt
+QEMU_DEPENDENCIES += dtc
+else
+QEMU_OPTS += --disable-fdt
+endif
+
define QEMU_CONFIGURE_CMDS
( cd $(@D); \
LIBS='$(QEMU_LIBS)' \
@@ -155,7 +162,6 @@ define QEMU_CONFIGURE_CMDS
--disable-brlapi \
--disable-curses \
--disable-curl \
- --disable-fdt \
--disable-bluez \
--disable-guest-base \
--disable-uuid \
diff --git a/package/qt/Config.in b/package/qt/Config.in
index da159b4cb9..665725eefd 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -375,12 +375,14 @@ config BR2_PACKAGE_QT_WEBKIT
depends on BR2_PACKAGE_QT_GUI_MODULE
depends on BR2_PACKAGE_QT_NETWORK
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np()
help
Build the WebKit module.
If unsure, say n.
-comment "WebKit needs shared library/gui/network support"
+comment "WebKit needs shared library/NPTL toolchain/gui/network support"
depends on !(BR2_PACKAGE_QT_SHARED && BR2_PACKAGE_QT_GUI_MODULE && BR2_PACKAGE_QT_NETWORK)
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
config BR2_PACKAGE_QT_STL
@@ -402,11 +404,16 @@ config BR2_PACKAGE_QT_OPENSSL
config BR2_PACKAGE_QT_SCRIPT
bool "Script Module"
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np()
default y
help
Build the Qt Script module.
if unsure, say y.
+comment "Script Module needs a toolchain with NPTL"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+
config BR2_PACKAGE_QT_SCRIPTTOOLS
bool "Script Tools Module"
depends on BR2_PACKAGE_QT_SCRIPT
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index f4eedec1fd..6ea7301a9d 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -37,9 +37,7 @@ config BR2_PACKAGE_QT5BASE_EXAMPLES
If unsure, say N.
config BR2_PACKAGE_QT5BASE_NETWORK
- bool "network module"
- help
- This options enables the Qt5Network library.
+ def_bool y
config BR2_PACKAGE_QT5BASE_CONCURRENT
bool "concurrent module"
@@ -47,9 +45,7 @@ config BR2_PACKAGE_QT5BASE_CONCURRENT
This options enables the Qt5Concurrent library.
config BR2_PACKAGE_QT5BASE_SQL
- bool "sql module"
- help
- This options enables the Qt5Sql library.
+ def_bool y
if BR2_PACKAGE_QT5BASE_SQL
config BR2_PACKAGE_QT5BASE_MYSQL
@@ -101,14 +97,10 @@ endchoice
endif
config BR2_PACKAGE_QT5BASE_TEST
- bool "test module"
- help
- This options enables the Qt5Test library.
+ def_bool y
config BR2_PACKAGE_QT5BASE_XML
- bool "XML module"
- help
- This options enables the Qt5Xml library.
+ def_bool y
config BR2_PACKAGE_QT5BASE_GUI
bool "gui module"
@@ -209,10 +201,8 @@ config BR2_PACKAGE_QT5BASE_DEFAULT_QPA
different platform at runtime with the -platform option.
config BR2_PACKAGE_QT5BASE_PRINTSUPPORT
- bool "print support module"
- select BR2_PACKAGE_QT5BASE_WIDGETS
- help
- This option enables the Qt5PrintSupport
+ depends on BR2_PACKAGE_QT5BASE_WIDGETS
+ def_bool y
config BR2_PACKAGE_QT5BASE_FONTCONFIG
bool "fontconfig support"
diff --git a/package/qt5/qt5webkit/qt5webkit-0001-egl-includepath.patch b/package/qt5/qt5webkit/0001-egl-includepath.patch
index de5bcff0d3..de5bcff0d3 100644
--- a/package/qt5/qt5webkit/qt5webkit-0001-egl-includepath.patch
+++ b/package/qt5/qt5webkit/0001-egl-includepath.patch
diff --git a/package/qt5/qt5webkit/0002-Fix-build-failure-with-python3.patch b/package/qt5/qt5webkit/0002-Fix-build-failure-with-python3.patch
new file mode 100644
index 0000000000..dc0854ea61
--- /dev/null
+++ b/package/qt5/qt5webkit/0002-Fix-build-failure-with-python3.patch
@@ -0,0 +1,31 @@
+Fetched from: https://codereview.qt-project.org/#/c/99784/
+
+From e9d00f6279f9cfefc5a3144d5953bb7934aed418 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Thu, 13 Nov 2014 15:29:38 +0100
+Subject: [PATCH] Fix build failure with python3
+
+Task-number: QTBUG-33692
+Change-Id: I7a3bc6217110ce3a0bf5fee4b3b675dee39d8ac5
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ Source/JavaScriptCore/disassembler/udis86/itab.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/JavaScriptCore/disassembler/udis86/itab.py b/Source/JavaScriptCore/disassembler/udis86/itab.py
+index 3d50ad0..90bd3e0 100644
+--- a/Source/JavaScriptCore/disassembler/udis86/itab.py
++++ b/Source/JavaScriptCore/disassembler/udis86/itab.py
+@@ -314,7 +314,7 @@ class UdItabGenerator( ud_opcode.UdOpcodeTables ):
+ self.ItabH.write( "\n" )
+
+ self.ItabH.write("\n/* itab entry operand definitions */\n");
+- operands = self.OperandDict.keys()
++ operands = list( self.OperandDict.keys() )
+ operands.sort()
+ for o in operands:
+ self.ItabH.write("#define O_%-7s { %-12s %-8s }\n" %
+--
+2.1.3
+
diff --git a/package/radvd/0001-Drop-check-requirement-we-don-t-do-unit-tests.patch b/package/radvd/0001-Drop-check-requirement-we-don-t-do-unit-tests.patch
new file mode 100644
index 0000000000..0bbbf2888b
--- /dev/null
+++ b/package/radvd/0001-Drop-check-requirement-we-don-t-do-unit-tests.patch
@@ -0,0 +1,29 @@
+From 2074114cef857f95104367c51ac9367082fc8060 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Sun, 23 Nov 2014 12:16:32 +0100
+Subject: [PATCH 1/3] Drop check requirement, we don't do unit tests
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 59b18a8..5dde3b2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -50,10 +50,6 @@ dnl Determine CC and preset CFLAGS
+ AC_PROG_CC_C99
+ AC_PROG_RANLIB
+
+-if test "$arch" = "linux" ; then
+-PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
+-fi
+-
+ dnl Determine of netlink is available
+ AC_MSG_CHECKING(netlink)
+ AC_TRY_COMPILE([
+--
+2.1.0
+
diff --git a/package/radvd/0002-Don-t-force-fstack-protector-the-toolchain-might-lac.patch b/package/radvd/0002-Don-t-force-fstack-protector-the-toolchain-might-lac.patch
new file mode 100644
index 0000000000..44768086cc
--- /dev/null
+++ b/package/radvd/0002-Don-t-force-fstack-protector-the-toolchain-might-lac.patch
@@ -0,0 +1,27 @@
+From 324e1ebc7b86f68f49fb4f1c34a4de60d18dd3c1 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Sun, 23 Nov 2014 12:17:11 +0100
+Subject: [PATCH 2/3] Don't force -fstack-protector, the toolchain might lack
+ support for it
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 80633e7..8b5a2e4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -43,7 +43,6 @@ DISABLE_WARNINGS = \
+
+ AM_CFLAGS = \
+ -fno-strict-aliasing \
+- -fstack-protector \
+ $(ENABLE_WARNINGS) \
+ $(DISABLE_WARNINGS)
+
+--
+2.1.0
+
diff --git a/package/radvd/0003-Improve-check-of-the-sysctl-function.patch b/package/radvd/0003-Improve-check-of-the-sysctl-function.patch
new file mode 100644
index 0000000000..3053f7b646
--- /dev/null
+++ b/package/radvd/0003-Improve-check-of-the-sysctl-function.patch
@@ -0,0 +1,49 @@
+From 4c86b3cbf52f810615d92835e98d83e9555a4d88 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 23 Nov 2014 12:13:47 +0100
+Subject: [PATCH 3/3] Improve check of the sysctl() function
+
+Since sysctl is a deprecated system call, new architectures such as
+ARC don't implement it. In such cases, uClibc installs the
+<sys/sysctl.h> header, but dos not implement the sysctl()
+function. This has the annoying side effect of breaking the sysctl
+detection of radvd, which is purely based on the header file being
+present.
+
+To fix this, this commit adds a check based on the existence of the
+sysctl() function.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 1 +
+ device-linux.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5dde3b2..5518f71 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -161,6 +161,7 @@ AC_CHECK_HEADERS( \
+ time.h \
+ )
+ AC_HEADER_TIME
++AC_CHECK_FUNCS([sysctl])
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_MSG_CHECKING(whether struct sockaddr_in6 has sin6_scope_id)
+diff --git a/device-linux.c b/device-linux.c
+index 1ecaa6b..d9b56b8 100644
+--- a/device-linux.c
++++ b/device-linux.c
+@@ -183,7 +183,7 @@ int check_ip6_forwarding(void)
+ value = -1;
+ }
+
+-#ifdef HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL)
+ int forw_sysctl[] = { SYSCTL_IP6_FORWARDING };
+ size_t size = sizeof(value);
+ if (!fp && sysctl(forw_sysctl, sizeof(forw_sysctl) / sizeof(forw_sysctl[0]), &value, &size, NULL, 0) < 0) {
+--
+2.1.0
+
diff --git a/package/radvd/radvd-01-drop-check.patch b/package/radvd/radvd-01-drop-check.patch
deleted file mode 100644
index 670d5b2cec..0000000000
--- a/package/radvd/radvd-01-drop-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Drop check requirement, we don't do unit tests.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura radvd-2.6.orig/configure.ac radvd-2.6/configure.ac
---- radvd-2.6.orig/configure.ac 2014-09-04 15:54:41.735038724 -0300
-+++ radvd-2.6/configure.ac 2014-09-04 15:54:53.106431815 -0300
-@@ -50,10 +50,6 @@
- AC_PROG_CC_C99
- AC_PROG_RANLIB
-
--if test "$arch" = "linux" ; then
--PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
--fi
--
- dnl Determine of netlink is available
- AC_MSG_CHECKING(netlink)
- AC_TRY_COMPILE([
diff --git a/package/radvd/radvd-02-drop-stack-protector.patch b/package/radvd/radvd-02-drop-stack-protector.patch
deleted file mode 100644
index 532c1b64ba..0000000000
--- a/package/radvd/radvd-02-drop-stack-protector.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Don't force -fstack-protector, the toolchain might lack support for it.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura radvd-2.1.orig/Makefile.am radvd-2.1/Makefile.am
---- radvd-2.1.orig/Makefile.am 2014-07-22 08:23:12.642260069 -0300
-+++ radvd-2.1/Makefile.am 2014-07-22 08:26:42.651380759 -0300
-@@ -43,7 +43,6 @@
-
- AM_CFLAGS = \
- -fno-strict-aliasing \
-- -fstack-protector \
- $(ENABLE_WARNINGS) \
- $(DISABLE_WARNINGS)
-
diff --git a/package/radvd/radvd.mk b/package/radvd/radvd.mk
index e0d4f69395..bd2086dc8e 100644
--- a/package/radvd/radvd.mk
+++ b/package/radvd/radvd.mk
@@ -9,7 +9,7 @@ RADVD_SOURCE = radvd-$(RADVD_VERSION).tar.xz
RADVD_SITE = http://www.litech.org/radvd/dist
RADVD_DEPENDENCIES = host-bison flex host-flex host-pkgconf
RADVD_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
-# For radvd-01-drop-check.patch & radvd-02-drop-stack-protector.patch
+# We're patching configure.ac/Makefile.am.
RADVD_AUTORECONF = YES
define RADVD_INSTALL_INITSCRIPT
diff --git a/package/rpm/Config.in b/package/rpm/Config.in
index 2492616580..620eb1a374 100644
--- a/package/rpm/Config.in
+++ b/package/rpm/Config.in
@@ -13,6 +13,7 @@ config BR2_PACKAGE_RPM
select BR2_PACKAGE_NEON_XML
select BR2_PACKAGE_NEON_ZLIB
select BR2_PACKAGE_NEON_SSL
+ select BR2_PACKAGE_ZLIB
help
The RPM package management system.
diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk
index af1642fb87..50e6d75030 100644
--- a/package/rpm/rpm.mk
+++ b/package/rpm/rpm.mk
@@ -7,7 +7,7 @@
RPM_VERSION_MAJOR = 5.2
RPM_VERSION = $(RPM_VERSION_MAJOR).0
RPM_SITE = http://rpm5.org/files/rpm/rpm-$(RPM_VERSION_MAJOR)
-RPM_DEPENDENCIES = zlib beecrypt neon popt
+RPM_DEPENDENCIES = zlib beecrypt neon popt openssl
RPM_LICENSE = LGPLv2.1
RPM_LICENSE_FILES = COPYING.LIB
diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in
index 34669b243d..db5e0a04e3 100644
--- a/package/rt-tests/Config.in
+++ b/package/rt-tests/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_RT_TESTS
bool "rt-tests"
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU # fork()
help
Set of utilities for testing the real-time behaviour of a
Linux system.
@@ -27,3 +28,4 @@ comment "rt-tests may not work on MIPS with an external uClibc toolchain"
comment "rt-tests needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU
diff --git a/package/rtai/rtai.mk b/package/rtai/rtai.mk
index 33318e877f..6f94121403 100644
--- a/package/rtai/rtai.mk
+++ b/package/rtai/rtai.mk
@@ -11,7 +11,7 @@ RTAI_INSTALL_STAGING = YES
# The <pkg>_CONFIG_SCRIPTS cannot apply here to the specificities of rtai-config
define RTAI_POST_PATCH_FIXUP
- (SED) 's%^staging=.*%staging=$(STAGING_DIR)%' $(STAGING_DIR)/usr/bin/rtai-config
+ $(SED) 's%^staging=.*%staging=$(STAGING_DIR)%' $(STAGING_DIR)/usr/bin/rtai-config
endef
RTAI_POST_INSTALL_STAGING_HOOKS += RTAI_POST_PATCH_FIXUP
diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash
index 8d5d1338b8..9d56eeeb57 100644
--- a/package/ruby/ruby.hash
+++ b/package/ruby/ruby.hash
@@ -1,2 +1,2 @@
-# From https://www.ruby-lang.org/en/news/2014/10/27/ruby-2-1-4-released/
-sha256 bf9952cdeb3a0c6a5a27745c9b4c0e5e264e92b669b2b08efb363f5156549204 ruby-2.1.4.tar.gz
+# From https://www.ruby-lang.org/en/news/2014/11/13/ruby-2-1-5-is-released/
+sha256 4305cc6ceb094df55210d83548dcbeb5117d74eea25196a9b14fa268d354b100 ruby-2.1.5.tar.gz
diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
index 36f6d3f59b..20a2a11be2 100644
--- a/package/ruby/ruby.mk
+++ b/package/ruby/ruby.mk
@@ -5,7 +5,7 @@
################################################################################
RUBY_VERSION_MAJOR = 2.1
-RUBY_VERSION = $(RUBY_VERSION_MAJOR).4
+RUBY_VERSION = $(RUBY_VERSION_MAJOR).5
RUBY_VERSION_EXT = 2.1.0
RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR)
RUBY_DEPENDENCIES = host-pkgconf host-ruby
diff --git a/package/schifra/Config.in b/package/schifra/Config.in
index 486f92d17e..a3f699a80f 100644
--- a/package/schifra/Config.in
+++ b/package/schifra/Config.in
@@ -1,6 +1,10 @@
config BR2_PACKAGE_SCHIFRA
bool "schifra"
depends on BR2_INSTALL_LIBSTDCPP
+ # Upstream keep changing the tarball without doing new
+ # releases. This is not acceptable for Buildroot, as
+ # reproducible builds are very important.
+ depends on BR2_BROKEN
help
Schifra is a very robust, highly optimized and extremely configurable
Reed-Solomon error correcting code library for both software and IP
@@ -18,4 +22,5 @@ config BR2_PACKAGE_SCHIFRA_EXAMPLES
endif
comment "schifra needs a toolchain w/ C++"
+ depends on BR2_BROKEN
depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/sdl_sound/0001-fix-constness.patch b/package/sdl_sound/0001-fix-constness.patch
new file mode 100644
index 0000000000..1f27a071dc
--- /dev/null
+++ b/package/sdl_sound/0001-fix-constness.patch
@@ -0,0 +1,16 @@
+decoders/speex: fix constness of speex mode
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN sdl_sound-1.0.3.orig/decoders/speex.c sdl_sound-1.0.3/decoders/speex.c
+--- sdl_sound-1.0.3.orig/decoders/speex.c 2014-11-17 19:40:09.543553556 +0100
++++ sdl_sound-1.0.3/decoders/speex.c 2014-11-17 19:40:37.119864580 +0100
+@@ -124,7 +124,7 @@
+
+ static int process_header(speex_t *speex, Sound_Sample *sample)
+ {
+- SpeexMode *mode;
++ const SpeexMode * mode;
+ SpeexHeader *hptr;
+ SpeexHeader header;
+ int enh_enabled = SPEEX_USE_PERCEPTUAL_ENHANCER;
diff --git a/package/shairport-sync/0001-fix-static-link-openssl.patch b/package/shairport-sync/0001-fix-static-link-openssl.patch
new file mode 100644
index 0000000000..8245b893b9
--- /dev/null
+++ b/package/shairport-sync/0001-fix-static-link-openssl.patch
@@ -0,0 +1,41 @@
+configure: fix static link with openssl
+
+Use pkg-config to find openssl libraries, that will return all the
+dependent libraries of openssl as well (e.g. -lz) that can not be
+deduced in case of a static link.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch applied upstream:
+ https://github.com/mikebrady/shairport-sync/commit/2a430ec434674ed8c1959698c061662bb7abc1a1
+
+diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
+--- shairport-sync-2.1.8.orig/configure.ac 2014-10-25 18:03:13.000000000 +0200
++++ shairport-sync-2.1.8/configure.ac 2014-11-29 12:52:41.507981720 +0100
+@@ -21,6 +21,8 @@
+ AC_PROG_CC
+ AC_PROG_INSTALL
+
++PKG_PROG_PKG_CONFIG([0.9.0])
++
+ # Checks for libraries.
+ if test "x${with_os_type}" = xlinux; then
+ AC_CHECK_LIB([rt],[clock_gettime], , AC_MSG_ERROR(librt needed))
+@@ -52,8 +56,14 @@
+ AC_MSG_ERROR(choose either "openssl" or "polarssl" encryption)
+ fi
+ if test "x${with_ssl}" = xopenssl ; then
+- AC_CHECK_LIB([crypto], [MD5_Init], , AC_MSG_ERROR(libcrypto selected, but the library cannot be found!))
+- AC_CHECK_LIB([ssl],[SSL_library_init], , AC_MSG_ERROR(openssl selected but the library cannot be found!))
++ PKG_CHECK_MODULES(
++ [CRYPTO], [libcrypto],
++ [LIBS="${CRYPTO_LIBS} ${LIBS}"
++ AC_DEFINE([HAVE_LIBCRYPTO],[1],[Define to 1 if you have libcrypto])])
++ PKG_CHECK_MODULES(
++ [SSL], [libssl],
++ [LIBS="${SSL_LIBS} ${LIBS}"
++ AC_DEFINE([HAVE_LIBSSL],[1],[Define to 1 if you have libssl])])
+ elif test "x${with_ssl}" = xpolarssl ; then
+ AC_CHECK_LIB([polarssl],[ssl_init], , AC_MSG_ERROR(PolarSSL selected but the library cannot be found!))
+ else
diff --git a/package/shairport-sync/0002-fix-static-link-alsa.patch b/package/shairport-sync/0002-fix-static-link-alsa.patch
new file mode 100644
index 0000000000..101ce142b9
--- /dev/null
+++ b/package/shairport-sync/0002-fix-static-link-alsa.patch
@@ -0,0 +1,27 @@
+configure: fix static link with alsa
+
+Use pkg-config to find the alsa library, that will return all the
+dependent libraries of alsa (e.g. -ldl -lpthread -lrt) as well that
+can not be deduced in case of a static link.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch applied upstream:
+ https://github.com/mikebrady/shairport-sync/commit/e5a74a3ff08134a2b11f07bd850659d7816fb03d
+
+diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
+--- shairport-sync-2.1.8.orig/configure.ac 2014-11-29 12:56:11.954118681 +0100
++++ shairport-sync-2.1.8/configure.ac 2014-11-29 13:07:24.941687600 +0100
+@@ -99,7 +99,10 @@
+ HAS_ALSA=1
+ AM_CONDITIONAL([USE_ALSA], [test 0])
+ AC_DEFINE([CONFIG_ALSA], 1, [Needed by the compiler.])
+- AC_CHECK_LIB([asound], [snd_pcm_open], , AC_MSG_ERROR(ALSA support requires the asound library!))], )
++ PKG_CHECK_MODULES(
++ [ALSA], [alsa],
++ [LIBS="${ALSA_LIBS} ${LIBS}"
++ AC_DEFINE([HAVE_LIBASOUND],[1],[Define to 1 if you have ALSA])])])
+ AM_CONDITIONAL([USE_ALSA], [test "x$HAS_ALSA" = "x1"])
+
+ # Look for SNDIO flag
diff --git a/package/shairport-sync/0003-fix-static-link-popt.patch b/package/shairport-sync/0003-fix-static-link-popt.patch
new file mode 100644
index 0000000000..fe4d8f6677
--- /dev/null
+++ b/package/shairport-sync/0003-fix-static-link-popt.patch
@@ -0,0 +1,25 @@
+configure: fix static link with popt
+
+Use pkg-config to find the popt library.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch applied upstream:
+ https://github.com/mikebrady/shairport-sync/commit/1f759e57e8c0682613eaaf89a46fdf6db4c6b5cd
+
+diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
+--- shairport-sync-2.1.8.orig/configure.ac 2014-11-29 14:14:36.655955733 +0100
++++ shairport-sync-2.1.8/configure.ac 2014-11-29 14:16:21.072719327 +0100
+@@ -31,7 +31,10 @@
+ AC_CHECK_LIB([daemon],[daemon_log], , AC_MSG_ERROR(libdaemon needed))
+ AC_CHECK_LIB([pthread],[pthread_create], , AC_MSG_ERROR(pthread library needed))
+ AC_CHECK_LIB([m],[exp], , AC_MSG_ERROR(maths library needed))
+-AC_CHECK_LIB([popt],[poptGetContext], , AC_MSG_ERROR(libpopt needed))
++PKG_CHECK_MODULES(
++ [POPT], [popt],
++ [LIBS="${POPT_LIBS} ${LIBS}"
++ AC_DEFINE([HAVE_LIBPOPT],[1],[Define to 1 if you have popt])])
+
+ # Look for piddir flag
+ AC_ARG_WITH(piddir, [ --with-piddir=<pathname> Specify a pathname to a directory in which to write the PID file.], [
diff --git a/package/shairport-sync/S99shairport-sync b/package/shairport-sync/S99shairport-sync
index 31359fc25e..54d20ff76c 100644
--- a/package/shairport-sync/S99shairport-sync
+++ b/package/shairport-sync/S99shairport-sync
@@ -1,12 +1,12 @@
#! /bin/sh
# Additional options that are passed to Shairport Sync
-OPTIONS=""
+OPTIONS="-d"
case "$1" in
start)
echo -n "Starting shairport-sync: "
- start-stop-daemon -S -q -m -b -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS
+ start-stop-daemon -S -q -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
diff --git a/package/shairport-sync/shairport-sync.mk b/package/shairport-sync/shairport-sync.mk
index 9ae6d97387..39017a06a4 100644
--- a/package/shairport-sync/shairport-sync.mk
+++ b/package/shairport-sync/shairport-sync.mk
@@ -9,9 +9,12 @@ SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VE
SHAIRPORT_SYNC_LICENSE = MIT, BSD-3c
SHAIRPORT_SYNC_LICENSE_FILES = LICENSES
-SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libdaemon popt
+SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libdaemon popt host-pkgconf
+
+# Touching configure.ac with the patches
SHAIRPORT_SYNC_AUTORECONF = YES
-SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required
+
+SHAIRPORT_SYNC_CONF_OPTS = --with-alsa
# Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns).
# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon
diff --git a/package/sqlcipher/sqlcipher.mk b/package/sqlcipher/sqlcipher.mk
index 86eebb5c4c..9b4446c498 100644
--- a/package/sqlcipher/sqlcipher.mk
+++ b/package/sqlcipher/sqlcipher.mk
@@ -11,14 +11,13 @@ SQLCIPHER_INSTALL_STAGING = YES
SQLCIPHER_CONF_ENV = \
CFLAGS="$(TARGET_CFLAGS) $(SQLCIPHER_CFLAGS)" \
- LDFLAGS="$(TARGET_LDFLAGS) $(SQLCIPHER_LDFLAGS)" \
TCLSH_CMD=$(HOST_DIR)/usr/bin/tclsh$(TCL_VERSION_MAJOR)
SQLCIPHER_CONF_OPTS = \
--enable-threadsafe
SQLCIPHER_CFLAGS += -DSQLITE_HAS_CODEC # Required according to the README
-SQLCIPHER_LDFLAGS += -lcrypto -lz
+SQLCIPHER_CONF_ENV += LIBS="-lcrypto -lz"
ifneq ($(BR2_LARGEFILE),y)
# the sqlite configure script fails to define SQLITE_DISABLE_LFS when
diff --git a/package/squid/Config.in b/package/squid/Config.in
index ad9fab5931..ce38371750 100644
--- a/package/squid/Config.in
+++ b/package/squid/Config.in
@@ -1,7 +1,8 @@
-comment "squid needs a toolchain w/ C++, IPv6"
+comment "squid needs a toolchain w/ C++, IPv6, headers >= 3.0"
depends on BR2_USE_MMU
depends on !BR2_avr32 # toolchain too old
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_INET_IPV6
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_INET_IPV6 \
+ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
config BR2_PACKAGE_SQUID
bool "squid"
@@ -9,6 +10,7 @@ config BR2_PACKAGE_SQUID
depends on BR2_INET_IPV6
# needs fork()
depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libcap
select BR2_PACKAGE_LIBCAP
help
Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.
diff --git a/package/sstrip/sstrip.mk b/package/sstrip/sstrip.mk
index deab01032a..fe57b3c19b 100644
--- a/package/sstrip/sstrip.mk
+++ b/package/sstrip/sstrip.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SSTRIP_SITE = svn://dev.openwrt.org/openwrt/trunk/tools/sstrip
+SSTRIP_SITE = svn://svn.openwrt.org/openwrt/trunk/tools/sstrip
SSTRIP_VERSION = 20154
HOST_SSTRIP_BINARY = $(GNU_TARGET_NAME)-sstrip
diff --git a/package/sysvinit/inittab b/package/sysvinit/inittab
index fd0d2f035f..fc0c9b5803 100644
--- a/package/sysvinit/inittab
+++ b/package/sysvinit/inittab
@@ -2,24 +2,26 @@
#
# This inittab is a basic inittab sample for sysvinit, which mimics
# Buildroot's default inittab for BusyBox.
-id:1:initdefault:
+id:3:initdefault:
-proc::sysinit:/bin/mount -t proc proc /proc
-rwmo::sysinit:/bin/mount -o remount,rw /
-dpts::sysinit:/bin/mkdir -p /dev/pts
-dshm::sysinit:/bin/mkdir -p /dev/shm
-moun::sysinit:/bin/mount -a
-host::sysinit:/bin/hostname -F /etc/hostname
-init::sysinit:/etc/init.d/rcS
-
-1:1:respawn:/sbin/getty 38400 tty1
-2:1:respawn:/sbin/getty 38400 tty2
+si0::sysinit:/bin/mount -t proc proc /proc
+si1::sysinit:/bin/mount -o remount,rw /
+si2::sysinit:/bin/mkdir -p /dev/pts
+si3::sysinit:/bin/mkdir -p /dev/shm
+si4::sysinit:/bin/mount -a
+si5::sysinit:/bin/hostname -F /etc/hostname
+si6::sysinit:/etc/init.d/rcS
# S0:1:respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL
# Stuff to do for the 3-finger salute
-rebo::ctrlaltdel:/sbin/reboot
+ca::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
-umou:6:wait:/bin/umount -a -r
-swap:6:wait:/sbin/swapoff -a
+shd0:06:wait:/etc/init.d/rcK
+shd1:06:wait:/sbin/swapoff -a
+shd2:06:wait:/bin/umount -a -r
+
+# The usual halt or reboot actions
+hlt0:0:wait:/sbin/halt -dhp
+reb0:6:wait:/sbin/reboot
diff --git a/package/tcpdump/0002-fix-CVE-2014-8767.patch b/package/tcpdump/0002-fix-CVE-2014-8767.patch
new file mode 100644
index 0000000000..a88efdf58d
--- /dev/null
+++ b/package/tcpdump/0002-fix-CVE-2014-8767.patch
@@ -0,0 +1,20 @@
+From https://bugzilla.redhat.com/show_bug.cgi?id=1165160
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- tcpdump-tcpdump-4.6/print-olsr.c 2014-10-23 14:07:12.000000000 +0700
++++ tcpdump-4.6.2/print-olsr.c 2014-11-21 14:56:18.205542679 +0700
+@@ -234,6 +234,13 @@
+ ND_PRINT((ndo, "\n\t neighbor\n\t\t"));
+ neighbor = 1;
+
++ u_int caplength;
++
++ /* Checking length of available data before print */
++ caplength = (ndo->ndo_snapend >= msg_data) ? ndo->ndo_snapend - msg_data : 0;
++ if (hello_len > caplength)
++ hello_len = caplength;
++
+ while (hello_len >= sizeof(struct in_addr)) {
+
+ /* print 4 neighbors per line */
diff --git a/package/tcpdump/0003-fix-CVE-2014-8768.patch b/package/tcpdump/0003-fix-CVE-2014-8768.patch
new file mode 100644
index 0000000000..a8b82cf701
--- /dev/null
+++ b/package/tcpdump/0003-fix-CVE-2014-8768.patch
@@ -0,0 +1,19 @@
+From https://bugzilla.redhat.com/show_bug.cgi?id=1165161
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- tcpdump-tcpdump_4.5/print-geonet.c 2014-02-17 05:58:41.000000000 +0700
++++ print-geonet.c 2014-11-21 10:06:58.590217933 +0700
+@@ -237,6 +237,12 @@
+ printf("Malformed (small) ");
+ }
+
++ /* Checking length before print */
++ u_int caplength;
++ caplength = (ndo->ndo_snapend >= bp) ? ndo->ndo_snapend - bp : 0;
++ if (length > caplength)
++ length = caplength;
++
+ /* Print user data part */
+ if (ndo->ndo_vflag)
+ default_print(bp, length);
diff --git a/package/tcpdump/0004-fix-CVE-2014-8769.patch b/package/tcpdump/0004-fix-CVE-2014-8769.patch
new file mode 100644
index 0000000000..38eaf1247c
--- /dev/null
+++ b/package/tcpdump/0004-fix-CVE-2014-8769.patch
@@ -0,0 +1,19 @@
+From https://bugzilla.redhat.com/show_bug.cgi?id=1165162
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- tcpdump-tcpdump-4.6/print-udp.c 2014-11-21 13:53:05.757690197 +0700
++++ tcpdump-4.6.2/print-udp.c 2014-11-21 13:50:58.077695164 +0700
+@@ -357,6 +357,12 @@
+ #ifdef INET6
+ register const struct ip6_hdr *ip6;
+ #endif
++ u_int caplength;
++
++ /* Checking length of available data before print */
++ caplength = (ndo->ndo_snapend >= bp) ? ndo->ndo_snapend - bp : 0;
++ if (length > caplength)
++ length = caplength;
+
+ if (ep > ndo->ndo_snapend)
+ ep = ndo->ndo_snapend;
diff --git a/package/tstools/tstools-001-build-get-along-with-buildroot.patch b/package/tstools/001-build-get-along-with-buildroot.patch
index 1e7a748262..1e7a748262 100644
--- a/package/tstools/tstools-001-build-get-along-with-buildroot.patch
+++ b/package/tstools/001-build-get-along-with-buildroot.patch
diff --git a/package/tstools/tstools-002-build-fix-parallel-build-failure.patch b/package/tstools/tstools-002-build-fix-parallel-build-failure.patch
deleted file mode 100644
index df507474d0..0000000000
--- a/package/tstools/tstools-002-build-fix-parallel-build-failure.patch
+++ /dev/null
@@ -1,331 +0,0 @@
-From 2fe4faa9d8eab6068976c7981bc166f576869b36 Mon Sep 17 00:00:00 2001
-From: Tzu-Jung Lee <tjlee@ambarella.com>
-Date: Sun, 28 Jul 2013 19:40:27 +0800
-Subject: [PATCH 1/1] build: fix parallel build failure
-
-This is back ported from recent upstream commit
-
- 0e8463ea1dc55f566a88bb3df29cf3d5f23cc326
-
-Once the upstream update the download page with more
-recent source tarball, this will no longer be needed.
-
-Signed-off-by: Tzu-Jung Lee <tjlee@ambarella.com>
----
- Makefile | 222 +++++++++++++++++++++++++++++++++------------------------------
- 1 file changed, 115 insertions(+), 107 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index b79a573..ad7f163 100644
---- a/Makefile
-+++ b/Makefile
-@@ -67,67 +67,49 @@ LFS_FLAGS = -D_FILE_OFFSET_BITS=64
- # sort of thing (presumably Linux or BSD)
- ifeq ($(shell uname -s), Darwin)
- SYSTEM = "macosx"
-- ARCH_FLAGS = -arch ppc -arch i386
-+ ARCH_FLAGS =
-+ # If you're still building on a version of Mac OS X that supports powerpc,
-+ # then you may want to uncomment the next line. Obviously, this no longer
-+ # works in Lion, which doesn't support powerpc machines any more.
-+ #ARCH_FLAGS = -arch ppc -arch i386
- else
- SYSTEM = "other"
-- ARCH_FLAGS =
-+ ARCH_FLAGS = -fPIC
- endif
-
- CFLAGS = $(WARNING_FLAGS) $(OPTIMISE_FLAGS) $(LFS_FLAGS) -I. $(PROFILE_FLAGS) $(ARCH_FLAGS)
--LDFLAGS = -g -lm $(PROFILE_FLAGS) $(ARCH_FLAGS)
-+LDFLAGS = -g $(PROFILE_FLAGS) $(ARCH_FLAGS) -lm
-
- # Target directories
- OBJDIR = obj
- LIBDIR = lib
- BINDIR = bin
-
--# All of our non-program source files
--SRCS = \
-- accessunit.c \
-- ac3.c \
-- adts.c \
-- avs.c \
-- bitdata.c \
-- es.c \
-- fmtx.c \
-- h222.c \
-- h262.c \
-- audio.c \
-- l2audio.c \
-- misc.c \
-- nalunit.c \
-- ps.c \
-- pes.c \
-- pidint.c \
-- ts.c \
-- tswrite.c \
-- pcap.c
--
- # All of our non-program object modules
- OBJS = \
-- accessunit.o \
-- avs.o \
-- ac3.o \
-- adts.o \
-- bitdata.o \
-- es.o \
-- filter.o \
-- fmtx.o \
-- h222.o \
-- h262.o \
-- audio.o \
-- l2audio.o \
-- misc.o \
-- nalunit.o \
-- ps.o \
-- pes.o \
-- pidint.o \
-- reverse.o \
-- ts.o \
-- tswrite.o \
-- pcap.o \
-- ethernet.o \
-- ipv4.o
-+ $(OBJDIR)/accessunit.o \
-+ $(OBJDIR)/avs.o \
-+ $(OBJDIR)/ac3.o \
-+ $(OBJDIR)/adts.o \
-+ $(OBJDIR)/bitdata.o \
-+ $(OBJDIR)/es.o \
-+ $(OBJDIR)/filter.o \
-+ $(OBJDIR)/fmtx.o \
-+ $(OBJDIR)/h222.o \
-+ $(OBJDIR)/h262.o \
-+ $(OBJDIR)/audio.o \
-+ $(OBJDIR)/l2audio.o \
-+ $(OBJDIR)/misc.o \
-+ $(OBJDIR)/nalunit.o \
-+ $(OBJDIR)/ps.o \
-+ $(OBJDIR)/pes.o \
-+ $(OBJDIR)/pidint.o \
-+ $(OBJDIR)/reverse.o \
-+ $(OBJDIR)/ts.o \
-+ $(OBJDIR)/tswrite.o \
-+ $(OBJDIR)/pcap.o \
-+ $(OBJDIR)/ethernet.o \
-+ $(OBJDIR)/ipv4.o
-
- # Our program object modules
- PROG_OBJS = \
-@@ -161,9 +143,14 @@ TEST_OBJS = \
- $(OBJDIR)/test_es_unit_list.o
-
- # Our library
--LIB = $(LIBDIR)/libtstools.a
--LIBOPTS = -L$(LIBDIR) -ltstools $(ARCH_FLAGS)
-+STATIC_LIB = $(LIBDIR)/libtstools.a
-+LIBOPTS = $(ARCH_FLAGS) $(STATIC_LIB)
-
-+ifeq ($(shell uname -s), Darwin)
-+SHARED_LIB = $(LIBDIR)/libtstools.xxx
-+else
-+SHARED_LIB = $(LIBDIR)/libtstools.so
-+endif
- # All of our programs (except the testing ones)
- PROGS = \
- $(BINDIR)/esfilter \
-@@ -197,7 +184,7 @@ TEST_PES_PROG = $(BINDIR)/test_pes
- TEST_PROGS = test_nal_unit_list test_es_unit_list
-
- # ------------------------------------------------------------
--all: $(BINDIR) $(LIBDIR) $(OBJDIR) $(PROGS)
-+all: $(BINDIR) $(LIBDIR) $(OBJDIR) $(PROGS) $(SHARED_LIB)
-
- # ts2ps is not yet an offical program, so for the moment build
- # it separately
-@@ -205,82 +192,97 @@ all: $(BINDIR) $(LIBDIR) $(OBJDIR) $(PROGS)
- ts2ps: $(TS2PS_PROG)
-
- ifeq ($(shell uname -s), Darwin)
--# Try getting a library containing universal objects on Mac
--$(LIB): $(OBJS)
-- libtool -static $(OBJS) -o $(LIB)
-+# Make libraries containing universal objects on Mac
-+$(STATIC_LIB): $(OBJS)
-+ libtool -static $(OBJS) -o $(STATIC_LIB)
-+$(SHARED_LIB): $(OBJS)
-+ libtool -dynamic $(OBJS) -o $(SHARED_LIB)
- else
--$(LIB): $(LIB)($(OBJS))
-+$(STATIC_LIB): $(OBJS)
-+ rm -f $(STATIC_LIB)
-+ ar rc $(STATIC_LIB) $(OBJS)
-+
-+$(SHARED_LIB): $(OBJS)
-+ $(LD) -shared -o $(SHARED_LIB) $(OBJS) -lc
- endif
-
--$(BINDIR)/esfilter: $(OBJDIR)/esfilter.o $(LIB)
-- $(CC) $< -o $(BINDIR)/esfilter $(LDFLAGS) $(LIBOPTS)
-+# Build all of the utilities with the static library, so that they can
-+# be copied around, shared, etc., without having to think about it
-+
-+$(BINDIR)/esfilter: $(OBJDIR)/esfilter.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/esfilter $(LIBOPTS) $(LDFLAGS)
-+
-+$(BINDIR)/ts2es: $(OBJDIR)/ts2es.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/ts2es $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/ts2es: $(OBJDIR)/ts2es.o $(LIB)
-- $(CC) $< -o $(BINDIR)/ts2es $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/es2ts: $(OBJDIR)/es2ts.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/es2ts $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/es2ts: $(OBJDIR)/es2ts.o $(LIB)
-- $(CC) $< -o $(BINDIR)/es2ts $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/esdots: $(OBJDIR)/esdots.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/esdots $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/esdots: $(OBJDIR)/esdots.o $(LIB)
-- $(CC) $< -o $(BINDIR)/esdots $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/esmerge: $(OBJDIR)/esmerge.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/esmerge $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/esmerge: $(OBJDIR)/esmerge.o $(LIB)
-- $(CC) $< -o $(BINDIR)/esmerge $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/esreport: $(OBJDIR)/esreport.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/esreport $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/esreport: $(OBJDIR)/esreport.o $(LIB)
-- $(CC) $< -o $(BINDIR)/esreport $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/esreverse: $(OBJDIR)/esreverse.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/esreverse $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/esreverse: $(OBJDIR)/esreverse.o $(LIB)
-- $(CC) $< -o $(BINDIR)/esreverse $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/stream_type: $(OBJDIR)/stream_type.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/stream_type $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/stream_type: $(OBJDIR)/stream_type.o $(LIB)
-- $(CC) $< -o $(BINDIR)/stream_type $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/psreport: $(OBJDIR)/psreport.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/psreport $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/psreport: $(OBJDIR)/psreport.o $(LIB)
-- $(CC) $< -o $(BINDIR)/psreport $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/psdots: $(OBJDIR)/psdots.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/psdots $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/psdots: $(OBJDIR)/psdots.o $(LIB)
-- $(CC) $< -o $(BINDIR)/psdots $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/ps2ts: $(OBJDIR)/ps2ts.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/ps2ts $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/ps2ts: $(OBJDIR)/ps2ts.o $(LIB)
-- $(CC) $< -o $(BINDIR)/ps2ts $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/tsinfo: $(OBJDIR)/tsinfo.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/tsinfo $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/tsinfo: $(OBJDIR)/tsinfo.o $(LIB)
-- $(CC) $< -o $(BINDIR)/tsinfo $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/tsreport: $(OBJDIR)/tsreport.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/tsreport $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/tsreport: $(OBJDIR)/tsreport.o $(LIB)
-- $(CC) $< -o $(BINDIR)/tsreport $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/tsserve: $(OBJDIR)/tsserve.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/tsserve $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/tsserve: $(OBJDIR)/tsserve.o $(LIB)
-- $(CC) $< -o $(BINDIR)/tsserve $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/tsplay: $(OBJDIR)/tsplay.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/tsplay $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/tsplay: $(OBJDIR)/tsplay.o $(LIB)
-- $(CC) $< -o $(BINDIR)/tsplay $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/test_ps: $(OBJDIR)/test_ps.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/test_ps $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/test_ps: $(OBJDIR)/test_ps.o $(LIB)
-- $(CC) $< -o $(BINDIR)/test_ps $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/ts2ps: $(OBJDIR)/ts2ps.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/ts2ps $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/ts2ps: $(OBJDIR)/ts2ps.o $(LIB)
-- $(CC) $< -o $(BINDIR)/ts2ps $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/ts_packet_insert: $(OBJDIR)/ts_packet_insert.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/ts_packet_insert $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/ts_packet_insert: $(OBJDIR)/ts_packet_insert.o $(LIB)
-- $(CC) $< -o $(BINDIR)/ts_packet_insert $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/m2ts2ts: $(OBJDIR)/m2ts2ts.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/m2ts2ts $(LIBOPTS) $(LDFLAGS)
-+$(BINDIR)/pcapreport: $(OBJDIR)/pcapreport.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/pcapreport $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/m2ts2ts: $(OBJDIR)/m2ts2ts.o $(LIB)
-- $(CC) $< -o $(BINDIR)/m2ts2ts $(LDFLAGS) $(LIBOPTS)
--$(BINDIR)/pcapreport: $(OBJDIR)/pcapreport.o $(LIB)
-- $(CC) $< -o $(BINDIR)/pcapreport $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/tsfilter: $(OBJDIR)/tsfilter.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/tsfilter $(LIBOPTS) $(LDFLAGS)
-+$(BINDIR)/tsdvbsub: $(OBJDIR)/tsdvbsub.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/tsdvbsub $(LIBOPTS) $(LDFLAGS)
-
-
-
-
--$(BINDIR)/test_pes: $(OBJDIR)/test_pes.o $(LIB)
-- $(CC) $< -o $(BINDIR)/test_pes $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/test_pes: $(OBJDIR)/test_pes.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/test_pes $(LIBOPTS) $(LDFLAGS)
-
--$(BINDIR)/test_nal_unit_list: $(OBJDIR)/test_nal_unit_list.o $(LIB)
-- $(CC) $< -o $(BINDIR)/test_nal_unit_list $(LDFLAGS) $(LIBOPTS)
--$(BINDIR)/test_es_unit_list: $(OBJDIR)/test_es_unit_list.o $(LIB)
-- $(CC) $< -o $(BINDIR)/test_es_unit_list $(LDFLAGS) $(LIBOPTS)
-+$(BINDIR)/test_nal_unit_list: $(OBJDIR)/test_nal_unit_list.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/test_nal_unit_list $(LIBOPTS) $(LDFLAGS)
-+$(BINDIR)/test_es_unit_list: $(OBJDIR)/test_es_unit_list.o $(STATIC_LIB)
-+ $(CC) $< -o $(BINDIR)/test_es_unit_list $(LIBOPTS) $(LDFLAGS)
-
- # Some header files depend upon others, so including one requires
- # the others as well
-@@ -299,14 +301,19 @@ REVERSE_H = reverse_fns.h reverse_defns.h
- FILTER_H = filter_fns.h filter_defns.h $(REVERSE_H)
- AUDIO_H = adts_fns.h l2audio_fns.h ac3_fns.h audio_fns.h audio_defns.h adts_defns.h
-
--# Everyone depends upon the basic configuration file
--$(LIB)($(OBJS)) $(TEST_OBJS) $(PROG_OBJS): compat.h
-+# Everyone depends upon the basic configuration file, and I assert they all
-+# want (or may want) printing...
-+$(OBJS) $(TEST_OBJS) $(PROG_OBJS): compat.h
-
- # Which library modules depend on which header files is complex, so
- # lets just be simple
--$(LIB)($(OBJS)): $(ACCESSUNIT_H) $(NALUNIT_H) $(TS_H) $(ES_H) $(PES_H) \
-- misc_fns.h $(PS_H) $(H262_H) $(TSWRITE_H) $(AVS_H) \
-- $(REVERSE_H) $(FILTER_H) $(AUDIO_H)
-+$(OBJS): \
-+ $(ACCESSUNIT_H) $(NALUNIT_H) $(TS_H) $(ES_H) $(PES_H) \
-+ misc_fns.h $(PS_H) $(H262_H) \
-+ $(TSWRITE_H) $(AVS_H) $(REVERSE_H) $(FILTER_H) $(AUDIO_H)
-+
-+$(OBJDIR)/%.o: %.c
-+ $(CC) -c $< -o $@ $(CFLAGS)
-
- $(OBJDIR)/es2ts.o: es2ts.c $(ES_H) $(TS_H) misc_fns.h version.h
- $(CC) -c $< -o $@ $(CFLAGS)
-@@ -389,7 +396,8 @@ objclean:
- .PHONY: clean
- clean: objclean
- -rm -f $(PROGS)
-- -rm -f $(LIB)
-+ -rm -f $(STATIC_LIB)
-+ -rm -f $(SHARED_LIB)
- -rm -f $(PROG_OBJS)
-
- .PHONY: distclean
---
-1.8.3.2
-
diff --git a/package/tstools/tstools.mk b/package/tstools/tstools.mk
index a35fe0f90b..40920d2575 100644
--- a/package/tstools/tstools.mk
+++ b/package/tstools/tstools.mk
@@ -11,7 +11,7 @@ TSTOOLS_LICENSE = MPL v1.1
define TSTOOLS_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) LD="$(TARGET_CC)" $(TARGET_MAKE_ENV) \
- $(MAKE) -C $(@D)
+ $(MAKE1) -C $(@D)
endef
define TSTOOLS_INSTALL_TARGET_CMDS
diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk
index 47e29c0cc5..d0aa8570b3 100644
--- a/package/tzdata/tzdata.mk
+++ b/package/tzdata/tzdata.mk
@@ -26,8 +26,8 @@ TZDATA_LOCALTIME = $(call qstrip,$(BR2_TARGET_LOCALTIME))
TZDATA_EXTRACT_CMDS =
define TZDATA_INSTALL_TARGET_CMDS
- $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share
- cp -a $(HOST_DIR)/usr/share/zoneinfo $(TARGET_DIR)/usr/share/zoneinfo
+ $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/zoneinfo
+ cp -a $(HOST_DIR)/usr/share/zoneinfo/* $(TARGET_DIR)/usr/share/zoneinfo
cd $(TARGET_DIR)/usr/share/zoneinfo; \
for zone in posix/*; do \
ln -sfn "$${zone}" "$${zone##*/}"; \
@@ -59,7 +59,7 @@ define HOST_TZDATA_BUILD_CMDS
endef
define HOST_TZDATA_INSTALL_CMDS
- mkdir -p $(HOST_DIR)/usr/share/zoneinfo
+ $(INSTALL) -d -m 0755 $(HOST_DIR)/usr/share/zoneinfo
cp -a $(@D)/_output/* $(@D)/*.tab $(HOST_DIR)/usr/share/zoneinfo
endef
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
index ce416dd543..2d95ce1f4d 100644
--- a/package/uclibc/uclibc.mk
+++ b/package/uclibc/uclibc.mk
@@ -47,12 +47,14 @@ UCLIBC_KCONFIG_OPTS = \
UCLIBC_TARGET_ARCH = $(call qstrip,$(BR2_UCLIBC_TARGET_ARCH))
-ifeq ($(GENERATE_LOCALE),)
+UCLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE))
+
+ifeq ($(UCLIBC_GENERATE_LOCALES),)
# We need at least one locale
UCLIBC_LOCALES = en_US
else
# Strip out the encoding part of locale names, if any
-UCLIBC_LOCALES = $(foreach locale,$(GENERATE_LOCALE),\
+UCLIBC_LOCALES = $(foreach locale,$(UCLIBC_GENERATE_LOCALES),\
$(firstword $(subst .,$(space),$(locale))))
endif
diff --git a/package/uemacs/uemacs-4.0.15-lt.03.ixon.patch b/package/uemacs/01-clear-ixon-termios-flag.patch
index d0aaa79793..dde76420d4 100644
--- a/package/uemacs/uemacs-4.0.15-lt.03.ixon.patch
+++ b/package/uemacs/01-clear-ixon-termios-flag.patch
@@ -4,10 +4,11 @@ Otherwise ctrl-S/Q gets intercepted by the tty layer instead of
handled by uemacs.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-diff -U8 em-4.0.15-lt-orig/posix.c em-4.0.15-lt/posix.c
---- em-4.0.15-lt-orig/posix.c 1999-05-16 02:06:19.000000000 -0500
-+++ em-4.0.15-lt/posix.c 2012-04-25 16:14:25.000000000 -0500
-@@ -45,17 +45,17 @@
+diff --git a/posix.c b/posix.c
+index 97edd9f052b1..352c4712b689 100644
+--- a/posix.c
++++ b/posix.c
+@@ -53,17 +53,17 @@ void ttopen(void)
/*
* base new settings on old ones - don't change things
* we don't know about
@@ -20,9 +21,9 @@ diff -U8 em-4.0.15-lt-orig/posix.c em-4.0.15-lt/posix.c
+ | INPCK | INLCR | IGNCR | ICRNL | IXON);
/* raw CR/NR etc output handling */
- ntermios.c_oflag &= ~(OPOST | ONLCR | OLCUC | OCRNL | ONOCR | ONLRET);
+ ntermios.c_oflag &=
+ ~(OPOST | ONLCR | OLCUC | OCRNL | ONOCR | ONLRET);
/* No signal handling, no echo etc */
ntermios.c_lflag &= ~(ISIG | ICANON | XCASE | ECHO | ECHOE | ECHOK
- | ECHONL | NOFLSH | TOSTOP | ECHOCTL | ECHOPRT
- | ECHOKE | FLUSHO | PENDIN | IEXTEN);
+ | ECHONL | NOFLSH | TOSTOP | ECHOCTL |
diff --git a/package/uemacs/uemacs-4.0.15-lt.01.patch b/package/uemacs/uemacs-4.0.15-lt.01.patch
deleted file mode 100644
index 855dd35103..0000000000
--- a/package/uemacs/uemacs-4.0.15-lt.01.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -rup em-4.0.15-lt.oorig/display.c em-4.0.15-lt/display.c
---- em-4.0.15-lt.oorig/display.c 1994-05-21 12:40:56.000000000 +0200
-+++ em-4.0.15-lt/display.c 2005-11-16 16:54:22.000000000 +0100
-@@ -9,6 +9,7 @@
- */
-
- #include <stdio.h>
-+#include <errno.h>
- #include "estruct.h"
- #include "edef.h"
-
-diff -rup em-4.0.15-lt.oorig/main.c em-4.0.15-lt/main.c
---- em-4.0.15-lt.oorig/main.c 1994-05-21 12:41:03.000000000 +0200
-+++ em-4.0.15-lt/main.c 2005-11-16 16:54:01.000000000 +0100
-@@ -123,7 +123,7 @@ char *argv[]; /* argument strings */
- #endif
-
- #if UNIX
-- static void emergencyexit();
-+ void emergencyexit();
- #ifdef SIGWINCH
- extern void sizesignal();
- #endif
-@@ -599,7 +599,7 @@ quickexit(f, n)
- return(TRUE);
- }
-
--static void emergencyexit(signr)
-+void emergencyexit(signr)
- int signr;
- {
- quickexit(FALSE, 0);
-
diff --git a/package/uemacs/uemacs-4.0.15-lt.02.patch b/package/uemacs/uemacs-4.0.15-lt.02.patch
deleted file mode 100644
index 946b3d5d6b..0000000000
--- a/package/uemacs/uemacs-4.0.15-lt.02.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- em-4.0.15-lt.oorig/lock.c 1999-05-16 09:04:17.000000000 +0200
-+++ em-4.0.15-lt/lock.c 2006-03-10 15:22:16.000000000 +0100
-@@ -152,10 +152,8 @@
-
- strcpy(obuf, errstr);
- strcat(obuf, " - ");
-- if (errno < sys_nerr)
-- strcat(obuf, sys_errlist[errno]);
-- else
-- strcat(obuf, "(can not get system error message)");
-+ strcat(obuf, strerror(errno));
-+
- mlwrite(obuf);
- }
- #endif
-
diff --git a/package/uemacs/uemacs.mk b/package/uemacs/uemacs.mk
index eeb4f26e05..321fbde053 100644
--- a/package/uemacs/uemacs.mk
+++ b/package/uemacs/uemacs.mk
@@ -4,9 +4,9 @@
#
################################################################################
-UEMACS_VERSION = 4.0.15-lt
-UEMACS_SOURCE = em-$(UEMACS_VERSION).tar.gz
-UEMACS_SITE = $(BR2_KERNEL_MIRROR)/software/editors/uemacs
+UEMACS_VERSION = fa00fe882f719351fdf7a4c4100baf4f3eab4d61
+UEMACS_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/torvalds/uemacs.git
+UEMACS_SITE_METHOD = git
UEMACS_DEPENDENCIES = ncurses
define UEMACS_BUILD_CMDS
diff --git a/package/ushare/Config.in b/package/ushare/Config.in
index 981f0812d1..d961434016 100644
--- a/package/ushare/Config.in
+++ b/package/ushare/Config.in
@@ -4,6 +4,10 @@ config BR2_PACKAGE_USHARE
depends on BR2_TOOLCHAIN_HAS_THREADS # libupnp
select BR2_PACKAGE_LIBUPNP
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+ # ushare has a completely custom configure script that does
+ # broken things with library ordering, which breaks static
+ # linking.
+ depends on !BR2_PREFER_STATIC_LIB
help
uShare is a UPnP (TM) A/V & DLNA Media Server.
It implements the server component that provides UPnP media devices
@@ -11,5 +15,6 @@ config BR2_PACKAGE_USHARE
http://ushare.geexbox.org/
-comment "ushare needs a toolchain w/ largefile, threads"
- depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_THREADS)
+comment "ushare needs a toolchain w/ largefile, threads, dynamic library"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_PREFER_STATIC_LIB
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index 6ecd16de3a..dc10193f6e 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -128,6 +128,14 @@ endif
UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_GETTY_SYMLINK
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE)$(BR2_PACKAGE_UTIL_LINUX_LIBUUID),yy)
+define UTIL_LINUX_TWEAK_UUID_PC
+ $(SED) '/Libs\.private: .*/d' $(STAGING_DIR)/usr/lib/pkgconfig/uuid.pc
+ printf "Libs.private: -lintl\n" >>$(STAGING_DIR)/usr/lib/pkgconfig/uuid.pc
+endef
+UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_TWEAK_UUID_PC
+endif
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/wayland/Config.in b/package/wayland/Config.in
index cb10fac2f1..f90cda6614 100644
--- a/package/wayland/Config.in
+++ b/package/wayland/Config.in
@@ -14,4 +14,4 @@ config BR2_PACKAGE_WAYLAND
comment "wayland needs a toolchain w/ threads, dynamic library"
depends on !BR2_avr32
- depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PREFER_STATIC_LIB
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_PREFER_STATIC_LIB
diff --git a/package/weston/Config.in b/package/weston/Config.in
index fafdf950c5..cf242d1260 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -2,7 +2,7 @@ comment "weston needs udev and a toolchain w/ threads, dynamic library, headers
depends on !BR2_avr32
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || !BR2_PREFER_STATIC_LIB
+ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_PREFER_STATIC_LIB
config BR2_PACKAGE_WESTON
bool "weston"
diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash
index 00d3861a65..9b0c48800c 100644
--- a/package/wireshark/wireshark.hash
+++ b/package/wireshark/wireshark.hash
@@ -1,3 +1,3 @@
-# From https://www.wireshark.org/download/SIGNATURES-1.12.1.txt
-md5 14b3e3d8979d1eb27ff085bb5f400e67 wireshark-1.12.1.tar.bz2
-sha1 e1508ea25ccf077c5a7fa2af3b88f3ae199f77fb wireshark-1.12.1.tar.bz2
+# From https://www.wireshark.org/download/SIGNATURES-1.12.2.txt
+md5 2f2a16be8b087227cb17733c72288ae4 wireshark-1.12.2.tar.bz2
+sha1 0598fe285725f97045d7d08e6bde04686044b335 wireshark-1.12.2.tar.bz2
diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk
index ccf5a56f1f..095050a7b6 100644
--- a/package/wireshark/wireshark.mk
+++ b/package/wireshark/wireshark.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WIRESHARK_VERSION = 1.12.1
+WIRESHARK_VERSION = 1.12.2
WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2
WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions
WIRESHARK_LICENSE = wireshark license
diff --git a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk
index 950d988ad7..64c21037b2 100644
--- a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk
+++ b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk
@@ -11,5 +11,8 @@ XAPP_BDFTOPCF_LICENSE = MIT
XAPP_BDFTOPCF_LICENSE_FILES = COPYING
XAPP_BDFTOPCF_DEPENDENCIES = xlib_libXfont
+# needed for linking against libXfont
+XAPP_BDFTOPCF_MAKE_OPTS += LIBS=-ldl
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 558124002f..bf9f820613 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -50,13 +50,14 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
select BR2_PACKAGE_XUTIL_UTIL_MACROS
select BR2_PACKAGE_XKEYBOARD_CONFIG
depends on !BR2_avr32
+ depends on BR2_USE_MMU # fork()
help
X.Org X server
http://xorg.freedesktop.org
comment "xorg-xserver is BROKEN on AVR32"
- depends on BR2_avr32
+ depends on BR2_avr32 && BR2_USE_MMU
if BR2_PACKAGE_XSERVER_XORG_SERVER
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 4db8b0969d..4e06d5f08a 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -144,7 +144,9 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y)
XSERVER_XORG_SERVER_DEPENDENCIES += freetype
endif
-ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
+# libunwind support is broken on mips64
+# https://bugs.freedesktop.org/show_bug.cgi?id=79939
+ifeq ($(BR2_PACKAGE_LIBUNWIND)-$(BR2_mips64el),y-)
XSERVER_XORG_SERVER_DEPENDENCIES += libunwind
else
XSERVER_XORG_SERVER_CONF_OPTS += --disable-libunwind
diff --git a/package/x264/x264.mk b/package/x264/x264.mk
index 1846f04b30..7060ac1755 100644
--- a/package/x264/x264.mk
+++ b/package/x264/x264.mk
@@ -42,6 +42,7 @@ define X264_CONFIGURE_CMDS
--cross-prefix="$(TARGET_CROSS)" \
--disable-ffms \
--enable-static \
+ --disable-opencl \
$(X264_CONF_OPTS) \
)
endef
diff --git a/package/xl2tp/xl2tp.mk b/package/xl2tp/xl2tp.mk
index 0b2f7f1758..abed7e851f 100644
--- a/package/xl2tp/xl2tp.mk
+++ b/package/xl2tp/xl2tp.mk
@@ -10,9 +10,13 @@ XL2TP_DEPENDENCIES = libpcap openssl
XL2TP_LICENSE = GPLv2
XL2TP_LICENSE_FILES = LICENSE
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+XL2TP_LDLIBS = LDLIBS="$(shell $(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs)"
+endif
+
define XL2TP_BUILD_CMDS
$(SED) 's/ -O2 //' $(@D)/Makefile
- $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) $(XL2TP_LDLIBS) -C $(@D)
endef
define XL2TP_INSTALL_TARGET_CMDS
diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index a9c5b311ce..af5ce0e544 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -14,8 +14,11 @@ fi
# sanity check for CWD in LD_LIBRARY_PATH
# try not to rely on egrep..
if test -n "$LD_LIBRARY_PATH" ; then
+ echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep '::' >/dev/null 2>&1 ||
echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep ':\.:' >/dev/null 2>&1 ||
+ echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep 'TRiGGER_start:' >/dev/null 2>&1 ||
echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep 'TRiGGER_start\.:' >/dev/null 2>&1 ||
+ echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep ':TRiGGER_end' >/dev/null 2>&1 ||
echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep ':\.TRiGGER_end' >/dev/null 2>&1 ||
echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep 'TRiGGER_start\.TRiGGER_end' >/dev/null 2>&1
if test $? = 0; then
diff --git a/system/device_table.txt b/system/device_table.txt
index e15412d98a..8e7dbd218a 100644
--- a/system/device_table.txt
+++ b/system/device_table.txt
@@ -11,6 +11,7 @@
/etc d 755 0 0 - - - - -
/root d 700 0 0 - - - - -
/var/www d 755 33 33 - - - - -
+/etc/random-seed f 600 0 0 - - - - -
/etc/shadow f 600 0 0 - - - - -
/etc/passwd f 644 0 0 - - - - -
/etc/network/if-up.d d 755 0 0 - - - - -
diff --git a/system/skeleton/etc/inittab b/system/skeleton/etc/inittab
index 99d84e4cc5..b1892c1cb0 100644
--- a/system/skeleton/etc/inittab
+++ b/system/skeleton/etc/inittab
@@ -30,7 +30,6 @@ null::sysinit:/bin/hostname -F /etc/hostname
::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
-null::shutdown:/etc/init.d/rcK
-null::shutdown:/bin/umount -a -r
-null::shutdown:/sbin/swapoff -a
-
+::shutdown:/etc/init.d/rcK
+::shutdown:/sbin/swapoff -a
+::shutdown:/bin/umount -a -r
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 2dfaeccbcf..ad04d6459e 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -69,7 +69,7 @@ config BR2_GENERATE_LOCALE
string "Generate locale data"
default ""
depends on \
- BR2_TOOLCHAIN_BUILDROOT || \
+ (BR2_TOOLCHAIN_BUILDROOT_UCLIBC && BR2_ENABLE_LOCALE) || \
BR2_TOOLCHAIN_USES_GLIBC
help
Generate support for a list of locales. Locales can be
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index da3718c4a8..51e0af5525 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -625,6 +625,15 @@ define TOOLCHAIN_EXTERNAL_INSTALL_BFIN_FLAT
endef
endif
+# We use --hash-style=both to increase the compatibility of
+# the generated binary with older platforms, except for MIPS,
+# where the only acceptable hash style is 'sysv'
+ifeq ($(findstring mips,$(HOSTARCH)),mips)
+TOOLCHAIN_EXTERNAL_WRAPPER_HASH_STYLE = sysv
+else
+TOOLCHAIN_EXTERNAL_WRAPPER_HASH_STYLE = both
+endif
+
# Build toolchain wrapper for preprocessor, C and C++ compiler and setup
# symlinks for everything else. Skip gdb symlink when we are building our
# own gdb to prevent two gdb's in output/host/usr/bin.
@@ -647,9 +656,8 @@ define TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER
;; \
esac; \
done ;
- # We use --hash-style=both to increase the compatibility of
- # the generated binary with older platforms
- $(HOSTCC) $(HOST_CFLAGS) $(TOOLCHAIN_EXTERNAL_WRAPPER_ARGS) -s -Wl,--hash-style=both \
+ $(HOSTCC) $(HOST_CFLAGS) $(TOOLCHAIN_EXTERNAL_WRAPPER_ARGS) \
+ -s -Wl,--hash-style=$(TOOLCHAIN_EXTERNAL_WRAPPER_HASH_STYLE) \
toolchain/toolchain-external/ext-toolchain-wrapper.c \
-o $(HOST_DIR)/usr/bin/ext-toolchain-wrapper
endef
OpenPOWER on IntegriCloud