Commit Graph

21447 Commits

Author SHA1 Message Date
Yann E. MORIN
fd498f6221 package/opkg: disable tests and manpages
Changeset f1d3e09 (Build shared libraries only as the default) broke the
opkg package.

opkg wants to link its testsuite statically with the internal libopkg.
But in a shared-only build, there is no static library.

Since for Buildroot we do not care about tests, just disable them.

Fixes numerous build failures;
    http://autobuild.buildroot.net/results/ddf/ddf4b38c1df73b00b76be71db3f1eb8b1d932c55/
    http://autobuild.buildroot.net/results/c1c/c1c9a21b6583c9ef3ddd32681bb13cf91a218e8c/
    http://autobuild.buildroot.net/results/284/284bf7d6f9cebf8633143ca1ce15154de941805f/
    ...

Disable manpages at the same time.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 22:35:25 +01:00
Peter Korsgaard
b08c503b24 liblo: add hash file
Fixes:
http://autobuild.buildroot.net/results/579/579df46b1fdb46fa5ec0fd28324cf28b7c06b5bb/
http://autobuild.buildroot.net/results/f20/f2023b000b3ef8d459bba04a29f58be88246cb46/
http://autobuild.buildroot.net/results/e2a/e2acf1f0355df709836e92e4382019b6e8f77978/
http://autobuild.buildroot.net/results/5b9/5b9c2a678a0950def2aeaf7e5809386c5923e974/

And many more.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 22:31:57 +01:00
Baruch Siach
843a70d11a ebtables: add hash file
Should clean up download failures like:
http://autobuild.buildroot.net/results/3c6/3c6b15a3d7ba84b7b3c257089569e2f615ec81b2/
http://autobuild.buildroot.net/results/4ee/4ee41e1616184687f56c9e3095885549ac4767d2/
http://autobuild.buildroot.net/results/9c6/9c623e3d9fde75b3dc1724909f6dc9738b12a207/

and more.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 22:14:47 +01:00
Baruch Siach
753a2937f6 pcre: add a patch fixing CVE-2014-8964
Patch taken from the Debian package.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 22:13:09 +01:00
Baruch Siach
6fd86d80e2 pcre: rename patches to new convention
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 22:12:54 +01:00
Yann E. MORIN
8c3f1d5102 package/berkeleydb: fix shared-only build
Changeset f1d3e09 (Build shared libraries only as the default) broke the
berkeleydb package.

For some reason, we had a very strange post-configure action in bdb:
        $(SED) 's/\.lo/.o/g' $(@D)/build_unix/Makefile

This means that it is using non-libtool object files. This breaks
building shared-only.

This code has been present almost the whole time we've had a berkeleydb
package, that is:
  - November 2003: use a sed expression instead of perl
  - March 2003   : use a perl program
  - August 2002  : introduce berkeleydb

Getting rid of this sed expression fixes the build, and allows building
the three new static/shared combinations: static only, shared only,
both static and shared.

Fixes numerous build failures:
    http://autobuild.buildroot.net/results/b41/b41e13ec6c13830667770b3731f8990062f202bd/
    http://autobuild.buildroot.net/results/925/925433ef505b190aa5ac83c23e9359afe4b21829/
    http://autobuild.buildroot.net/results/9af/9afa0dd835af079411a2ea5d94e5e4db7c993111/
    ...

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-13 10:36:02 +01:00
Frank Hunleth
41d987dcc1 erlang: bump to version 17.4
Erlang/OTP 17.4 is a service release on the 17 track with mostly bug
fixes, but it does contain a number of new features and characteristics
improvements as well.

Some highlights of the release are:

  - eldap: Nearly all TCP options are possible to give in the
    eldap:open/2 call.
  - ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a
    pseudo tty.
  - ssl: Handle servers that may send an empty SNI extension to the client.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 10:06:02 +01:00
Yann E. MORIN
4d6e2902f1 package/nettle: fix shared-only build
Changeset f1d3e09 (Build shared libraries only as the default) broke the
nettle package.

nettle really wants to statically link its tools, examples and testsuite
against its own libraries. But for a shared-only build, static libraries
are not even built, so the build breaks when trying to link any of them.

Fix that in two ways:

  - the proper way, by using whatever libraries are available, with a
    preference toward using shared libraries;

  - disabling both examples and testsuite since we do not need them.

Fixes numerous build failures:
    http://autobuild.buildroot.net/results/e93/e93da743c5b84b1bb6274aeee3fe3b52962c560c/
    http://autobuild.buildroot.net/results/51d/51d0138ff39c45603315dcedf1f654c18604e1a8/
    http://autobuild.buildroot.net/results/521/521d979658e402103f1a18fcfeab3f9705f0c000/
    ...

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-13 09:59:33 +01:00
Peter Korsgaard
4e561eda37 upmpdcli: use start() / stop() in init script like elsewhere
Other init scripts in Buildroot use start()/stop() instead of
do_start()/do_stop(), so change it here as well for consistency

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-12 08:44:34 +01:00
Peter Korsgaard
20b4a4e8d1 transmission: use start() / stop() in init script like elsewhere
Other init scripts in Buildroot use start()/stop() instead of
do_start()/do_stop(), so change it here as well for consistency

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-12 08:44:34 +01:00
Peter Korsgaard
c9345dee4f rpi-userland: use start() / stop() in init script like elsewhere
Other init scripts in Buildroot use start()/stop() instead of
do_start()/do_stop(), so change it here as well for consistency.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-12 08:44:26 +01:00
Thomas Petazzoni
f1d3e09895 Build shared libraries only as the default
Now that we have more options in terms of static/shared libraries,
switch from the existing default of building both shared and static
libraries to building shared libraries only (of course only on
platforms that support shared libraries).

Building both shared and static takes time (since the shared objects
must be built with -fPIC, while static objects are generally built
without, as -fPIC has some performance impact) and consumes a little
bit more disk space.

For example, a static+shared build of libglib2 takes 1 minutes and 59
seconds, with a final build directory of 96 MB. A shared-only build of
libglib2 takes only 1 minutes and 31 seconds (almost a 25% reduction
of the build time), and the final build directory weights 89 MB (a
reduction of almost 8%).

So, switching to a shared library only build brings some useful build
time and build size benefits.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-12 00:09:41 +01:00
Thomas Petazzoni
41a1872402 ncurses: better handling for shared/static library
Now that we have clear options for the three cases of shared only,
static only and shared+static, let's use them in ncurses to pass the
appropriate --{with,without}-{shared,normal} options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-12 00:09:32 +01:00
Thomas Petazzoni
158001f57b Turn the static lib option into a choice with more options
This commit turns the single static option into a choice, which offers
various possibilities:

 1. Build and use static libraries only;
 2. Build both shared and static libraries, but use shared libraries;
 3. Build and use shared libraries only.

On most platforms, (2) is currently the default, and kept as the
default in this commit. Of course, on certain platforms (Blackfin,
m68k), only option (1) will be available.

In addition to the introduction of the Config.in options, this commit
also:

 * Removes the 'select BR2_STATIC_LIBS' from 'BR2_BINFMT_FLAT', since
   with the use of a choice, we are guaranteed that BR2_STATIC_LIBS
   will be selected when the binary format is BR2_BINFMT_FLAT, since
   BR2_STATIC_LIBS will be the only possible solution in the choice.

 * Changes package/Makefile.in to use the proper
   --{enable,disable}-{shared,static} options for autotools packages.

[Thomas: remove useless empty newline right after 'choice'. Noticed by
Yann E. Morin.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-12 00:09:02 +01:00
Peter Korsgaard
6e2b80968f triggerhappy: new package
[Thomas:
  - add BR2_USE_MMU dependency, since fork() is used
  - rename do_start() and do_stop() to just start() and stop(), as we
    do in most init scripts in Buildroot.]

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-12 00:07:10 +01:00
Yann E. MORIN
9bb7d10eea pkg-download: check hashes for locally cached files
In some cases, upstream just update their releases in-place, without
renaming them. When that package is updated in Buildroot, a new hash to
match the new upstream release is included in the corresponding .hash
file.

As a consequence, users who previously downloaded that package's tarball
with an older version of Buildroot, will get stuck with an old archive
for that package, and after updating their Buildroot copy, will be greeted
with a failed download, due to the local file not matching the new
hashes.

Also, an upstream would sometime serve us HTML garbage instead of the
actual tarball we requested, like SourceForge does from time for as-yet
unknown reasons.

So, to avoid this situation, check the hashes prior to doing the
download. If the hashes match, consider the locally cached file genuine,
and do not download it. However, if the locally cached file does not
match the known hashes we have for it, it is promptly removed, and a
download is re-attempted.

Note: this does not add any overhead compared to the previous situation,
because we were already checking hashes of locally cached files. It just
changes the order in which we do the checks. For the records, here is the
overhead of hashing a 231MiB file (qt-everywhere-opensource-src-4.8.6.tar.gz)
on a core-i5 @2.5GHz:

            cache-cold  cache-hot
    sha1      1.914s      0.762s
    sha256    2.109s      1.270s

But again, this overhead already existed before this patch.

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>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 23:59:41 +01:00
Yann E. MORIN
9b88c60484 pkg-download: verify the hashes from the download wrapper
Instead of repeating the check in our download rules, delegate the check
of the hashes to the download wrapper.

This needs three different changes:

  - add a new argument to the download wrapper, that is the full path to
    the hash file; if the hash file does not exist, that does not change
    the current behaviour, as the existence of the hash file is checked
    for in the check-hash script;

  - add a third argument to the check-hash script, to be the basename of
    the file to check; this is required because we no longer check the
    final file with the final filename, but an intermediate file with a
    temporary filename;

  - do the actual call to the check-hash script from within the download
    wrapper.

This further paves the way to doing pre-download checks of the hashes
for the locally cached files.

Note: this patch removes the check for hashes for already downloaded
files, since the wrapper script exits early. The behaviour to check
localy cached files will be restored and enhanced in the following
patch.

[Thomas: fix minor typo in comment.]

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>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 23:59:25 +01:00
Yann E. MORIN
2685937e06 pkg-download: check for already downloaded file in the download wrapper
Instead of repeating the same test again and again in all our download
rules, just delegate the check for an already downloaded file to the
download wrapper.

This clears up the path for doing the hash checks on a cached file
before the download.

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>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 23:58:44 +01:00
Yann E. MORIN
78b92e5055 support/download: add option parsing to the download wrapper
Instead of relying on argument ordering, use actual options in the
download wrapper.

Download backends (bzr, cp, hg...) are left as-is, because it does not
make sense to complexify them, since they are almost very trivial shell
scripts, and adding option parsing would be really overkill.

This commit also renames the script to dl-wrapper so it looks better in
the traces, and it is not confused with another wrapper.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 23:58:37 +01:00
Thomas Petazzoni
f8639c79d8 ncurses: speed up host build by disabling static library building
For the host variant of packages, we normally only build the shared
libraries. However, ncurses uses non-standard options to select
between shared/static and therefore the host variant was building both
of them, even though the static libraries were unused.

By passing --without-normal, we disable the build of static
libraries. It saves a bit of disk space, and on my laptop,
host-ncurses takes 26 seconds to build instead of 40 seconds.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-11 22:52:32 +01:00
Thomas Petazzoni
375c77ad4e arch: remove superfluous arch dependencies on BR2_BINFMT_FLAT_*
As noted by Yann E. Morin, those dependencies are unneeded, since FLAT
can anyway only be used on m68k and Blackfin.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 22:51:12 +01:00
Thomas Petazzoni
b85837e5d6 arch: introduce BR2_BINFMT_SUPPORTS_SHARED
In preparation for the refactoring of the static/shared library
support, we add a BR2_BINFMT_SUPPORTS_SHARED hidden option that binary
formats supporting shared libraries should select.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-11 22:50:40 +01:00
Thomas Petazzoni
c1a38829e7 arch: ensure BR2_BINFMT_ELF is really used
Currently, the binary format choice is only shown for the Blackfin and
m68k architectures, since we assume that all other architectures are
using the ELF binary format. However, due to this, the BR2_BINFMT_ELF
symbol is in fact not set to 'y' for those architectures that use the
ELF format.

This will be causing problems for the refactoring of the static/shared
library support, as we will need to know if the binary format supports
shared libraries or not.

Therefore, we simply make the choice visible on all architectures,
even if it means that on many architectures no other choice than ELF
will be available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-11 22:49:14 +01:00
Thomas Petazzoni
c149083f93 arch: FDPIC is not supported on m68k
The current binfmt selection in arch/Config.in allows to select FDPIC
on m68k, which is incorrect. This commit fixes that, and makes sure
FDPIC is the default on Blackfin, while FLAT is the default on m68k.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-11 22:48:57 +01:00
Thomas Petazzoni
665e13c85e Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.

As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.

This also helps preparing the addition of other options to select
shared, shared+static or just static.

Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-11 22:48:13 +01:00
Jörg Krause
2d23d40279 package/ffmpeg: bump to version 2.5
Bump version and update hash file.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Tested-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 22:43:32 +01:00
Vicente Olivert Riera
fa3d2a11e9 kismet: bump version to Kismet-2014-02-R1
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:53:52 +01:00
Vicente Olivert Riera
297c866159 kismet: rename patches to follow the new name convention
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:53:43 +01:00
Vicente Olivert Riera
e428d1e077 libsvgtiny: add a patch to remove -Werror from Makefile
glibc-2.20 includes some changes to the include/features.h file
introduced by this commit:

  https://sourceware.org/git/?p=glibc.git;a=commit;h=ade40b10ff5fa59a318cf55b9d8414b758e8df78

Those changes make libsvgtiny fail because some warnings are thrown and
the build system is using the -Werror option. We disable this to be able
to build it, or otherwise we will see errors like this one:

GPERF: src/colors.gperf
COMPILE: build-Linux-Linux-release-lib-static/src_colors.c
In file included from
/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/string.h:25:0,
		 from src/colors.gperf:16:
/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3:
error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use
_DEFAULT_SOURCE" [-Werror=cpp]

and this one:

In file included from src/colors.gperf:18:0:
/home/ldap/vriera/work/mips-buildroots/mips32/output/build/libsvgtiny-12121/src/svgtiny_internal.h:71:0:
error: "strndup" redefined [-Werror]

Fixes:
  http://autobuild.buildroot.net/results/3dd/3dd700405055750262738f867eb5aa08531f5781/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:51:32 +01:00
Vicente Olivert Riera
0a54105160 libsvgtiny: rename patches to follow the new name convention
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:51:25 +01:00
Vicente Olivert Riera
adeddeab2c systemd: bump version to v218
Trivial changes:
- Bump version to v218
- Update the hash file

Non-trivial changes:
- Remove upstreamed patch

  The patch was added by this upstream commit:
  http://cgit.freedesktop.org/systemd/systemd/commit/?id=e6c019026b8cfd27a997e6e6ed1349f8f289b7e2

- Remove non-existent configure options

  --with-firmware-path option was removed by this upstream commit:
  http://cgit.freedesktop.org/systemd/systemd/commit/?id=be2ea723b1d023b3d385d3b791ee4607cbfb20ca

  --disable-tcpwrap option was removed by this upstream commit:
  http://cgit.freedesktop.org/systemd/systemd/commit/?id=7f8aa67131cfc03ddcbd31c0420754864fc122f0

- Select a required dependency

  libmount dependency was added by this upstream commit:
  http://cgit.freedesktop.org/systemd/systemd/commit/?id=8d3ae2bd4c9bf9fc2e57f7b3776325a1c750ca30

  The error for not satisfying this required dependency looks like this:

  checking for MOUNT... no
  configure: error: *** libmount support required but libraries not
    found

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:50:30 +01:00
Gustavo Zacarias
f9fa4ffc67 file: bump to version 5.21
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:49:57 +01:00
Gustavo Zacarias
733700cff7 gnutls: bump to version 3.2.21
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:49:38 +01:00
Jörg Krause
7da5c80e50 package/fdk-aac: bump to version 0.1.3
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 19:47:23 +01:00
Gustavo Zacarias
5afa3b55e8 ipset: bump to version 6.24
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 09:59:16 +01:00
Jörg Krause
cebe3d25a0 package/libuv: bump to version 1.0.2
libuv has moved to github.com/libuv/libuv

[Thomas: fix Config.in help text, as noticed by Baruch.]

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-11 09:56:47 +01:00
Thomas Petazzoni
4ac8f78d37 Add option for paranoid unsafe path checking
This commit adds a Config.in option to the "Build options" submenu to
enable paranoid checking of unsafe paths. This mechanism is added as
an option so that when we'll enable it in the autobuilders, people
trying to reproduce the build failures will be able to do so by just
downloading the configuration file. If instead we were leaving this
feature as an environment variable, everyone would have to remember to
pass this environment variable to reproduce build issues. And certain
build issues triggered by paranoid unsafe patch checking may not be
visible in the build output, for example when they happen during the
execution of configure scripts.

Since this option is fairly advanced, a new submenu inside "Build
options" is created, for Advanced options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
2621ff3bed binutils: enable poison system directories option
This commit enables the poison system directories option, which is now
available thanks to the binutils patches that have been added.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
3e0900c04c gcc: enable poison system directories option
This commit enables the poison system directories option, which is now
available thanks to the gcc patches that have been added.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
5b7a4ffd50 gcc/4.7: add patch to warn about unsafe header paths
This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that
warns about unsafe include paths (i.e /usr/include,
/usr/local/include, etc.). The patch was adapted to gcc 4.7.4, and
modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment
variable to error out instead of just warn when unsafe paths are
used. Even though erroring out can be chosen by passing
-Werror=poison-system-directories, we are not sure this option in
CFLAGS will always be passed, so having an environment variable
guarantees it will always be passed, and also allows to have an
identical behavior to the external toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
4d5f4de50e gcc/arc-2014.08: add patch to warn about unsafe header paths
This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that
warns about unsafe include paths (i.e /usr/include,
/usr/local/include, etc.). The patch was adapted to gcc arc-2014.08,
and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH
environment variable to error out instead of just warn when unsafe
paths are used. Even though erroring out can be chosen by passing
-Werror=poison-system-directories, we are not sure this option in
CFLAGS will always be passed, so having an environment variable
guarantees it will always be passed, and also allows to have an
identical behavior to the external toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
2097bb4c71 gcc/4.8: add patch to warn about unsafe header paths
This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that
warns about unsafe include paths (i.e /usr/include,
/usr/local/include, etc.). The patch was adapted to gcc 4.8.3, and
modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment
variable to error out instead of just warn when unsafe paths are
used. Even though erroring out can be chosen by passing
-Werror=poison-system-directories, we are not sure this option in
CFLAGS will always be passed, so having an environment variable
guarantees it will always be passed, and also allows to have an
identical behavior to the external toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
fc3fa082e0 gcc/4.9: add patch to warn about unsafe header paths
This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that
warns about unsafe include paths (i.e /usr/include,
/usr/local/include, etc.). The patch was adapted to gcc 4.9.1, and
modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment
variable to error out instead of just warn when unsafe paths are
used. Even though erroring out can be chosen by passing
-Werror=poison-system-directories, we are not sure this option in
CFLAGS will always be passed, so having an environment variable
guarantees it will always be passed, and also allows to have an
identical behavior to the external toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
43609b30e9 binutils/arc-2014.08: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils arc-2014.08, and modified to
support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to
error out instead of just warn when unsafe paths are used. Even though
erroring out can be chosen by passing
--error-poison-system-directories, we are not sure this option in
LDFLAGS will always be passed, so having an environment variable
guarantees it will always be passed, and also allows to have an
identical behavior to the external toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
df8dcbcd81 binutils/2.22: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.22, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
b5997f852e binutils/2.23: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.23, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
48bc113e3f binutils/2.24: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.24, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
5aa205eba4 toolchain-external: instrument wrapper to warn about unsafe paths
The CodeSourcery toolchains have a very interesting feature: they warn
the user when an unsafe header or library path is used, i.e a path
that will lead host headers or libraries to leak into the build.

This commit adds a similar functionality into our external toolchain
wrapper, so that it can be used with all external toolchains, and can
also be tuned as needed. By default, the external toolchain wrapper
now gives warnings such as:

  arm-linux-gcc: WARNING: unsafe header/library path used in cross-compilation: '-I /usr/foo'
  arm-linux-gcc: WARNING: unsafe header/library path used in cross-compilation: '-L /usr/bleh'

but the compilation continues successfully. One can then easily grep
in his build log to search for occurences of this message.

Optionally, if BR_COMPILER_PARANOID_UNSAFE_PATH is defined in the
environment to a non empty value, the external wrapper will instead
error out and abort the compilation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Romain Naour
b39a4bd486 package/openpowerlink: enable dynamic build
Also remove the install hook, all static libraries are
removed from TARGET_DIR/usr/lib by target-finalize target

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-10 23:21:58 +01:00
Romain Naour
6554801512 package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-10 23:21:49 +01:00