diff options
185 files changed, 2724 insertions, 607 deletions
@@ -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. @@ -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 |