Compare commits

..
Author SHA1 Message Date
Peter Korsgaard f30e54eb92 Update for 2014.11-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 13:23:38 +01:00
Gustavo Zacarias 1cd15cb15a dhcp: update dhclient-script
The previous no-op dhclient-script is useless and in fact can lead
users to believe things will work.
dhclient-script is supposed to, among many other things, bring the
interface up for dhclient to pump an address, set the interface
address, set resolv.conf appropiately and set the default gateway.
It's a complex script since it has to deal with a lot of details so
let's just use the best fit which is the OpenWRT one since it uses the
"legacy" tools (ifconfig, route, ...) which can be easily provided by
busybox and/or net-tools.
There are newer and more feature-complete versions around but they
require full iproute2 ip and wouldn't fit as well with the busybox-only
approach.

License: likely GPLv2+
Source:
http://git.openwrt.org/?p=packages.git;a=blob;f=net/isc-dhcp/files/dhclient-script;h=4afebc0ad20ebac51c5baae5ed01c6713e3a0fd0;hb=HEAD

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 12:34:55 +01:00
Gustavo Zacarias 489848b1fa tcpdump: add 3 security patches
Fixes:
CVE-2014-8767 - denial of service in verbose mode using malformed OLSR
payload
OLSR payload
CVE-2014-8768 - denial of service in verbose mode using malformed Geonet
payload
CVE-2014-8769 - unreliable output using malformed AOVD payload

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 12:08:27 +01:00
Gustavo Zacarias 6045904752 bind: not available for static builds
Fixes:
http://autobuild.buildroot.net/results/e27/e27111f484f72c77d2179fa1a29ea7b5271ff9fa/

While at it rename patches to new convention.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 12:07:52 +01:00
Peter Korsgaard 43f8623696 mpg123: needs host-pkgconf
SDL detection is done using pkg-config.

Fixes http://autobuild.buildroot.net/results/437/437f408122d7f21420a7cdc9758caf0ab1ba877d/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 10:43:43 +01:00
Baruch Siach ba3821bcf7 btrfs-progs: fix static build
libuuid needs -lintl when BR2_NEEDS_GETTEXT_IF_LOCALE is set.

Fixes:
http://autobuild.buildroot.net/results/9f1/9f182cd5955d724750135bcd6cb7e315fb28334f/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 08:59:44 +01:00
Vicente Olivert Riera f3f96b1791 qt: Webkit Module needs a toolchain with NPTL
Qt Webkit Module uses pthread_getattr_np() which is implemented in
toolchains with NPTL. Otherwise the compilation will fail showing this
error message:

wtf/StackBounds.cpp: In member function ‘void
WTF::StackBounds::initialize()’:
wtf/StackBounds.cpp:172:38: error: ‘pthread_getattr_np’ was not declared
in this scope

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 08:26:14 +01:00
Vicente Olivert Riera 89207cc06d qt: Script Module needs a toolchain with NPTL
Qt Script Module uses pthread_getattr_np() which is implemented in
toolchains with NPTL. Otherwise the compilation will fail showing this
error message:

../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp: In
function ‘void* QTJSC::currentThreadStackBase()’:
../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp:692:42:
error: ‘pthread_getattr_np’ was not declared in this scope

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 08:25:58 +01:00
Gustavo Zacarias ab949f9130 pciutils: install to /usr/bin rather than /usr/sbin
Somehow busybox thinks debian standards are the rule and installs lspci
to /usr/bin instead of /usr/sbin where upstream says it belongs.
So install pciutils binaries there as well to really win over busybox
PATH-wise and overwrite the little bugger symlink.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 00:07:01 +01:00
Yann E. MORIN 387bdde5df package/nfs-utils: use pkg-config to find libtirpc
Fixes:
    http://autobuild.buildroot.net/results/17d/17d1d94e6f1617851e374f4fe9804f1e5ea9e99f/
    http://autobuild.buildroot.net/results/c08/c08b7be40c8f208147a4f95ad897e4a1df7e108d/
    and probably some others as well...

[Peter: correct tirpc/tirpcinclude mixmatch in patch description]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 23:45:49 +01:00
Yann E. MORIN 211a321934 package/nfs-utils: rename patches
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 23:26:06 +01:00
Yann E. MORIN 85802bb980 package/libtirpc: add -pthread to the private libraries
Fixes:
    http://autobuild.buildroot.net/results/17d/17d1d94e6f1617851e374f4fe9804f1e5ea9e99f/
    http://autobuild.buildroot.net/results/c08/c08b7be40c8f208147a4f95ad897e4a1df7e108d/
    and maybe a bunch of others...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 23:25:48 +01:00
Yann E. MORIN 5acbbad05c package/libtirpc: rename patches
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 23:25:40 +01:00
Gustavo Zacarias bbd3d847a3 (e)glibc: add security patches for CVE-2014-7817
Fixes:
CVE-2014-7817 - command execution in wordexp() with WRDE_NOCMD specified

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 22:52:51 +01:00
Francois Perrad f824d3e2be botan: fix static build
see http://autobuild.buildroot.net/results/2d1/2d1563e253b669b45c9df449c5b3a750c04a43dc/

this commit reverts the previous commit 84047394ed
which disables static build in Config.in

the option --no-autoload prevents the use of the function dlopen.

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 22:48:09 +01:00
Yann E. MORIN 3e0440407a toolchain/external: fix building the wrapper on MIPS
Some crazy folks use MIPS machines as build machines. ;-)

On MIPS, the only acceptable hash-style is 'sysv', because the MIPS ABI
defines that the GOT ordering to be the same as the symbols ordering,
while GNU hash requires symbols to be sorted by their hash.

Looking at binutils' code, it seems that only MIPS suffers from that
limitation.

Currently, we force the toolchain wrapper to be linked with both hash
styles, which breaks on MIPS.

So, fix that by singling out MIPS, and use sysv in that case, and both
otherwise.

Reported-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-27 22:47:08 +01:00
Baruch Siach 30362526a0 nftables: fix static build
libnftnl needs -ljansson when built with json support.

Fixes:
http://autobuild.buildroot.net/results/68a/68ab2101a0b2b7d5482aafe0d88c87a50491159f/
http://autobuild.buildroot.net/results/87e/87ecbba5b9b16d592a48fe827fa88ef5a5c6d09b/

libnftl also needs -mxml when built with XML support.

Fixes:
http://autobuild.buildroot.net/results/58f/58f592d823db14e4e7558134f1b479f4f8659a23/
http://autobuild.buildroot.net/results/1cf/1cf23f2b38236f43971c65e704793b5bc762ecfe/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 23:25:01 +01:00
Baruch Siach 05aa5b4973 libnspr: fix static build
Disable shared library in a static build.

Fixes:
http://autobuild.buildroot.net/results/6ff/6ffae151ec3eaca175923ab860cf42167871164c/
http://autobuild.buildroot.net/results/cab/cab19721c43b3256dd51ae511016bc9ea440512a/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 23:20:03 +01:00
Nathaniel Roach 94319c61d8 package/network-manager: NM needs isc-dhcpc or dhcpcd
NM only currently supports isc-dhcpc and dhcpcd as clients because NM
communicates with the client through DBus, and support for clients needs to
be written in.  (as per files in src/dhcp-manager)

Buildroot's default, udhcpc is not supported.

Add the dependencies to Config.in, favoring dhcpcd as
default due to size.

[Peter: drop references to dhclient, isc-dhcpc is dhclient]
Signed-off-by: Nathaniel Roach <nroach44@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 16:12:22 +01:00
Max Filippov b20bb0c7b7 binutils: fix xtensa trampolines search code for conditional branches
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'

Fixes:
  http://autobuild.buildroot.net/results/545/545168d9caf3bdb3dd3eb3bae58ba9db8a33384a/

Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 14:48:25 +01:00
Peter Korsgaard 6455547a43 lame: also disable debug handling on arm(eb)
Not all arm (E.G. non-VFP) toolchains define the control word macros, so
disable debug handling for arm(eb) as well.

As the debug handling has limited value (it simply forces CFLAGS which we
don't want and enables exceptions on FP errors) don't try to be clever about
what toolchain variants to disable it for, but just disable it for all arm(eb).

Fixes http://autobuild.buildroot.net/results/672/672a31c0bd329dec566ba74e0e1be43abd0f16c2/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 14:41:58 +01:00
Gustavo Zacarias 42d40e2ea0 libksba: security bump to version 1.3.2
Fixes a buffer overflow in ksba_oid_to_str.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 00:07:54 +01:00
Gustavo Zacarias 87fd1bd5ce system/permissions: /etc/random-seed must be mode 600
Otherwise it's a big security risk.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 22:37:43 +01:00
Yann E. MORIN a3926f3a64 package/clamav: fix static build
clamav unconditionally includes dlfcn.h which is missing on a uClibc
that is configured as a pure-static C library.

Thus, the build fails.

But the including file does not even makes use of any function from the
dlopen() familly, so it does not need to include dlfcn.h to start with.

Add a patch to clamav to not include dlfcn.h where not needed.

Fixes:
    http://autobuild.buildroot.net/results/b49/b491f4e5e1760248adb8d21b404e8aa15f7dbdd1/

[Peter: fix typo in patch description]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 22:35:43 +01:00
Gustavo Zacarias b89ce67523 libpng: security bump to version 1.6.15
Fixes an out-of-bounds memory access in png_user_version_check().

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 22:33:01 +01:00
Peter Korsgaard e4a1a4f4ea rtai: fix typo in config script fixup
Reported-by: Spielmann Werner <Werner.Spielmann@SWAROVSKI.COM>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 16:53:34 +01:00
Peter Korsgaard ccec35e342 gd: use pkg-config to figure out png linker flags
So gdlib-config --libs returns the full dependency chain (-lpng16 -lz -m)
when linking statically.

Fixes http://autobuild.buildroot.net/results/dac/dac3eb950c7c27b2f09f001f9db9936f897721f9/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 15:57:11 +01:00
Peter Korsgaard 46c644310c gd: needs host-pkgconf
configure uses PKG_CHECK_MODULES, so it needs to depend on host-pkgconf.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 15:52:09 +01:00
Peter Korsgaard 74b399e7cd sqlcipher: fix static linking with openssl
Pass the needed libraries in LIBS instead of LDFLAGS so they end up last on
the linker cmdline, fixing static linking.

Fixes:
http://autobuild.buildroot.net/results/59d/59d8d7c7f3e0a205503121c1288187471c0ce80f/
http://autobuild.buildroot.net/results/2ed/2ed2026bc5502807588a9335bd4c78e0a26c1cd3/
http://autobuild.buildroot.net/results/cd3/cd35b24422cf7f8697e81ca7f0dd2f06dfc55997/
http://autobuild.buildroot.net/results/aa2/aa24359a0d7d9bb4e00ba96cb80301f59466ab90/

And many more.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 15:32:04 +01:00
Gustavo Zacarias 71d3b5c108 flac: add security patches
Fixes:
CVE-2014-9028 - Heap buffer write overflow
CVE-2014-8962 - Heap buffer read overflow

Patches are upstream part of the upcoming 1.3.1 release.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 14:56:14 +01:00
Baruch Siach 73d7bc535e gptfdisk: fix static build
libuuid may need -lintl. Augment the existing Makefile patch to support adding
link dependencies at build time.

Fixes:
http://autobuild.buildroot.net/results/24b/24b3f707424e2dcf0158ffe93d728be98ff66701/
http://autobuild.buildroot.net/results/f33/f3359fab166cf3627f15e59fa44cff36ee213102/
http://autobuild.buildroot.net/results/ef7/ef783e3776f25c28ea0de0c082c93f7ab97db56d/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 13:42:06 +01:00
Peter Korsgaard ec3730cbf8 libshairplay: needs avahi with libdnssd compat option at runtime
libshairplay uses dlopen to open libdnssd at runtime (unless dlopen() isn't
available, then static linking is used - But avahi depends on
!BR2_PREFER_STATIC_LIB so that isn't possible), so ensure avahi is available.

Fixes http://autobuild.buildroot.net/results/54d/54de48b23439cef4cbea3b8a65b20e2a8b049f67/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-25 11:34:12 +01:00
Peter Korsgaard 7c00cd1c31 xorg-server: needs mmu
os/utils.c::System() unconditionally uses fork(), so it only builds on
configurations with mmu.

(Indirectly) fixes:
http://autobuild.buildroot.net/results/497/4970352598a68d7af89acbb33cdf69d656e23f4d/
http://autobuild.buildroot.net/results/d27/d279dc35bff53b7f939af02bee70b1ed3014e49b/
http://autobuild.buildroot.net/results/84b/84b8f19221a5c841de3016959c99b92c96c57e81/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-24 22:45:02 +01:00
Baruch Siach e9201d558f czmq: fix static build
libstdc++ may also need -lm.

Fixes:
http://autobuild.buildroot.net/results/aab/aab80285c54641fd7c217cdd45c4593e5c3a66c5/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-24 22:27:07 +01:00
Baruch Siach 3112f4bb18 uemacs: bump to latest LT master
Latest LT (Linus Torvalds) master fixes symbol collision with ncurses.

Drop patches 01 and 02 as they are not needed anymore.

Refresh patch 03 to account for context changes, and rename to new convention.

Fixes:
http://autobuild.buildroot.net/results/6e0/6e0fb4a74f62e23cbc56482ae25f9979fa6f14f8/
http://autobuild.buildroot.net/results/df9/df9b693d7f53daba0d25f52132ca1594dd1273fa/
http://autobuild.buildroot.net/results/b39/b39d3997466951df078a5f47c5a75200b07dca4c/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-24 22:16:39 +01:00
Baruch Siach 5f423a8ad9 xl2tp: fix static build
Use pcap-config to list dependencies of libpcap.

Fixes:
http://autobuild.buildroot.net/results/87f/87ff92831d265d437aa0dfcfb99e954f76597761/
http://autobuild.buildroot.net/results/cd5/cd5487e76259752cbe58b171f9a58970916f7bb8/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-24 22:14:22 +01:00
Thomas Petazzoni cb54da1b03 radvd: add a patch to fix build failure on architectures without sysctl()
Modern architectures such as ARC do not provide the sysctl() system
call, since it is deprecated. However, uClibc still installs
<sys/sysctl.h> in such cases, which defeats radvd check for the
availability of sysctl(). This commit adds a patch to radvd which
improves the sysctl() checking.

Fixes:

  http://autobuild.buildroot.org/results/458/4581c4220adeaebbf6761e3b923088d8de8522d5/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-11-24 22:04:57 +01:00
Thomas Petazzoni 870b94c944 radvd: switch to new patch naming convention, use Git formatted patches
This commit renames the radvd patches to follow the new naming
convention, and reformats them to be Git patches.

Since the patches are renamed, we adjust the comment in the .mk file
explaining why we autoreconf the package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-11-24 22:04:43 +01:00
Thomas Petazzoni fce6527af3 ushare: do not allow building in static lib situations
The ushare configure script is a custom shell script, and it is not
designed to understand that the library order is important when doing
static linking.

Fixes:

  http://autobuild.buildroot.org/results/32e/32ed2a521043f929cc290145c8a651e69042e104/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-11-24 22:04:29 +01:00
Thomas Petazzoni 4f7249b281 mpdecimal: fix build on pure static library configurations
This commit adds a patch to mpdecimal that makes it understand
--enable-shared/--disable-shared and --enable-static/--disable-static,
even if mpdecimal isn't using automake/libtool. It allows to build
only the static variant of the mpdecimal library when needed.

Fixes:

  http://autobuild.buildroot.org/results/276/2764bd8c42ba659682760ffc6afa933b7530d06c/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-11-24 22:04:06 +01:00
Fabio Porcedda 8f538ec07c sstrip: fix source svn repository url
Because the svn repository url was changed the command "make
sstrip-source" gives this error:

svn: E000101: Unable to connect to a repository at URL 'svn://dev.openwrt.org/openwrt/trunk/tools/sstrip'
svn: E000101: Can't connect to host 'dev.openwrt.org': Network is unreachable

To fix this error use the correct url "svn://svn.openwrt.org/openwrt".

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-24 22:02:51 +01:00
Baruch Siach 0f1d4189b5 heirloom-mailx: disable static build
heirloom-mailx implements its own version of getopt() that collides with the C
library when linking statically.

Fixes:
http://autobuild.buildroot.net/results/f67/f67eb63a9a8bb25fb0c071f1aac271e9798d95d1/
http://autobuild.buildroot.net/results/722/722f65c4fcc093d6a6a2200c06b2ecb3ee35bc06/
http://autobuild.buildroot.net/results/1cc/1cce267cc4b0a7d6bf5ff10f5429ae7dfe96960a/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-23 09:44:05 +01:00
Peter Seiderer a79bcdba81 dillo: needs iconv
Fixes:
 http://autobuild.buildroot.net/results/4a7/4a765a66bea1ecf4ec5e4da00b847bc931071132/

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-23 09:42:42 +01:00
Peter Seiderer c3c6fa297a gst1-validate: needs python
If host installed python version is < 2.7.0 gst1-validate compile will fail with

	checking for a Python interpreter with version >= 2.7.0... none
	configure: error: no suitable Python interpreter found

Fixed by adding host-python dependency.

Target tool /usr/bin/gst-validate-launcher is a python2 script

	$ head -1 /usr/bin/gst-validate-launcher
	#!/usr/bin/env python2

(and not easily upgradable to python3) so add python2 dependency and to fix
the following runtime error

	$ gst-validate-launcher
	Traceback (most recent call last):
	  File "/usr/bin/gst-validate-launcher", line 44, in <module>
	    from launcher.main import main
	  File "/usr/lib/gst-validate-launcher/python/launcher/main.py", line 26, in <module>
	    import reporters
	  File "/usr/lib/gst-validate-launcher/python/launcher/reporters.py", line 29, in <module>
	    from xml.sax import saxutils
	ImportError: No module named xml.sax

add additional BR2_PACKAGE_PYTHON_PYEXPAT select.

Fixes:
 http://autobuild.buildroot.net/results/e8c/e8c27db2a0935c2daef173d5650f6a2b3a219493/
 http://autobuild.buildroot.net/results/723/723fe3036e8f0af2a90ff9e98173387466655000/

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-22 20:18:59 +01:00
Maxime Hadjinlian 9d918e11dc manual: Add newline before block code
This won't change the output, it's only a style issue.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-22 20:13:43 +01:00
Maxime Hadjinlian 0514265b73 manual: Add missing vim header
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-22 20:13:31 +01:00
Maxime Hadjinlian 7ffa8e4c60 manual: Remove trailing space
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-22 20:13:16 +01:00
Maxime Hadjinlian 58cb491875 manual: Rework makedevs syntax
State that it should be a space separated list and fix the example.
Also reduce the number of dash used to 4.

[Thomas: replace tab by space, as noted by Yann.]

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-22 20:12:38 +01:00
Bernd Kuhls b4c7db619e package/openssl: drop libdl from more pc files
This is a follow-up patch for
http://git.buildroot.net/buildroot/commit/package/openssl/openssl.mk?id=c130c5d4635e2a4c7338161953152faf8fca07c4

Fixes
http://autobuild.buildroot.net/results/358/35899961b6dc01c1522b17f63946da5ab809bff8/
http://autobuild.buildroot.net/results/c86/c865214e74dd3766b6343ef73c666fa89c0b5dec/
http://autobuild.buildroot.net/results/fc1/fc12e88fb789e2b68d427c37f39789954309b05d/
http://autobuild.buildroot.net/results/f4d/f4deef4e7d2e2cf5fbc9ce5f02289b4dc60cd23b/
http://autobuild.buildroot.net/results/dfd/dfd81f1f1f0f315317b2a85d24b286a277ac7c16/
http://autobuild.buildroot.net/results/918/9188fc9a63d880cac28c5a9a246ca5504dd11bb2/
http://autobuild.buildroot.net/results/dd1/dd1c326345f8f9c8b5838601ace19002f5360bb2/
http://autobuild.buildroot.net/results/27b/27b4544c59166a9f40092403ed3f530190544a82/
http://autobuild.buildroot.net/results/c37/c37022e334d763bad2a59f7311b93504a569b2dd/
http://autobuild.buildroot.net/results/e89/e89265937a6b4808b817be16bcab79bae4a9aed1/
http://autobuild.buildroot.net/results/4a2/4a222a40d627fda6e49714b13b4321d62c9c2e51/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-22 19:54:25 +01:00
Yann E. MORIN 1fee946037 package/erlang: disable for static builds
erlang wants to build shared libs, always.

So, disable erlang when we're building static-only.

Fixes:
    http://autobuild.buildroot.net/results/1ce/1ceaa6925d1ded236d01ae9feb31f5f915f6b51a/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-22 18:30:34 +01:00
Peter Korsgaard e6dcfa5693 libllcp: needs host-pkgconf
configure.ac uses PKG_CHECK_MODULES, so we need host-pkgconf.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-22 14:37:42 +01:00
Peter Korsgaard 96056dfb1a libllcp: ensure graphviz isn't used to generate documentation
We don't need the documentation, so it is a waste of time - And more
importantly, the .dot file isn't compatible with all graphviz versions
breaking the build.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-22 14:26:39 +01:00
Bernd Kuhls d52118ddd6 package/weston: Fix wrong condition to display the comment
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-22 13:52:25 +01:00
Bernd Kuhls 74b87a81fd package/wayland: Fix wrong condition to display the comment
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-22 13:52:22 +01:00
Thomas Petazzoni cce0add500 toolchain: do not allow locale generation when locale support is not available
When the C library being used is uClibc, the locale support can be
disabled. In this case, it does not make sense to show the "Generate
locales" option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:50:59 +01:00
Thomas Petazzoni bd0ffe2206 toolchain: do not allow BR2_GENERATE_LOCALE with musl
Generating locales is possible in two situations:

 - With the internal toolchain backend, when the uClibc library is
   used. With uClibc, locales are generated at build time of the C
   library, so with uClibc it's only possible with the internal
   toolchain backend.

 - With either the internal or external toolchain backend when the
   glibc library is used. With glibc, locales can be generated
   afterwards, using the host-localedef utility.

Until we had the musl C library supported in the internal toolchain
backend, the condition: BR2_TOOLCHAIN_BUILDROOT ||
BR2_TOOLCHAIN_USES_GLIBC was correct to capture the above two
situations. Now that we have musl support in the internal toolchain
backend, then BR2_TOOLCHAIN_BUILDROOT is incorrect, and we should use
BR2_TOOLCHAIN_BUILDROOT_UCLIBC instead.

Basic locale support in musl has appeared in musl 1.1.4, but we are
not yet capable of generating the locale files for musl.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:50:42 +01:00
Thomas Petazzoni 1b49c92c33 uclibc: do not use GENERATE_LOCALE
Since commit 33de740170 ("Makefile:
convert "target-generatelocales" to a hook"), the GENERATE_LOCALE
variable is never defined when using uClibc. This means that setting
any value to the BR2_GENERATE_LOCALE option had no effect for uClibc
toolchains.

In this commit, we make sure the uclibc.mk logic re-creates its own
qstripped version of BR2_GENERATE_LOCALE, in a variable called
UCLIBC_GENERATE_LOCALES.

This fixes locale generation with uClibc in the internal toolchain
backend.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:50:38 +01:00
Thomas Petazzoni 404f4933c9 Makefile: use more sensible names for locale related variables
The GENERATE_LOCALE variable is used for the qstripped version of
BR2_GENERATE_LOCALE. It was used by both the glibc locale generation
code (in the main Makefile), and by the uClibc logic in
package/uclibc/uclibc.mk. However, since commit
33de740170 ("Makefile: convert
"target-generatelocales" to a hook"), this code has been moved around
in the main Makefile, and the definition of GENERATE_LOCALE is now
*after* uclibc.mk is included, and therefore this variable is always
empty when uclibc.mk looks at it for its conditionals. Moreover, it is
now only defined in the main Makefile is BR2_TOOLCHAIN_USES_GLIBC is
'y', which obviously isn't the case for uClibc toolchains.

Since it's anyway not very clear to have this variable shared between
the glibc locale generation logic in the main Makefile and the uClibc
configuration code in uclibc.mk, this commit:

 - Renames the GENERATE_LOCALE variable in the main Makefile to
   GLIBC_GENERATE_LOCALES.

 - Renames the GENERATE_LOCALES hook to GENERATE_GLIBC_LOCALES, since
   it's specific to glibc.

The fix for the uClibc case is part of a followup commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:50:35 +01:00
Gustavo Zacarias 76d7b05b5b linux: bump default version to 3.17.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:45:38 +01:00
Gustavo Zacarias 4c15d617b5 linux-headers: bump 3.{17, 14, 12, 10}.x series
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:45:36 +01:00
Bernd Kuhls 337d40e7ad package/dovecot: Fix symbol conflict in static build with MySQL enabled
Fixes
http://autobuild.buildroot.net/results/9b5/9b536926b3b2bf82c683b48e9697a220f1b4bf33/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-21 21:45:21 +01:00
103 changed files with 1980 additions and 171 deletions
+23
View File
@@ -1,3 +1,26 @@
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.
+6 -6
View File
@@ -28,7 +28,7 @@
all:
# Set and export the version string
export BR2_VERSION := 2014.11-rc2
export BR2_VERSION := 2014.11-rc3
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION = 3.81
@@ -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
+5 -5
View File
@@ -18,14 +18,14 @@ or
<p>
The latest release candidate is <b>2014.11-rc2</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-rc2.tar.gz">buildroot-2014.11-rc2.tar.gz</a>
(<a href="/downloads/buildroot-2014.11-rc2.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-rc2.tar.bz2">buildroot-2014.11-rc2.tar.bz2</a>
(<a href="/downloads/buildroot-2014.11-rc2.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
+1 -1
View File
@@ -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.
@@ -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
--------------------------
+1
View File
@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
// vim: set syntax=asciidoc:
[[outside-br-custom]]
=== Keeping customizations outside of Buildroot
+1
View File
@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
// vim: set syntax=asciidoc:
[[customize-patches]]
=== Adding project-specific patches
+4 -4
View File
@@ -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]]
+13 -11
View File
@@ -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
----
+1
View File
@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
// vim: set syntax=asciidoc:
[[makeuser-syntax]]
== Makeusers syntax documentation
+12
View File
@@ -9,6 +9,18 @@
<ul>
<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
+2 -2
View File
@@ -21,7 +21,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "3.17.3"
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.3" 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
+3 -2
View File
@@ -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
@@ -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
@@ -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
@@ -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
+2 -3
View File
@@ -10,12 +10,11 @@ config BR2_PACKAGE_BOTAN
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
depends on !BR2_PREFER_STATIC_LIB # dlfcn.h
help
Botan is a crypto library for C++
http://botan.randombit.net
comment "botan needs a toolchain w/ C++, threads, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_PREFER_STATIC_LIB
comment "botan needs a toolchain w/ C++, threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
+1 -1
View File
@@ -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)
+4
View File
@@ -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
@@ -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>
+1 -1
View File
@@ -19,7 +19,7 @@ CZMQ_LICENSE_FILES = LICENSE
CZMQ_CONF_ENV = ac_cv_prog_czmq_have_asciidoc=no
ifeq ($(BR2_PREFER_STATIC_LIB),y)
CZMQ_CONF_OPTS += LIBS=-lstdc++
CZMQ_CONF_OPTS += LIBS="-lstdc++ -lm"
endif
define CZMQ_CREATE_CONFIG_DIR
+283 -1
View File
@@ -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
+1
View File
@@ -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.
+2
View File
@@ -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
@@ -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;
+3 -2
View File
@@ -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.
+34
View File
@@ -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
+40
View File
@@ -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
+2 -1
View File
@@ -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
@@ -39,7 +40,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
@@ -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);
@@ -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);
+173
View File
@@ -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);
+173
View File
@@ -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);
@@ -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
+4
View File
@@ -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)
+5
View File
@@ -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
depends on BR2_PACKAGE_QT
select BR2_PACKAGE_QT_STL
@@ -9,3 +10,7 @@ config BR2_PACKAGE_GRANTLEE
Qt implemantation of the Django template framework
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
+6 -1
View File
@@ -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
@@ -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))
+5
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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)
+3 -1
View File
@@ -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))
+6
View File
@@ -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
+3
View File
@@ -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
+1 -1
View File
@@ -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)
+8 -2
View File
@@ -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
+25
View File
@@ -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
+4 -4
View File
@@ -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.60" 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.24" 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.3" 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
@@ -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
+1
View File
@@ -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
+1
View File
@@ -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)
+1
View File
@@ -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
@@ -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
+1 -1
View File
@@ -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
+9 -1
View File
@@ -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))
+2
View File
@@ -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
+4 -2
View File
@@ -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))
+8 -1
View File
@@ -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
@@ -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
@@ -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
@@ -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
-18
View File
@@ -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([
@@ -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)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -2
View File
@@ -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
+1 -1
View File
@@ -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
@@ -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 */
@@ -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);
@@ -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;
+4 -2
View File
@@ -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
@@ -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 |
-33
View File
@@ -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);
-16
View File
@@ -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
+3 -3
View File
@@ -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
+7 -2
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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"
+2 -1
View File
@@ -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
+5 -1
View File
@@ -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

Some files were not shown because too many files have changed in this diff Show More