Compare commits

...

74 Commits

Author SHA1 Message Date
Peter Korsgaard
9a5434fbfc Update for 2014.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-01 10:19:00 +01:00
Peter Korsgaard
d3fa914182 gdb: unbreak host-gdb with python support if python3 is enabled
Fixes http://autobuild.buildroot.net/results/ef4/ef487b495e57f098af0fe9508d430b56b0750339/

Explicitly pass the path to host-python to ensure it gets used.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-01 09:38:10 +01:00
Yann E. MORIN
6ed317672c package/parted: fix static link
libuuid needs to be linked with -lintl when gettext is needed (with
locales).

For a shared build, this is solved with the DT_NEEDED ELF tags, but for
a static link, it is not pulled in automatically.

Use pkg-config to find libuuid, instead of AC_CHECK_LIB().

Second part at fixing:
    http://autobuild.buildroot.net/results/c46/c467aeec258909bb82eda77123803944f97d8df8/

[Peter: add host-pkgconf to _DEPENDENCIES]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-01 00:18:46 +01:00
Yann E. MORIN
a535a0eada package/util-linux: libuuid needs -lintl
When gettext is needed (with locales), libuuid needs to be linked
against -lintl.

In dynamic link, this is solved via the DT_NEEDED ELF tag, but for
static links, it does not get pulled in automatically.

Fix that by adding a Libs.private section to uuid.pc, but only if
it needed.

First part at fixing:
    http://autobuild.buildroot.net/results/c46/c467aeec258909bb82eda77123803944f97d8df8/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-01 00:12:46 +01:00
Yann E. MORIN
ac1ac9e628 package/shairport-sync: fix static builds
Because shairport-sync uses AC_CHECK_LIB to find some of the needed
libraries (opensl, alsa, popt...), it fails to bring in the dependencies
of those libraries; for example, -lssl requires -lz.

When doing a dynamically-linked build, those dependent libraries are
pulled in thanks to the DT_NEEDED ELF tags, but those are not available
in static libraries.

Use PKG_CHECK_MODULES instead of AC_CHECK_LIB, and emulate the results
of AC_CJECK_LIB (i.e. set the HAVE_LIBxxx and the LIBS variable
appropriately) to minimise the amount of code touched.

This should fix:
    http://autobuild.buildroot.net/results/1a5/1a56dbff3583bed0d693508dfc16859086846ecd/
    http://autobuild.buildroot.net/results/6d5/6d5a8157592f7a2c9469bf71b0453796ef982ab1/

At the same time, remove a comment at the end of a variable assignment,
since this has proven to cause some problems.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Jörg Krause <jkrause@posteo.de>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:59:24 +01:00
Yann E. MORIN
514d7cab61 infra: do not append an empty LD_LIBRARY_PATH
When we set LD_LIBRARY_PATH when building our host tools, we append any
pre-existing value to our custom path:
        LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)"

But then if LD_LIBRARY_PATH was previously empty, we end up with an
LD_LIBRARY_PATH that ends with a colon.

Also, when we check that an existing LD_LIBRARY_PATH does not contain
CWD, we previously did not look for a zero-length prefix.

Since 'man ld.so' says of LD_LIBRARY_PATH:
    A colon-separated list of directories in which to search for ELF
    libraries at execution-time. Similar to the PATH environment
    variable.

And POSIX states about PATH:
    A zero-length prefix is a legacy feature that indicates the current
    working directory.

And bash also recognises a zero-length prefix to search in CWD:
    A zero-length (null) directory name in the value of PATH indicates
    the current directory.

We may thus end up on a system where a zero-length prefix in
LD_LIBRARY_PATH is interpreted as CWD.

Do not append the previous LD_LIBRARY_PATH if it was empty, and check
for a zero-length prefix when checking dependencies.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:56:14 +01:00
Angelo Compagnucci
75fa68f564 package/mono: fixing wrong monolite library path
Due to a bug in makefile logic, monolite libraries path will not
be selected when EXTERNAL_MCS parameter is specified.
Setting EXTERNAL_MCS to a non existent binary, makes the internal logic
to fallback to monolite, setting correctly both binary and
library paths.
This has the benefit to force host-mono to always use monolite as
bootstrap compiler also in case a mono compiler is already installed
on the system.

Fixes:
http://autobuild.buildroot.net/results/fc00952bef03cf3b4785be1a0d9c08dc84aa3f54/

[Peter: add comment explaining why this is done]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Reported-by: Rainer Berns <rainer.berns@berns-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:51:28 +01:00
Yann E. MORIN
181a17f1b2 package/libwebsockets: fix static build
Fixes:
http://autobuild.buildroot.net/results/afc/afc56e03a9d410563f43e5d26cf8b12fc4da7e5b/
http://autobuild.buildroot.net/results/922/9221b4967d069c9b634cb1f98ead193593d22dbc/

When the version was bumped, the existing patch to fix static linking
was not proprerly tested, and was missing three new locations to be
fixed.

[Peter: add autobuilder reference]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Sagaert Johan <sagaert.johan@skynet.be>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:48:13 +01:00
Bernd Kuhls
0eb957758b package/gd: fix build when libiconv is enabled
First of two patches to fix
http://autobuild.buildroot.net/results/238/2386edb7f95920e84a35811a33f4333ee0a7a860/

gd links against libiconv if it is already built, depend on libiconv
to get reproducable builds.

readelf output without libiconv present:
$ output/host/opt/ext-toolchain/bfin-linux-uclibc/bin/bfin-linux-uclibc-readelf \
  -a output/staging/usr/lib/libgd.a | grep iconv
    15: 00000000    12 FUNC    GLOBAL HIDDEN     1 _iconv_open
    16: 0000000c    12 FUNC    GLOBAL HIDDEN     1 _iconv
    17: 00000018    12 FUNC    GLOBAL HIDDEN     1 _iconv_close

readelf output with libiconv present:
$ output/host/opt/ext-toolchain/bfin-linux-uclibc/bin/bfin-linux-uclibc-readelf \
  -a output/staging/usr/lib/libgd.a | grep iconv
000000e4  0000100a R_BFIN_PCREL24    00000000   _libiconv_open + 0
00000140  0000140a R_BFIN_PCREL24    00000000   _libiconv + 0
0000019a  0000160a R_BFIN_PCREL24    00000000   _libiconv_close + 0
    16: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv_open
    20: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv
    22: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv_close

[Peter: also add to LIBS so it ends up in gdlib-config --libs output]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:31:01 +01:00
Danomi Manchego
754a3cf860 luajit: point /usr/bin/lua to luajit if lua not selected
The luajit package is a provider of a lua interpreter, but does not install a
lua executable.  This is fine for scripts that explicitly invoke luajit, but
not so good for scripts that just need a lua interpreter and call lua.  This
mod creates a lua symlink so that the non-jit-specific scripts will still work.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:11:29 +01:00
Bernd Kuhls
93d0c5e0aa package/x11r7/xserver_xorg-server: libunwind support is broken on mips64
Fixes
http://autobuild.buildroot.net/results/e8f/e8f68163802f31359cee15fa3ca52547e06d1f27/
http://autobuild.buildroot.net/results/994/9947222da8682a358f81f8ac924c12596fd09ee8/
http://autobuild.buildroot.net/results/df9/df92d9b682976b77d9e1e4c39afca52b7512d847/

[Peter: use official bugtracker URL, fix check]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 21:39:54 +01:00
Angelo Compagnucci
9f6633f17b package/mono: force host-mono to use internal mono bootstrap compiler
This patch forces the use of internal compiler for building mono,
for more information please refer to mono official documentation
(README.md)

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-29 10:03:54 +01:00
Bernd Kuhls
da654a7b65 package/x11r7/xapp_bdftopcf: Fix linking error
Fixes
http://autobuild.buildroot.net/results/242/24297c948c0eee684e868ad4bd12f11c3a759248/
http://autobuild.buildroot.net/results/464/464fdc71690a437c1782dd8e4c75d78195bf8bfd/
http://autobuild.buildroot.net/results/77c/77c26d14c8906b44f7c3fa1b3d759556c7318a7e/
and many others ( http://autobuild.buildroot.net/?reason=xapp_bdftopcf-1.0.4 )

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-28 22:13:31 +01:00
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
118 changed files with 2219 additions and 189 deletions

34
CHANGES
View File

@@ -1,3 +1,37 @@
2014.11, Released December 1st, 2014
Minor fixes.
Infrastructure: LD_LIBRARY_PATH handling tweak to ensure
current working directory isn't searched.
Updated/fixed packages: gd, gdb, libwebsockets, luajit, mono,
parted, shairport-sync, util-linux, xapp_bdftopcf,
xserver_xorg-server
2014.11-rc3, Released November 28th, 2014
Fixes all over the tree.
System: File permissions of /etc/random-seed made more
restrictive.
Toolchain: Various fixes related to locale handling, a fix for
building the toolchain wrapper on MIPS.
Updated/fixed packages: bind, binutils. botan, btrfsprogs,
clamav, czmq, dhcp, dillo, dovecot, erlang, flac, gd, glibc,
gptfdisk, gst1-validate, heirloom-mailx, lame, libksba,
libllcp, libnspr, libpng, libshairplay, libtirpc, linux,
linux-headers, mpdecimal, mpg123, network-manager, nfstables,
nfs-utils, openssl, pcituils, qt, radvd, rtai, sqlcipher,
sstrip, tcpdump, uclibc, uemacs, ushare, wayland, weston,
xl2tp, xserver_xorg-server
Issues resolved (http://bugs.uclibc.org):
#7670: Fails to build mpc-1.0.2 on latest Cygwin
2014.11-rc2, Released November 21st, 2014
Fixes all over the tree.

View File

@@ -28,7 +28,7 @@
all:
# Set and export the version string
export BR2_VERSION := 2014.11-rc2
export BR2_VERSION := 2014.11
# 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

View File

@@ -7,32 +7,32 @@
<p>
The latest stable release is <b>2014.08</b>, which can be downloaded
The latest stable release is <b>2014.11</b>, which can be downloaded
here:<p>
<a href="/downloads/buildroot-2014.08.tar.gz">buildroot-2014.08.tar.gz</a>
(<a href="/downloads/buildroot-2014.08.tar.gz.sign">PGP signature</a>)
<a href="/downloads/buildroot-2014.11.tar.gz">buildroot-2014.11.tar.gz</a>
(<a href="/downloads/buildroot-2014.11.tar.gz.sign">PGP signature</a>)
or
<a href="/downloads/buildroot-2014.08.tar.bz2">buildroot-2014.08.tar.bz2</a>
(<a href="/downloads/buildroot-2014.08.tar.bz2.sign">PGP signature</a>).
<a href="/downloads/buildroot-2014.11.tar.bz2">buildroot-2014.11.tar.bz2</a>
(<a href="/downloads/buildroot-2014.11.tar.bz2.sign">PGP signature</a>).
<p>
The latest release candidate is <b>2014.11-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
<a href="/downloads/">http://buildroot.net/downloads/</a>.
<p>
-->
You can also obtain daily snapshots of the latest Buildroot source tree if you
want to follow development, but cannot or do not wish to use Git.

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.

View File

@@ -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
--------------------------

View File

@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
// vim: set syntax=asciidoc:
[[outside-br-custom]]
=== Keeping customizations outside of Buildroot

View File

@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
// vim: set syntax=asciidoc:
[[customize-patches]]
=== Adding project-specific patches

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]]

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
----

View File

@@ -1,4 +1,5 @@
// -*- mode:doc -*- ;
// vim: set syntax=asciidoc:
[[makeuser-syntax]]
== Makeusers syntax documentation

View File

@@ -9,6 +9,27 @@
<ul>
<li><b>1 December 2014 -- 2014.11 released</b>
<p>The stable 2014.11 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.11">CHANGES</a>
file for more details,
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.11.tar.bz2">2014.11 release</a>.</p>
<li><b>28 November 2014 -- 2014.11-rc3 released</b>
<p>Release candidate 3 is out with more cleanups and build fixes. See the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.11-rc3">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.11-rc3.tar.bz2">2014.11-rc3
release candidate</a>, and report any problems found to the <a
href="lists.html">mailing list</a> or <a
href="https://bugs.uclibc.org">bug tracker</a>.</p>
<li><b>21 November 2014 -- 2014.11-rc2 released</b>
<p>Another week, another release candidate with more cleanups and

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

View File

@@ -307,11 +307,11 @@ HOST_CONFIGURE_OPTS = PATH=$(BR_PATH) \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig" \
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib$(if $(LD_LIBRARY_PATH),:$(LD_LIBRARY_PATH))" \
INTLTOOL_PERL=$(PERL)
HOST_MAKE_ENV = PATH=$(BR_PATH) \
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib$(if $(LD_LIBRARY_PATH),:$(LD_LIBRARY_PATH))" \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"

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

View File

@@ -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

View File

@@ -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

View File

@@ -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

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

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)

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

View File

@@ -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>

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

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

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.

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

View File

@@ -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;

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.

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

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

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
@@ -32,6 +33,13 @@ else
GD_CONF_OPTS += --without-freetype
endif
ifeq ($(BR2_PACKAGE_LIBICONV),y)
GD_DEPENDENCIES += libiconv
# not strictly needed for gd, but ensures -liconv ends up in
# gdlib-config --libs output
GD_CONF_ENV += LIBS="-liconv"
endif
ifeq ($(BR2_PACKAGE_JPEG),y)
GD_DEPENDENCIES += jpeg
GD_CONF_OPTS += --with-jpeg
@@ -39,7 +47,7 @@ endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
GD_DEPENDENCIES += libpng
GD_CONF_OPTS += --with-png=$(STAGING_DIR)/usr
GD_CONF_OPTS += --with-png
else
GD_CONF_OPTS += --without-png
endif

View File

@@ -146,7 +146,7 @@ else
endif
ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON),y)
HOST_GDB_CONF_OPTS += --with-python
HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python2
HOST_GDB_DEPENDENCIES += host-python
else
HOST_GDB_CONF_OPTS += --without-python

View File

@@ -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);

View File

@@ -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);

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);

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);

View File

@@ -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

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)

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

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

View File

@@ -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))

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

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

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

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)

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))

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

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

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)

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

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

View File

@@ -9,6 +9,8 @@ updating libwebsockets.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
[yann.morin.1998@free.fr: further fix after the version bumped]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
CMakeLists.txt | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
@@ -76,6 +78,30 @@ index 7978845..89853ce 100644
target_link_libraries(${lib} ${LIB_LIST})
endforeach()
--
2.1.2
@@ -793,7 +800,7 @@
set(LWS_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
# Export targets (This is used for other CMake projects to easily find the libraries and include files).
-export(TARGETS websockets websockets_shared
+export(TARGETS ${_libs_websockets}
FILE "${PROJECT_BINARY_DIR}/LibwebsocketsTargets.cmake")
export(PACKAGE libwebsockets)
@@ -829,7 +835,7 @@
${PROJECT_BINARY_DIR}/LibwebsocketsConfigVersion.cmake
@ONLY)
-set_target_properties(websockets websockets_shared
+set_target_properties(${_libs_websockets}
PROPERTIES PUBLIC_HEADER "${HDR_PUBLIC}")
#
@@ -837,7 +843,7 @@
#
# Install libs and headers.
-install(TARGETS websockets websockets_shared
+install(TARGETS ${_libs_websockets}
EXPORT LibwebsocketsTargets
LIBRARY DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries
ARCHIVE DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries

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

View File

@@ -64,6 +64,11 @@ define LUAJIT_INSTALL_TARGET_CMDS
$(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" LDCONFIG=true -C $(@D) install
endef
define LUAJIT_INSTALL_SYMLINK
ln -fs luajit $(TARGET_DIR)/usr/bin/lua
endef
LUAJIT_POST_INSTALL_TARGET_HOOKS += LUAJIT_INSTALL_SYMLINK
define HOST_LUAJIT_BUILD_CMDS
$(MAKE) PREFIX="/usr" BUILDMODE=static -C $(@D) amalg
endef

View File

@@ -55,6 +55,9 @@ HOST_MONO_CONF_OPTS += \
--with-profile4=$(if $(BR2_PACKAGE_MONO_40),yes,no) \
--with-profile4_5=$(if $(BR2_PACKAGE_MONO_45),yes,no)
# ensure monolite is used
HOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false
HOST_MONO_DEPENDENCIES = host-monolite host-gettext
define HOST_MONO_SETUP_MONOLITE

View File

@@ -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

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

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)

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

View File

@@ -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

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

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))

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

View File

@@ -0,0 +1,48 @@
configure: use pkg-config to find libuuid
In some conditions, libuuid may be linked with -lintl. This can be the
case on uClibc when locales are enabled.
When doing a shared link, this dependency is automatically pulled in via
a DT_NEEDED ELF tag
For a static link, there is no such mechanism to pull in dependent
libraries.
Currently, the check for libuuid is done with AC_CHECK_LIB, but this
does not handle dependencies, and thus a stattic build fails.
Use pkg-config to find libuuid, that automatically pulls in the
dependencies of libuuid, if any.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Note: of course, that relies on the fact that libuuid installs a proper
.pc file; a patch will be submitted upstream shortly.
But even considering the current situation, where libuuid does not
provide a proper .pc file (yet), this patch does not change the
behaviour we've had so far; it is a bet on the future! ;-)
diff -durN parted-3.1.orig/configure.ac parted-3.1/configure.ac
--- parted-3.1.orig/configure.ac 2014-11-29 16:27:49.520560137 +0100
+++ parted-3.1/configure.ac 2014-11-29 16:32:50.799702049 +0100
@@ -313,16 +313,7 @@
AC_SUBST([DL_LIBS])
dnl Check for libuuid
-UUID_LIBS=""
-AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"],
- [AC_MSG_ERROR(dnl
-[GNU Parted requires libuuid - a part of the util-linux-ng package (but
-usually distributed separately in libuuid-devel, uuid-dev or similar)
-This can probably be found on your distribution's CD or FTP site or at:
- http://userweb.kernel.org/~kzak/util-linux-ng/
-Note: originally, libuuid was part of the e2fsprogs package. Later, it
-moved to util-linux-ng-2.16, and that package is now the preferred source.])])
-AC_SUBST([UUID_LIBS])
+PKG_CHECK_MODULES([UUID],[uuid])
dnl Check for libdevmapper
DM_LIBS=

View File

@@ -7,7 +7,7 @@
PARTED_VERSION = 3.1
PARTED_SOURCE = parted-$(PARTED_VERSION).tar.xz
PARTED_SITE = $(BR2_GNU_MIRROR)/parted
PARTED_DEPENDENCIES = util-linux
PARTED_DEPENDENCIES = host-pkgconf util-linux
PARTED_INSTALL_STAGING = YES
# For uclinux patch
PARTED_AUTORECONF = YES
@@ -33,7 +33,7 @@ ifeq ($(BR2_PREFER_STATIC_LIB),y)
PARTED_CONF_OPTS += --disable-dynamic-loading
endif
HOST_PARTED_DEPENDENCIES = host-util-linux
HOST_PARTED_DEPENDENCIES = host-pkgconf host-util-linux
HOST_PARTED_CONF_OPTS += \
--without-readline \
--disable-device-mapper \

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))

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

View File

@@ -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

View File

@@ -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

View File

@@ -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

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([

View File

@@ -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)

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

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

View File

@@ -0,0 +1,41 @@
configure: fix static link with openssl
Use pkg-config to find openssl libraries, that will return all the
dependent libraries of openssl as well (e.g. -lz) that can not be
deduced in case of a static link.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Patch applied upstream:
https://github.com/mikebrady/shairport-sync/commit/2a430ec434674ed8c1959698c061662bb7abc1a1
diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
--- shairport-sync-2.1.8.orig/configure.ac 2014-10-25 18:03:13.000000000 +0200
+++ shairport-sync-2.1.8/configure.ac 2014-11-29 12:52:41.507981720 +0100
@@ -21,6 +21,8 @@
AC_PROG_CC
AC_PROG_INSTALL
+PKG_PROG_PKG_CONFIG([0.9.0])
+
# Checks for libraries.
if test "x${with_os_type}" = xlinux; then
AC_CHECK_LIB([rt],[clock_gettime], , AC_MSG_ERROR(librt needed))
@@ -52,8 +56,14 @@
AC_MSG_ERROR(choose either "openssl" or "polarssl" encryption)
fi
if test "x${with_ssl}" = xopenssl ; then
- AC_CHECK_LIB([crypto], [MD5_Init], , AC_MSG_ERROR(libcrypto selected, but the library cannot be found!))
- AC_CHECK_LIB([ssl],[SSL_library_init], , AC_MSG_ERROR(openssl selected but the library cannot be found!))
+ PKG_CHECK_MODULES(
+ [CRYPTO], [libcrypto],
+ [LIBS="${CRYPTO_LIBS} ${LIBS}"
+ AC_DEFINE([HAVE_LIBCRYPTO],[1],[Define to 1 if you have libcrypto])])
+ PKG_CHECK_MODULES(
+ [SSL], [libssl],
+ [LIBS="${SSL_LIBS} ${LIBS}"
+ AC_DEFINE([HAVE_LIBSSL],[1],[Define to 1 if you have libssl])])
elif test "x${with_ssl}" = xpolarssl ; then
AC_CHECK_LIB([polarssl],[ssl_init], , AC_MSG_ERROR(PolarSSL selected but the library cannot be found!))
else

View File

@@ -0,0 +1,27 @@
configure: fix static link with alsa
Use pkg-config to find the alsa library, that will return all the
dependent libraries of alsa (e.g. -ldl -lpthread -lrt) as well that
can not be deduced in case of a static link.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Patch applied upstream:
https://github.com/mikebrady/shairport-sync/commit/e5a74a3ff08134a2b11f07bd850659d7816fb03d
diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
--- shairport-sync-2.1.8.orig/configure.ac 2014-11-29 12:56:11.954118681 +0100
+++ shairport-sync-2.1.8/configure.ac 2014-11-29 13:07:24.941687600 +0100
@@ -99,7 +99,10 @@
HAS_ALSA=1
AM_CONDITIONAL([USE_ALSA], [test 0])
AC_DEFINE([CONFIG_ALSA], 1, [Needed by the compiler.])
- AC_CHECK_LIB([asound], [snd_pcm_open], , AC_MSG_ERROR(ALSA support requires the asound library!))], )
+ PKG_CHECK_MODULES(
+ [ALSA], [alsa],
+ [LIBS="${ALSA_LIBS} ${LIBS}"
+ AC_DEFINE([HAVE_LIBASOUND],[1],[Define to 1 if you have ALSA])])])
AM_CONDITIONAL([USE_ALSA], [test "x$HAS_ALSA" = "x1"])
# Look for SNDIO flag

View File

@@ -0,0 +1,25 @@
configure: fix static link with popt
Use pkg-config to find the popt library.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Patch applied upstream:
https://github.com/mikebrady/shairport-sync/commit/1f759e57e8c0682613eaaf89a46fdf6db4c6b5cd
diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
--- shairport-sync-2.1.8.orig/configure.ac 2014-11-29 14:14:36.655955733 +0100
+++ shairport-sync-2.1.8/configure.ac 2014-11-29 14:16:21.072719327 +0100
@@ -31,7 +31,10 @@
AC_CHECK_LIB([daemon],[daemon_log], , AC_MSG_ERROR(libdaemon needed))
AC_CHECK_LIB([pthread],[pthread_create], , AC_MSG_ERROR(pthread library needed))
AC_CHECK_LIB([m],[exp], , AC_MSG_ERROR(maths library needed))
-AC_CHECK_LIB([popt],[poptGetContext], , AC_MSG_ERROR(libpopt needed))
+PKG_CHECK_MODULES(
+ [POPT], [popt],
+ [LIBS="${POPT_LIBS} ${LIBS}"
+ AC_DEFINE([HAVE_LIBPOPT],[1],[Define to 1 if you have popt])])
# Look for piddir flag
AC_ARG_WITH(piddir, [ --with-piddir=<pathname> Specify a pathname to a directory in which to write the PID file.], [

View File

@@ -9,9 +9,12 @@ SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VE
SHAIRPORT_SYNC_LICENSE = MIT, BSD-3c
SHAIRPORT_SYNC_LICENSE_FILES = LICENSES
SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libdaemon popt
SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libdaemon popt host-pkgconf
# Touching configure.ac with the patches
SHAIRPORT_SYNC_AUTORECONF = YES
SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required
SHAIRPORT_SYNC_CONF_OPTS = --with-alsa
# Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns).
# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon

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

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

View File

@@ -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 */

View File

@@ -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);

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