buildroot.git
8 years agochrony: security bump to version 2.2.1
James Knight [Thu, 11 Feb 2016 22:13:06 +0000 (17:13 -0500)]
chrony: security bump to version 2.2.1

Fixes:

CVE-2016-1567: Impersonation between authenticated peers.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agolibcue: needs host-bison and host-flex
Gustavo Zacarias [Wed, 10 Feb 2016 11:19:56 +0000 (08:19 -0300)]
libcue: needs host-bison and host-flex

Fixes:
http://autobuild.buildroot.net/results/975/975663820e3d4e78e52c11ac3c0535d5537a134a/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agolibgcrypt: security bump to version 1.6.5
Gustavo Zacarias [Wed, 10 Feb 2016 11:06:25 +0000 (08:06 -0300)]
libgcrypt: security bump to version 1.6.5

Fixes:
CVE-2015-7511 - Mitigate side-channel attack on ECDH with Weierstrass
curves.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agopackage/kbd: Fix broken Makefile when host-gettext was built before kbd
Bernd Kuhls [Tue, 9 Feb 2016 06:46:17 +0000 (07:46 +0100)]
package/kbd: Fix broken Makefile when host-gettext was built before kbd

This patch uses the same solution used for util-linux:
https://git.busybox.net/buildroot/commit/package/util-linux?id=71f279f9a2bd3f086f3d31fa5a669d3f638bee99

To trigger the bug just build host-gettext before kbd.

Fixes
http://autobuild.buildroot.net/results/87e/87ea83ae4e7b7640651acd5031a624ca42e5b348/
http://autobuild.buildroot.net/results/532/532684b98e050cf5b4c50786bc9e8825eab21f97/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoUpdate for 2016.02-rc1
Peter Korsgaard [Wed, 10 Feb 2016 07:05:42 +0000 (08:05 +0100)]
Update for 2016.02-rc1

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agolinux: add conditional patch for timeconst.pl
Gustavo Zacarias [Sun, 7 Feb 2016 13:41:48 +0000 (10:41 -0300)]
linux: add conditional patch for timeconst.pl

Kernels older than 3.9 (not counting stable releases) used the
timeconst.pl perl script for their build process.
The problem with this script is that it used deprecated perl features,
namely defined(@array) which was removed for the perl 5.22 release,
causing build failure of older kernels on newer distributions.

To fix this instead of going the hard way (moving to the new
timeconst.bc script) use the easy way by patching timeconst.pl with an
upstream patch used for stable releases.

First try a dry-run on the patch to see if it applies, if it does then
call a proper APPLY_PATCHES to it.

Tested against an arbitrary 2.6.30 kernel (applies and builds), against
4.4.1 for a missing timeconst.pl (does not apply since it's missing) and
3.8.13 (does not apply since it's fixed already).

Known broken distributions: fedora 23, debian testing (stretch) and unstable
(sid).

Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agopackage/x11r7/xapp_xf86dga: remove dependencies on Xt/Xaw/Xmu
Arnout Vandecappelle [Tue, 9 Feb 2016 22:04:11 +0000 (23:04 +0100)]
package/x11r7/xapp_xf86dga: remove dependencies on Xt/Xaw/Xmu

Fixes:
http://autobuild.buildroot.net/results/aee/aee4a895c74647292715705bfcdf742f3ea2f76f/

Since the bump to 1.0.3, xapp_xf86dga no longer uses libXt, libXaw and
libXmu. So these dependencies should be removed from the .mk file.

They were already removed from Config.in, leading to messages like:
Makefile:475: *** xlib_libXaw is in the dependency chain of xapp_xf86dga
that has added it to its _DEPENDENCIES variable without selecting it or
depending on it from Config.in.  Stop.

[Peter: add autobuilder reference as suggested by Ricardo]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agoskeleton: Rename /etc/profile.d/umask to umask.sh
Nicolas Cavallari [Mon, 8 Feb 2016 15:42:45 +0000 (16:42 +0100)]
skeleton: Rename /etc/profile.d/umask to umask.sh

/etc/profile only sources files that matches the /etc/profile.d/*.sh
pattern, so /etc/profile.d/umask was never sourced.

Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agoCHANGES: update with recent changes
Peter Korsgaard [Tue, 9 Feb 2016 17:00:18 +0000 (18:00 +0100)]
CHANGES: update with recent changes

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
8 years agodocs/manual: update graph-depends documentation about --stop-on
Thomas Petazzoni [Wed, 27 Jan 2016 20:32:15 +0000 (21:32 +0100)]
docs/manual: update graph-depends documentation about --stop-on

This commit updates the graph-depends documentation to take into
account the new 'host' keyword that can be passed to the --stop-on and
--exclude options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agograph-depends: add support for excluding host packages
Thomas Petazzoni [Wed, 27 Jan 2016 20:32:14 +0000 (21:32 +0100)]
graph-depends: add support for excluding host packages

Just like the --stop-on and --exclude options allow to stop on or
exclude virtual packages from the list by passing the "virtual" magic
value, this commit extends the graph-depends logic to support a "host"
magic value for --stop-on and --exclude. This will allow to draw the
graph by stopping on host packages, or by excluding host packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas: minor code beautification suggested by Yann E. Morin.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agograph-depends: fix handling of "virtual" in exclude_list
Thomas Petazzoni [Wed, 27 Jan 2016 20:32:13 +0000 (21:32 +0100)]
graph-depends: fix handling of "virtual" in exclude_list

The condition to determine if a virtual package should be excluded
from the list due to "virtual" being passed in --exclude is under a
loop iterating over each entry of the exclude_list, but it doesn't use
the iterator of this list.

Indeed, the condition contains:

"virtual" in exclude_list

which checks automatically if "virtual" was passed in the list. Due to
this, there is no need for this check to be within the "for p in
exclude_list" iteration. This commit fixes that by moving the check
outside of the loop.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopolarssl: security bump to version 1.2.19
Gustavo Zacarias [Mon, 8 Feb 2016 19:27:00 +0000 (16:27 -0300)]
polarssl: security bump to version 1.2.19

Fix bug in certificate validation that caused valid chains to be
rejected when the first intermediate certificate has
pathLenConstraint=0.

Removed potential leak in rsa_rsassa_pkcs1_v15_sign().

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agolibcurl: bump to version 7.47.1
Gustavo Zacarias [Mon, 8 Feb 2016 19:26:42 +0000 (16:26 -0300)]
libcurl: bump to version 7.47.1

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agorpi-userland: fix typos in the libilclient.so library installation
Michael Schenk [Mon, 8 Feb 2016 15:21:24 +0000 (16:21 +0100)]
rpi-userland: fix typos in the libilclient.so library installation

Signed-off-by: Michael Schenk <michael.schenk@albistechnologies.com>
[Thomas: tweak commit title.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agodocs/website: update sponsors page with recent meetings
Thomas Petazzoni [Mon, 8 Feb 2016 15:25:03 +0000 (16:25 +0100)]
docs/website: update sponsors page with recent meetings

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agodocs/manual: misc improvements to Vagrant usage documentation
Angelo Compagnucci [Sun, 7 Feb 2016 12:40:45 +0000 (13:40 +0100)]
docs/manual: misc improvements to Vagrant usage documentation

* Changing back wget to curl cause wget it's not available
  on mac os x.
* Braking up too long windows one liner.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoimagemagick: bump version to 6.9.3-3
Ricardo Martincoski [Mon, 8 Feb 2016 05:36:52 +0000 (03:36 -0200)]
imagemagick: bump version to 6.9.3-3

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Reviewed-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Tested-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoconfigs/qemu: convert versatile to dt
Gustavo Zacarias [Sun, 7 Feb 2016 23:39:08 +0000 (20:39 -0300)]
configs/qemu: convert versatile to dt

As a followup to http://patchwork.ozlabs.org/patch/548550/ fully convert
the versatile defconfig to create the dtb and update the instructions.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoconfigs/qemu: drop arm nuri
Gustavo Zacarias [Sun, 7 Feb 2016 23:39:07 +0000 (20:39 -0300)]
configs/qemu: drop arm nuri

This config has no prospect of going into the future (by using DTS), and
qemu doesn't do a good job at emulating it (networking problems), so
drop it.
All of the ARM SMP testing duties are now in the vexpress defconfig
which is better suited/supported.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoconfigs/qemu: update arm-vexpress instructions for SMP
Gustavo Zacarias [Sun, 7 Feb 2016 23:39:06 +0000 (20:39 -0300)]
configs/qemu: update arm-vexpress instructions for SMP

We can use the vexpress arm defconfig to test SMP features in Qemu.
So document the necessary invocation changes to account for this, in
preparation of the arm nuri defconfig removal.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/nodejs: remove version choice
Martin Bark [Sat, 30 Jan 2016 14:51:00 +0000 (14:51 +0000)]
package/nodejs: remove version choice

Remove the choice of nodejs version.  Now automatically pick nodejs 0.10.x
for armv5 architectures only and the latest nodejs for all other
supported architectures.

Note that the removal of BR2_PACKAGE_NODEJS_5_X is not handled in
Config.in.legacy because buildroot has never been released with this
option included.

Signed-off-by: Martin Bark <martin@barkynet.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/nodejs: bump to version 5.5.0
Martin Bark [Sat, 30 Jan 2016 14:50:59 +0000 (14:50 +0000)]
package/nodejs: bump to version 5.5.0

Patches from 5.3.0 have been copied over with the following exceptions:
 - Removed 0005-Fix-crash-in-GetInterfaceAddresses.patch as this has
   been applied upstream
 - Renamed 0006-Fix-support-for-uClibc-ng.patch to
   0005-Fix-support-for-uClibc-ng.patch

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoyad: bump to version 0.33.1
Ricardo Martincoski [Wed, 3 Feb 2016 01:52:36 +0000 (23:52 -0200)]
yad: bump to version 0.33.1

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoyad: fix libgtk3 dependency
Gustavo Zacarias [Wed, 3 Feb 2016 13:01:55 +0000 (10:01 -0300)]
yad: fix libgtk3 dependency

Make it depend explicitly on BR2_PACKAGE_LIBGTK3_X11 (the X11 backend
option) to avoid the checker from complaining.
Also add a comment about yad requiring the X11 backend otherwise it's
ambiguous if a user has libgtk3 enabled with broadway/wayland and the
comment shows up. Fixes:
http://autobuild.buildroot.net/results/84d/84d97bbcc0ea4f8eaa50dd25bf9ee8fdee4b937f/

Also cleanup some tiny whitespace in the package mk file.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agocore: add a make target to check the dependencies
Yann E. MORIN [Sun, 7 Feb 2016 21:34:29 +0000 (22:34 +0100)]
core: add a make target to check the dependencies

Add a make target that will checks the dependencies of all packages.
This will currently only detect circular dependencies, but more tests
can be added later if need be.

This can then be used in the autobuilders to automatically report
dependency issues.

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>
8 years agosupport/graph-depends: teach it to only check dependencies
Yann E. MORIN [Sun, 7 Feb 2016 21:34:28 +0000 (22:34 +0100)]
support/graph-depends: teach it to only check dependencies

Add an option to graph-depends to only do the dependency checks and not
generate the dot program.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosupport/graph-depends: detect circular dependencies
Yann E. MORIN [Sun, 7 Feb 2016 21:34:27 +0000 (22:34 +0100)]
support/graph-depends: detect circular dependencies

Currently, if there is a circular dependency in the packages, the
graph-depends script just errors out with a Python RuntimeError which is
not caught, resulting in a very-long backtrace which does not provide
any hint as what the real issue is (even if "RuntimeError: maximum
recursion depth exceeded" is a pretty good hint at it).

We fix that by recursing the dependency chain of each package, until we
either end up with a package with no dependency, or with a package
already seen along the current dependency chain.

We need to introduce a new function, check_circular_deps(), because we
can't re-use the existing ones:

  - remove_mandatory_deps() does not iterate,

  - remove_transitive_deps() does iterate, but we do not call it for the
    top-level package if it is not 'all'

  - it does not make sense to use those functions anyway, as they were
    not designed to _check_ but to _act_ on the dependency chain.

Since we've had time-related issues in the past, we do not want to
introduce yet another time-hog, so here are timings with the circular
dependency check:

    $ time python -m cProfile -s cumtime support/scripts/graph-depends
    [...]
             28352654 function calls (20323050 primitive calls) in 87.292 seconds

       Ordered by: cumulative time

       ncalls  tottime  percall  cumtime  percall filename:lineno(function)
            1    0.012    0.012   87.292   87.292 graph-depends:24(<module>)
           21    0.000    0.000   73.685    3.509 subprocess.py:473(_eintr_retry_call)
            7    0.000    0.000   73.655   10.522 subprocess.py:768(communicate)
            7   73.653   10.522   73.653   10.522 {method 'read' of 'file' objects}
          5/1    0.027    0.005   43.488   43.488 graph-depends:164(get_all_depends)
            5    0.003    0.001   43.458    8.692 graph-depends:135(get_depends)
            1    0.001    0.001   25.712   25.712 graph-depends:98(get_version)
            1    0.001    0.001   13.457   13.457 graph-depends:337(remove_extra_deps)
         1717    1.672    0.001   13.050    0.008 graph-depends:290(remove_transitive_deps)
    9784086/2672326    5.079    0.000   11.363    0.000 graph-depends:274(is_dep)
    2883343/1980154    2.650    0.000    6.942    0.000 graph-depends:262(is_dep_uncached)
            1    0.000    0.000    4.529    4.529 graph-depends:121(get_targets)
      2883343    1.123    0.000    1.851    0.000 graph-depends:246(is_dep_cache_insert)
      9784086    1.783    0.000    1.783    0.000 graph-depends:255(is_dep_cache_lookup)
      2881580    0.728    0.000    0.728    0.000 {method 'update' of 'dict' objects}
            1    0.001    0.001    0.405    0.405 graph-depends:311(check_circular_deps)
    12264/1717    0.290    0.000    0.404    0.000 graph-depends:312(recurse)
    [...]
    real    1m27.371s
    user    1m15.075s
    sys     0m12.673s

The cumulative time spent in check_circular_deps is just below 0.5s,
which is largely less than 1% of the total run time.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agocore: catch failures in graph-depends
Yann E. MORIN [Sun, 7 Feb 2016 21:34:26 +0000 (22:34 +0100)]
core: catch failures in graph-depends

Currently, we generate the dependency graph in a single command, piping
the stdout of support/scripts/.graph-depends to the stdin of dot.

Unfortunately, this means we can't catch a failure of graph-depends, as
the shell can only treturn the exit code of the last command in a pipe.

Still, we do want to keep the output of graph-depends, and we in fact do
keep it by mean of a tee.

graph-depends has just gained the ability to generate its output to a
file, so we break the pipe in two differnet commands, so we can bail out
on graph-depends errors.

Do that for the two call sites.

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>
8 years agosupport/graph-depends: add option to specify output file
Yann E. MORIN [Sun, 7 Feb 2016 21:34:25 +0000 (22:34 +0100)]
support/graph-depends: add option to specify output file

Currently, graph-depends outputs the dotfile program to stdout, and uses
stderr to trace the dependencies it is currently looking for.

Redirection was done because the output was directly piped into the dot
program to generate the final PDF/SVG/... dependency graph, but that
meant that an error in the graph-depends script was never caught
(because shell pipes only return the final command exit status, and an
empty dot program is perfectly valid so dot would not complain).

Add an option to tell graph-depends where to store the generated dot
program, and keep stdout as the default if not specified.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Samuel Martin <s.martin49@gmail.com>
[Thomas: rename metavar from DOT_FILE to OUT_FILE for consistency with
the rest of the new option naming.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/avahi: break circular dependencies
Yann E. MORIN [Sun, 7 Feb 2016 21:34:24 +0000 (22:34 +0100)]
package/avahi: break circular dependencies

We currently have two circular dependency chains:

    avahi -> libglade -> libgtk2 -> cups -> avahi
    avahi -> libgtk3 -> cups -> avahi

The cups -> avahi dependency makes sense, as cups would be able to use
Bonjour and mDNS to find printers, so we want to keep that dependency.

The libgtk2 -> cups and libgtk3 -> cups dependencies also make sense, to
be able to offer cups in the print dialogs.

However, the avahi -> libglade and avahi -> libgtk3 dependencies do not
really make sense. As Thomas puts it:

    The avahi GUI programs seem really useless to me. On Debian/Ubuntu
    distributions, they are not even packaged within the main avahi
    packages, but as separate packages, probably indicating that they
    are not very commonly used.

So, we drop the avahi -> libglade and avahi -> libgtk3 dependencies, to
break the circular dependency chain.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: add comment in the .mk file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/libatomic_ops: rename libatomic_ops supported arch Kconfig symbol
Romain Naour [Sun, 7 Feb 2016 21:59:24 +0000 (22:59 +0100)]
package/libatomic_ops: rename libatomic_ops supported arch Kconfig symbol

According to the discussion on the mailing-list [1], rename
the libatomic_ops supported architectures Kconfig symbol.

[1] http://lists.busybox.net/pipermail/buildroot/2016-February/152146.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/musepack: fix musl build
Bernd Kuhls [Sat, 30 Jan 2016 08:31:40 +0000 (09:31 +0100)]
package/musepack: fix musl build

This commit adds two patches needed to fix musl related build issues
in musepack: a missing <sys/select.h> inclusion, and an inclusion of
<fpu_control.h> that should be made conditional on __GLIBC__.

Fixes:

  http://autobuild.buildroot.net/results/6eb/6ebc9cbee3fc48f4f5b658d11b040ad62fb6607f/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: split the patch in two patches, add proper patch
description.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agofio: depends on BR2_TOOLCHAIN_HAS_SYNC_4
Gustavo Zacarias [Sun, 7 Feb 2016 15:25:21 +0000 (12:25 -0300)]
fio: depends on BR2_TOOLCHAIN_HAS_SYNC_4

It uses __sync_fetch_and_add_4() and other 32-bit atomics, fixes:
http://autobuild.buildroot.net/results/692/692fe7999efb63a2bffee02f84b9f636afcfe5f4/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agobluez5_utils: depends on BR2_TOOLCHAIN_HAS_SYNC_4
Gustavo Zacarias [Sun, 7 Feb 2016 16:43:15 +0000 (13:43 -0300)]
bluez5_utils: depends on BR2_TOOLCHAIN_HAS_SYNC_4

It uses __sync_fetch_and_add_4() and other 32-bit atomics, fixes:
http://autobuild.buildroot.net/results/498/4984850d872448c5702eac79b831891f77ad3cf0/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoconfigs/qemu: bump to the latest linux versions
Gustavo Zacarias [Sun, 7 Feb 2016 21:19:13 +0000 (18:19 -0300)]
configs/qemu: bump to the latest linux versions

Keep arm_nuri on 3.10.x for the usual reasons.
Keep mips & mipsel (32 bits) on 4.3.x because 4.4.x fails to boot
properly (kernel stuck after the CPU cache info).

Results table:

Defconfig               Kernel          Qemu    Network Status
--------------------------------------------------------------
aarch64_virt            4.4.1           2.3.0   YES     OK
arm_nuri                3.10.96         2.3.0   YES(1)  OK most times(2)
arm_versatile           4.4.1           2.3.0   YES     OK
arm_vexpress            4.4.1           2.3.0   YES     OK
microblazebe            4.4.1           2.3.0   YES     OK
microblazeel            4.4.1           2.3.0   YES     OK
mips64el_malta          4.4.1           2.3.0   YES     OK
mips64_malta            4.4.1           2.3.0   YES     OK
mipsel_malta            4.3.5           2.3.0   YES     OK (4)
mips_malta              4.3.5           2.3.0   YES     OK (4)
ppc_g3beige             4.4.1           2.3.0   YES     OK
ppc_mpc8544ds           4.4.1           2.3.0   YES     OK
ppc_virtex_ml507        4.4.1           2.3.0   NO      OK
ppc64_pseries           4.4.1           2.3.0   YES     OK
sh4                     4.4.1           2.3.0   YES     OK
sh4eb                   4.4.1           2.3.0   NO(3)   OK
sparc_ss10              4.4.1           2.3.0   YES     OK
sparc64_sun4u           4.4.1           2.3.0   YES     OK
sparc_sun4u             4.4.1           2.3.0   YES     OK
x86                     4.4.1           2.3.0   YES     OK
x86_64                  4.4.1           2.3.0   YES     OK
xtensa_lx60             4.4.1           2.3.0   YES     OK

(1) - Supposed to work but broken, probably Qemu emulation issue
(2) - In like 1/3 starts it fails to work properly
(3) - Probably an endian issue with 8139 emulation/driver
(4) - Kernel stuck at cpu cache details from 4.4 - 4.4.1

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoboard/atmel/xplained/readme.txt: fix u-boot filename
Luca Ceresoli [Wed, 3 Feb 2016 16:14:03 +0000 (17:14 +0100)]
board/atmel/xplained/readme.txt: fix u-boot filename

The file that is actually produced is called u-boot-spl.bin, not
uboot-spl.bin.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/irda-utils: fix musl build
Bernd Kuhls [Sat, 30 Jan 2016 10:13:18 +0000 (11:13 +0100)]
package/irda-utils: fix musl build

Fixes
http://autobuild.buildroot.net/results/9df/9dfa781a6ebbd8af6aad650067c30a4342b83f0d/
http://autobuild.buildroot.net/results/fee/feed5bc6393fb35be755790d53218fc0d228d850/
and others

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/ipsec-tools: fix broken download URL
Bernd Kuhls [Sat, 30 Jan 2016 10:13:17 +0000 (11:13 +0100)]
package/ipsec-tools: fix broken download URL

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/dovecot-pigeonhole: bump version to 0.4.12
Bernd Kuhls [Sat, 6 Feb 2016 21:52:08 +0000 (22:52 +0100)]
package/dovecot-pigeonhole: bump version to 0.4.12

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agompd: fix build on SPARC
Thomas Petazzoni [Sun, 7 Feb 2016 20:54:33 +0000 (21:54 +0100)]
mpd: fix build on SPARC

mpd uses __atomic_*() built-ins, but forgets to link with -latomic
when needed, so this commit adds a patch that ensures it will link
with libatomic, and adds a dependency on BR2_TOOLCHAIN_HAS_ATOMIC.

Fixes:

  http://autobuild.buildroot.net/results/e2207280f3a177e12dba502b1c01f5aeb431d04c/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agompd: use upstream patches
Thomas Petazzoni [Sun, 7 Feb 2016 20:53:07 +0000 (21:53 +0100)]
mpd: use upstream patches

This commit replaces 0002-musl-gcc5-fixes.patch by a backport of 3
upstream commits. It also renames
0001-thread-Name-include-stdio.h-for-prctl-as-well.patch to have the
sequence number 0004, so that it applies after the backported upstream
patches (since this patch is not upstream yet).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/procps-ng: Fix install, procps-ng does not use /usr/bin anymore
Bernd Kuhls [Mon, 1 Feb 2016 22:21:27 +0000 (23:21 +0100)]
package/procps-ng: Fix install, procps-ng does not use /usr/bin anymore

We do not need to move binaries around anymore since this commit:
https://gitlab.com/procps-ng/procps/commit/430b559ba2826f80dffa840622ae0fc744000b13

Removing PROCPS_NG_CONF_OPTS completely leads to binaries being
installed to /usr/bin, we still have to define a custom --exec-prefix
to get binaries in /bin:

libtool: install: /usr/bin/install -c free /home/bernd/buildroot/output/target/bin/free
libtool: install: /usr/bin/install -c pgrep /home/bernd/buildroot/output/target/bin/pgrep
libtool: install: /usr/bin/install -c pkill /home/bernd/buildroot/output/target/bin/pkill
libtool: install: /usr/bin/install -c pmap /home/bernd/buildroot/output/target/bin/pmap
libtool: install: /usr/bin/install -c pwdx /home/bernd/buildroot/output/target/bin/pwdx
libtool: install: /usr/bin/install -c tload /home/bernd/buildroot/output/target/bin/tload
libtool: install: /usr/bin/install -c uptime /home/bernd/buildroot/output/target/bin/uptime
libtool: install: /usr/bin/install -c vmstat /home/bernd/buildroot/output/target/bin/vmstat
libtool: install: /usr/bin/install -c w /home/bernd/buildroot/output/target/bin/w
libtool: install: /usr/bin/install -c pidof /home/bernd/buildroot/output/target/bin/pidof
libtool: install: /usr/bin/install -c kill /home/bernd/buildroot/output/target/bin/kill
libtool: install: /usr/bin/install -c slabtop /home/bernd/buildroot/output/target/bin/slabtop
libtool: install: /usr/bin/install -c watch /home/bernd/buildroot/output/target/bin/watch
libtool: install: /usr/bin/install -c top/top /home/bernd/buildroot/output/target/bin/top

Fixes:

  http://autobuild.buildroot.net/results/ab7/ab7ed83d60823c1b023c7b76fcbe9c20d537ed4c//

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: pass --exec-prefix=/ instead of an empty prefix.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/numactl: fix musl build
Bernd Kuhls [Sat, 30 Jan 2016 09:18:10 +0000 (10:18 +0100)]
package/numactl: fix musl build

Fixes:

  http://autobuild.buildroot.net/results/355/3555cd0abe68b6f0e2b2089af5ce26dbc4c73df6/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: rename patch and improve its description.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/numactl: bump version to 2.0.11, add hash
Bernd Kuhls [Sat, 30 Jan 2016 09:18:09 +0000 (10:18 +0100)]
package/numactl: bump version to 2.0.11, add hash

The tarball contains a working configure script, therefore removed
autoreconf.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/openpowerlink: bump to v2.2.2
Romain Naour [Sun, 7 Feb 2016 16:56:56 +0000 (17:56 +0100)]
package/openpowerlink: bump to v2.2.2

From [1]:
With version 2.0, the source code has been cleanly split into
an application-oriented user library and a time-critical stack
driver. The latter may be moved to a dedicated communication
processor or into a kernel module to deliver enhanced
performance while still keeping the API in user space.

This new version break the API used in the v1.x but
this is a complete rewrite of the Powerlink EPSG DS 301
implementation. The v1.x is deprecated anyway.

The new build system has been split in several CMake projects
which makes it difficult to package with the Buildroot CMake
infra. So add a top level CMakeLists.txt to build each
openpowerlink component without having to package each of them
in a separate Buildroot packages. Also we need to fix the
build system to support the top level CMake build.

[1] http://sourceforge.net/projects/openpowerlink/

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
 - rename patches to not contain the [FIX] part in their title.
 - rewrap Config.in help text
 - rename "openPOWERLINK stack type" to "stack type"
 - rename ""openpowerlink demos" to "demos"]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agokbd: bump to 2.0.3 to fix musl build issue
Thomas Petazzoni [Sun, 7 Feb 2016 17:40:38 +0000 (18:40 +0100)]
kbd: bump to 2.0.3 to fix musl build issue

kbd currently doesn't build against musl, due to some issues which
have already been fixed upstream. This commit therefore bumps to the
latest upstream version 2.0.3 to fix the musl build. In order to do
so, this commit also:

 - backports a patch that makes building tests optional, which allows
   to avoid a dependency on the check package

 - updates the libintl patch to work with the latest upstream

Fixes:

  http://autobuild.buildroot.net/results/535/5357953e763a1ac4f17332abac54ce2946629a41/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosqueezelite: fix musl build
Thomas Petazzoni [Sun, 7 Feb 2016 17:17:50 +0000 (18:17 +0100)]
squeezelite: fix musl build

The build error was not yet found by the autobuilders:

output_alsa.c: In function â€˜output_init_alsa’:
output_alsa.c:865:10: error: â€˜M_TRIM_THRESHOLD’ undeclared (first use in this function)
  mallopt(M_TRIM_THRESHOLD, -1);
          ^
output_alsa.c:865:10: note: each undeclared identifier is reported only once for each function it appears in
output_alsa.c:866:10: error: â€˜M_MMAP_MAX’ undeclared (first use in this function)
  mallopt(M_MMAP_MAX, 0);
          ^

This commit adds a patch fixing this build error by making the
mallopt() usage conditional on __GLIBC__.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: only enclose the mallopt() call in __GLIBC__, use Git to
format the patch, improve the commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosqueezelite: reformat existing patch as a Git formatted patch
Thomas Petazzoni [Sun, 7 Feb 2016 17:17:13 +0000 (18:17 +0100)]
squeezelite: reformat existing patch as a Git formatted patch

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/iucode-tool: bump version to 1.5
Bernd Kuhls [Sat, 30 Jan 2016 10:24:49 +0000 (11:24 +0100)]
package/iucode-tool: bump version to 1.5

Upstream changed to gitlab.com
Added hash
Upstream tarballs contains a working configure script, therefore remove
autoreconf.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/jquery-validation: bump version to 1.14.0, added hash
Bernd Kuhls [Sat, 30 Jan 2016 10:36:10 +0000 (11:36 +0100)]
package/jquery-validation: bump version to 1.14.0, added hash

This patch also fixes the broken download of the previous version.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/qt5/qt5base: fix musl build
Bernd Kuhls [Sun, 31 Jan 2016 10:17:09 +0000 (11:17 +0100)]
package/qt5/qt5base: fix musl build

Fixes
http://autobuild.buildroot.net/results/a15/a1586717154efb6495dfcdb5c7ce11a047dd68db/
http://autobuild.buildroot.net/results/363/3636ddcc0efa974c674f36d3c65eea5beb32af52/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosupport/scripts: add size-stats-compare script
Thomas De Schampheleire [Tue, 2 Feb 2016 13:05:59 +0000 (14:05 +0100)]
support/scripts: add size-stats-compare script

Leverage the CSV files produces by size-stats (make graph-size) to allow
for a comparison of rootfs size between two different buildroot
compilations.

The script takes the file-size CSV files of two compilations as input, and
produces a textual report of the differences per package.
Using the -d/--detail flag, the report will show the file size changes
instead of package size changes.
The -t/--threshold option allows to ignore file size differences smaller
or equal than the given threshold (in bytes).

Example output is:

Size difference per package (bytes), threshold = 0
--------------------------------------------------------------------------------
       -8192         busybox
      228572   added dmalloc
      301584   added jq
--------------------------------------------------------------------------------
      521964         TOTAL

or with detailed view:

Size difference per file (bytes), threshold = 0
--------------------------------------------------------------------------------
       -8192         bin/busybox
       18152   added usr/bin/jq
       39252   added usr/bin/dmalloc
       46968   added usr/lib/libdmalloc.so
       47288   added usr/lib/libdmallocxx.so
       47316   added usr/lib/libdmallocth.so
       47748   added usr/lib/libdmallocthcxx.so
      283432   added usr/lib/libjq.so.1.0.4
--------------------------------------------------------------------------------
      521964         TOTAL

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosocat: security bump to version 2.0.0-b9
Gustavo Zacarias [Tue, 2 Feb 2016 15:59:08 +0000 (12:59 -0300)]
socat: security bump to version 2.0.0-b9

Fixes:
Socat security advisory 7 and MSVR-1499: "Bad DH p parameter in OpenSSL"
Socat security advisory 8: "Stack overflow in arguments parser"

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopython-twisted: enable Python 3 support
Yegor Yefremov [Sun, 7 Feb 2016 14:39:02 +0000 (15:39 +0100)]
python-twisted: enable Python 3 support

setup3.py will be automatically invoked from setup.py,
if executing on Python 3 platform.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/openobex: fix broken download URL, add hash
Bernd Kuhls [Sun, 31 Jan 2016 09:48:58 +0000 (10:48 +0100)]
package/openobex: fix broken download URL, add hash

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/libcue: update upstream URL
Bernd Kuhls [Sat, 30 Jan 2016 14:21:55 +0000 (15:21 +0100)]
package/libcue: update upstream URL

According to http://sourceforge.net/projects/libcue the project moved
to github.com, all source tarballs were removed from Sourceforge.

Adjust project and download URLs, update hash and remove
0001-_unused-fix.patch because there is no trace of "__unused" in the
upstream tarball anymore, the patch fails to apply.

Add autoreconf because the new upstream tarball does not contain a
configure script, autoreconf also needs a tweak because it fails when
config/ is not present.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/pulseaudio: fix musl build
Bernd Kuhls [Fri, 29 Jan 2016 21:05:49 +0000 (22:05 +0100)]
package/pulseaudio: fix musl build

Fixes build errors in previous version which are still present
http://autobuild.buildroot.net/results/879/879260f0efc80c2c9061d89d3e99ad107083f72a/
http://autobuild.buildroot.net/results/1e5/1e5f6a5f349800226d8b07601dab68ffe7794461/
http://autobuild.buildroot.net/results/0f8/0f8d68b11c6807a9d1d4c40a66430ac096902720/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
 - Rework patch 0001-padsp-Make-it-compile-on-musl.patch to put
   Bernd's comment and SoB *after* the original commit log.
 - Rework patch 0002-musl-fixes.patch for the same reason, and also to
   remove the xlocale.h part, which has already been fixed upstream.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/openipmi: fix musl build
Bernd Kuhls [Sun, 31 Jan 2016 09:23:10 +0000 (10:23 +0100)]
package/openipmi: fix musl build

The build error is known upstream
http://sourceforge.net/p/openipmi/patches/26/
and was not yet caught by our autobuilders:

ui.c: In function â€˜get_ip_addr’:
ui.c:340:5: error: unknown type name â€˜u_int32_t’
     u_int32_t     addr;

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/psmisc: fix musl build
Bernd Kuhls [Sun, 31 Jan 2016 12:16:05 +0000 (13:16 +0100)]
package/psmisc: fix musl build

Add upstream commit fixing a build error not yet been found by the
autobuilders:

pstree.c: In function â€˜get_threadname’:
pstree.c:798:15: error: â€˜PATH_MAX’ undeclared (first use in this function)
     char path[PATH_MAX + 1];
               ^
pstree.c:798:15: note: each undeclared identifier is reported only once for each function it appears in
pstree.c:798:10: warning: unused variable â€˜path’ [-Wunused-variable]
     char path[PATH_MAX + 1];
          ^

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/wipe: fix musl build
Bernd Kuhls [Sun, 31 Jan 2016 20:44:14 +0000 (21:44 +0100)]
package/wipe: fix musl build

The build error was not yet found by the autobuilders:

In file included from main.c:46:0:
rand.h:31:9: error: unknown type name â€˜u_int32_t’
 typedef u_int32_t u_rand_t;
         ^
<builtin>: recipe for target 'main.o' failed

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/pulseview: update musl patch
Bernd Kuhls [Sun, 7 Feb 2016 13:10:22 +0000 (14:10 +0100)]
package/pulseview: update musl patch

Upstream requested to update the source of the musl patch:
http://article.gmane.org/gmane.comp.debugging.sigrok.devel/1954

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/libsigrok: update musl patch
Bernd Kuhls [Sun, 7 Feb 2016 11:52:24 +0000 (12:52 +0100)]
package/libsigrok: update musl patch

Upstream chose a different fix:
http://article.gmane.org/gmane.comp.debugging.sigrok.devel/1951

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/iprutils: add patch to fix musl build
Bernd Kuhls [Sun, 7 Feb 2016 13:13:07 +0000 (14:13 +0100)]
package/iprutils: add patch to fix musl build

This commit adds a patch to the iprutils to fix the build with the
musl C library.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: reformatted the patch with Git, added a better commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/iprutils: bump version to 2.4.10
Bernd Kuhls [Sat, 30 Jan 2016 15:25:28 +0000 (16:25 +0100)]
package/iprutils: bump version to 2.4.10

Upstream now provides a new autoconf-based build system, therefore
our patches for Makefile are not needed anymore.

We adapt the gettext patch to make sure that the configure script
doesn't check for libintl.h, and we add an additional patch to fix the
libm check.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: rework patches.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/libndp: fix musl build
Bernd Kuhls [Sat, 30 Jan 2016 15:40:07 +0000 (16:40 +0100)]
package/libndp: fix musl build

Fixes
http://autobuild.buildroot.net/results/d42/d42bebe51bbec38f131840b6bbefdc162f0ad194/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/iperf3: fix musl build
Bernd Kuhls [Sat, 30 Jan 2016 18:27:56 +0000 (19:27 +0100)]
package/iperf3: fix musl build

Ported -D_GNU_SOURCE from https://dev.openwrt.org/changeset/45103

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/lcdproc: fix musl build
Bernd Kuhls [Sat, 30 Jan 2016 15:16:59 +0000 (16:16 +0100)]
package/lcdproc: fix musl build

Fixes
http://autobuild.buildroot.net/results/9ce/9cec3bea99f2aa10313da38c1e81655666c774f7/
http://autobuild.buildroot.net/results/b3d/b3d09286d018e53a6d57f8dd5616010a3b212731/
http://autobuild.buildroot.net/results/aa2/aa27b150a79b14fe1dda74a56371b4ee35b3ac15/
and others

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosamba4: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4
Thomas Petazzoni [Sat, 6 Feb 2016 22:53:05 +0000 (23:53 +0100)]
samba4: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4

samba4 uses the __sync_fetch_and_add_4() atomic built-in, so it should
depend on BR2_TOOLCHAIN_HAS_SYNC_4 in order to avoid build failures on
architectures not providing this atomic built-in.

Fixes:

  http://autobuild.buildroot.org/results/0d0fd9d2a132a40a840bea5df59c35d8573ebf45/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoaespipe: add host variant
Ariel D'Alessandro [Fri, 5 Feb 2016 01:12:52 +0000 (22:12 -0300)]
aespipe: add host variant

Having the host version may allow post-image scripts to encrypt the
resulting image with aespipe (and decrypt it in the update tool on the
target).

Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
[Thomas: rewrap Config.in help text, tweak commit title.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoconfigs: update freescale_imx6qsabreauto_defconfig kernel version
Jan Sarenik [Tue, 2 Feb 2016 10:06:04 +0000 (11:06 +0100)]
configs: update freescale_imx6qsabreauto_defconfig kernel version

Signed-off-by: Jan Sarenik <jan.sarenik@ysoft.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agomicropython: bump to v1.6
Chris Packham [Thu, 4 Feb 2016 03:41:07 +0000 (16:41 +1300)]
micropython: bump to v1.6

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/xvkbd: bump version to 3.7
Bernd Kuhls [Sat, 6 Feb 2016 12:29:09 +0000 (13:29 +0100)]
package/xvkbd: bump version to 3.7

Also switch upstream URL to new host as mentioned on old site.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/oprofile: fix musl build
Bernd Kuhls [Fri, 5 Feb 2016 21:50:26 +0000 (22:50 +0100)]
package/oprofile: fix musl build

The build error has not yet been found by the autobuilders:

operf.cpp: In function â€˜int __delete_old_previous_sample_data(const char*, const stat*, int, FTW*)’:
operf.cpp:862:10: error: â€˜FTW_STOP’ was not declared in this scope
   return FTW_STOP;
          ^
operf.cpp:864:10: error: â€˜FTW_CONTINUE’ was not declared in this scope
   return FTW_CONTINUE;
          ^
operf.cpp: In function â€˜void convert_sample_data()’:
operf.cpp:899:41: error: â€˜FTW_ACTIONRETVAL’ was not declared in this scope
                 int flags = FTW_DEPTH | FTW_ACTIONRETVAL;

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agopackage/knock: bump version to 0.7.8
Bernd Kuhls [Sat, 6 Feb 2016 12:02:27 +0000 (13:02 +0100)]
package/knock: bump version to 0.7.8

Upstream source repo switched to github.com. Since the last release
dating back to 2014 no new tarball was released so we switch to the
latest github commit.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoympd: needs <dlfcn.h>
Thomas Petazzoni [Sat, 6 Feb 2016 12:04:20 +0000 (13:04 +0100)]
ympd: needs <dlfcn.h>

Add a dependency on !BR2_STATIC_LIBS, since <dlfcn.h> is used. While
we're at it, we also fix the comment which was lacking the BR2_USE_MMU
dependency.

Fixes:

  http://autobuild.buildroot.org/results/30853c1011544f8b6a5d3b3852af93bef4c0f5cb/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoboost: fix missing select on BR2_PACKAGE_LIBICONV
Thomas Petazzoni [Sat, 6 Feb 2016 11:30:32 +0000 (12:30 +0100)]
boost: fix missing select on BR2_PACKAGE_LIBICONV

The boost package adds a dependency on the libiconv package when
boost-locale is selected but locale support is not available in the
toolchain. However, it forgets to select BR2_PACKAGE_LIBICONV in this
situation, causing the following build failure:

  http://autobuild.buildroot.org/results/ab1809f4fa8cf29208f9503edd90aca87fe397c2/

This commit fixes this mistake by adding the necessary select
BR2_PACKAGE_LIBICONV.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoneard: add missing BR2_TOOLCHAIN_HAS_SYNC_4 dependency
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:36 +0000 (16:31 +0100)]
neard: add missing BR2_TOOLCHAIN_HAS_SYNC_4 dependency

Fixes:

  http://autobuild.buildroot.org/results/b8bf7be2efd8e8e369abdde0a5bec564e8cd6f23/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agofreerdp: add missing BR2_TOOLCHAIN_HAS_SYNC_4 dependency
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:35 +0000 (16:31 +0100)]
freerdp: add missing BR2_TOOLCHAIN_HAS_SYNC_4 dependency

Fixes:

  http://autobuild.buildroot.org/results/0501e63cbebe4cda4012ace6f7ec5f43342be5c5/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agoopenal: fix atomic handling
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:34 +0000 (16:31 +0100)]
openal: fix atomic handling

openal can uses __atomic_*() intrinsics when available, or fall-back
on __sync_*() built-ins. This commit adjusts the package to take into
account for those dependencies, and makes sure we link against
libatomic when gcc >= 4.8 so that the __atomic_*() intrinsics can be
used on all architectures.

Fixes:

  http://autobuild.buildroot.org/results/314fb8da3ca87984e9240d67ff233e2f999ae89e/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agoglog: fix atomic built-in problem
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:33 +0000 (16:31 +0100)]
glog: fix atomic built-in problem

glog can optionally use atomic __sync built-ins. However, its
configure script only checks for the availability of the 4-byte
variant, but the code also uses the 1-byte variant. While this works
on most architectures, it does not on architectures that implement
only the 4-byte variant, such as Microblaze. So if the architecture
does not implement the 1-byte variant, we hint the configure script
that atomic built-ins should not be used.

Fixes:

  http://autobuild.buildroot.org/results/bedebd594c283adf39374c9a9f44432e5d6cbff7/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agoarch: remove BR2_ARCH_HAS_ATOMICS option
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:32 +0000 (16:31 +0100)]
arch: remove BR2_ARCH_HAS_ATOMICS option

Now that BR2_ARCH_HAS_ATOMICS is no longer used anywhere, we can
remove it from arch/Config.in*, as well as from the documentation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agomsgpack: rework BR2_ARCH_HAS_ATOMICS dependency
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:31 +0000 (16:31 +0100)]
msgpack: rework BR2_ARCH_HAS_ATOMICS dependency

The msgpack source code indeed checks for the 4 bytes __sync built-in,
so this commit switches the package from a BR2_ARCH_HAS_ATOMICS
dependency to a BR2_TOOLCHAIN_HAS_SYNC_4 dependency.

python-msgpack, a reverse dependency of msgpack, is changed in the
same way.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agothrift: remove BR2_ARCH_HAS_ATOMICS dependency
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:30 +0000 (16:31 +0100)]
thrift: remove BR2_ARCH_HAS_ATOMICS dependency

thrift builds perfectly fine on SPARC, which doesn't implement any of
the __sync built-ins, so we can get rid of the BR2_ARCH_HAS_ATOMICS
dependency.

The dependency on atomic operations originated in commit
1aaa14d84f1c920423ed0286b78f64a2b4b2b575 ("thrift: disable for ARC"),
but there was no reference to any autobuilder failure. Our testing
with an ARC toolchain that doesn't have atomics shows that thrift
builds just fine, and code inspection also shows no usage of
__sync_*() built-ins. At the time of the commit, the thrift version
was 0.9.1, which also did not contain any __sync_*() call.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: build-tested on an ARC toolchain without
 atomics, with CPU 770D]
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agosquid: rework atomic handling
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:29 +0000 (16:31 +0100)]
squid: rework atomic handling

squid can use the __sync built-ins when available, but uses an
AC_TRY_RUN autoconf tests to check their availability, which isn't
compatible with cross-compilation. Due to this, squid.mk is already
hinting the configure script about this by passing
squid_cv_gnu_atomics=yes/no depending on the availability of atomic
operations.

So far, squid.mk was assuming that BR2_ARCH_HAS_ATOMICS &&
BR2_ARCH_IS_64 was needed, since 8 bytes __sync built-ins are
used. However, this was a bit too restrictive, since certain 32 bits
architectures (ARM, x86) do provide 8 bytes __sync built-ins.

So, instead of using BR2_ARCH_HAS_ATOMICS, we now rely on
BR2_TOOLCHAIN_HAS_SYNC_4 and BR2_TOOLCHAIN_HAS_SYNC_8, since both 4
bytes and 8 bytes __sync built-ins are tested by the autoconf test.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agocairo, harfbuzz: rework atomic dependencies
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:28 +0000 (16:31 +0100)]
cairo, harfbuzz: rework atomic dependencies

This commit handles the reverse dependency tree of cairo in terms of
atomic dependencies. There are two main changes:

 - cairo in fact no longer needs atomic operations. It can perfectly
   build without any __sync built-in, as was tested using an ARC
   toolchain without atomics, and a SPARC toolchain. Optionally, Cairo
   can use the __atomic builtins provided by gcc >= 4.7, so support
   for this is added as well. Thanks to this change, the
   BR2_ARCH_HAS_ATOMICS dependency is removed from cairo and all its
   reverse dependencies.

 - harfbuzz does require the __sync built-in for 4 bytes integers, so
   we add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 to harfbuzz and all
   its reverse dependency, the main one being the pango package. Due
   to this, the vast majority of gtk-related packages are moved to a
   dependency on BR2_ARCH_HAS_ATOMICS (which used to be due to cairo)
   to a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (due to pango ->
   harfbuzz).

In detail:

 - cairo

   Remove BR2_ARCH_HAS_ATOMICS dependency, link against -latomic when
   gcc >= 4.8 in order to use the __atomic functions.

 - harfbuzz

   Add dependency on BR2_TOOLCHAIN_HAS_SYNC_4

 - cairomm, gst-plugins-good, gst1-plugins-good, libgdiplus,
   libsvg-cairo, weston

   Remove BR2_ARCH_HAS_ATOMICS dependency (since cairo no longer needs
   atomics)

 - enlightenment, cwiid, gst-plugins-bad, gst-plugins-base,
   gst1-plugins-bad, gst1-plugins-base, gtkmm3,
   libevas-generic-loaders, libfm, libgail, libgtk2, libgtk3, librsvg,
   openbox, opencv, opencv3, pango, pangomm, pcmanfm, pinentry,
   rrdtool, webkit, webkitgtk24, xscreensaver

   Switch from a BR2_ARCH_HAS_ATOMICS dependency to a
   BR2_TOOLCHAIN_HAS_SYNC_4 (they depend on pango, harfbuzz, gtk, or
   some other related package)

 - directfb

   Remove BR2_ARCH_ATOMICS dependency of the BR2_PACKAGE_DIRECTFB_SVG
   (since cairo can build without atomics), but add a
   BR2_TOOLCHAIN_HAS_SYNC_4 dependency on BR2_PACKAGE_DIRECTFB itself
   since it does use __sync built-ins. This replaces the !BR2_sparc
   dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agogauche: disable on SPARC(64), remove atomics dependency
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:27 +0000 (16:31 +0100)]
gauche: disable on SPARC(64), remove atomics dependency

gauche does not build on sparc64, it fails with:

  No rule to make target 'sparc_mach_dep.lo', needed by 'libgc.la'

On Sparc, it first fails with the usual "membar" assembler issue which
comes from gauche's internal version of libatomic_ops. However, even
passing -DAO_NO_SPARC_V9 like we do for libatomic_ops is not
sufficient, as we fall into the same build problem as on sparc64.

Consequently, this commit disables the gauche package on the sparc and
sparc64 architectures.

Since it uses its own libatomic_ops copy, and libatomic_ops does not
have any dependency on atomic built-ins, we also remove the
BR2_ARCH_HAS_ATOMICS dependency. It was originally added to prevent
gauche from being built on sparc, but this will no longer happen.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agolibtorrent: use the proper BR2_TOOLCHAIN_HAS_SYNC_x symbols
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:26 +0000 (16:31 +0100)]
libtorrent: use the proper BR2_TOOLCHAIN_HAS_SYNC_x symbols

libtorrent uses 1 bytes and 4 bytes __sync built-ins, so let's use the
appropriate BR2_TOOLCHAIN_HAS_SYNC_x symbols instead of
BR2_ARCH_HAS_ATOMICS. The rtorrent package, which is a reverse
dependency of libtorrent, gets fixed as well.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: build-tested on an ARC toolchain without
 atomics, with CPU 770D]
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agojack2: use the proper BR2_TOOLCHAIN_HAS_SYNC_x symbol
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:25 +0000 (16:31 +0100)]
jack2: use the proper BR2_TOOLCHAIN_HAS_SYNC_x symbol

Move away from BR2_ARCH_HAS_ATOMICS and use BR2_TOOLCHAIN_HAS_SYNC_4
instead for the jack2 package and its reverse dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agoapache, apr: fix atomic handling
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:24 +0000 (16:31 +0100)]
apache, apr: fix atomic handling

Since the apache package was introduced,
--enable-nonportable-atomics=yes was passed when
BR2_ARCH_HAS_ATOMICS. However, Apache doesn't take this option: it
only passes it down when building the APR library. But since we're
building APR separately, this statement had no effect.

So this commit removes the useless code from the Apache package, and
instead adds the appropriate logic to the apr package, using the new
BR2_TOOLCHAIN_HAS_SYNC_x symbols rather than BR2_ARCH_HAS_ATOMICS.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
8 years agopulseaudio: remove BR2_ARCH_HAS_ATOMICS dependency
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:23 +0000 (16:31 +0100)]
pulseaudio: remove BR2_ARCH_HAS_ATOMICS dependency

pulseaudio is able to either use the atomic __sync builtins from the
compiler, or to rely on libatomic_ops for atomic operations. However,
since it anyway selects json-c which requires the __sync built-ins, it
means using libatomic_ops is useless: even if you use libatomic_ops
for pulseaudio, you'd still get a link error in pulseaudio due to the
missing __sync built-in for the json-c library.

Also, since pulseaudio now inherits the BR2_TOOLCHAIN_HAS_SYNC_4 from
json-c, which matches the __sync built-in from pulseaudio, this
commit:

 - Drops the BR2_ARCH_HAS_ATOMICS dependency
 - Forces pulseaudio to not detect libatomic_ops
 - Propagates the removal of BR2_ARCH_HAS_ATOMICS dependency to
   pulseaudio's reverse dependencies.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agojson-c: needs __sync_val_compare_and_swap_4
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:22 +0000 (16:31 +0100)]
json-c: needs __sync_val_compare_and_swap_4

While json-c itself builds fine on platforms that don't provide the
__sync atomic built-ins, it does use them. json-c doesn't fail to
build because only a library is built, so such function calls are left
unresolved. But as soon as it gets used in another package linked in a
program, linking will fail due to the missing
__sync_val_compare_and_swap_4() function.

To fix this, we make json-c depend on BR2_TOOLCHAIN_HAS_SYNC_4, and
propagate to the reverse dependencies:

 - json-c
   - fastd
   - pulseaudio
     - efl
     - espeak
     - gst-plugins-good
     - gst1-plugins-good
     - mpd
   - rsyslog
   - ubus

Note that pulseaudio already had a BR2_ARCH_HAS_ATOMICS dependency,
which we are keeping for the moment, and will clean-up in a subsequent
commit.

This commit will also fix packages that could optionally use json-c,
and therefore fixes build failures like:

  http://autobuild.buildroot.org/results/4fe/4feaa9089ee9a183c5086b791bea35c0156945af/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8 years agodocs/manual: document usage of BR2_TOOLCHAIN_HAS_SYNC_x
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:21 +0000 (16:31 +0100)]
docs/manual: document usage of BR2_TOOLCHAIN_HAS_SYNC_x

This commit updates the documentation to detail when and how to use
the BR2_TOOLCHAIN_HAS_SYNC_x dependency. Note that we chose to not add
a comment about this dependency, because it is mainly tied to
architecture capabilities (except in very specific cases, which would
be way too complicated to explain in a Config.in comment).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agotoolchain: add BR2_TOOLCHAIN_HAS_{SYNC_x, ATOMIC} hidden booleans
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:20 +0000 (16:31 +0100)]
toolchain: add BR2_TOOLCHAIN_HAS_{SYNC_x, ATOMIC} hidden booleans

Currently, Buildroot provides one BR2_ARCH_HAS_ATOMICS boolean option
to indicate whether the architecture supports atomic operations or
not. However, the reality of atomic operations support is much more
complicated and requires more than one option to be expressed
properly.

There are in fact two types of atomic built-ins provided by gcc:

 (1) The __sync_*() family of functions, which have been in gcc for a
     long time (probably gcc 4.1). They are available in variants
     operating on 1-byte, 2-byte, 4-byte and 8-byte integers. Some
     architectures implement a number of variants, some do not
     implement any, some implement all of them.

     They are now considered "legacy" by the gcc developers but are
     nonetheless still being used by a significant number of userspace
     libraries and applications.

     https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html

 (2) The __atomic_*() family of functions, which have been introduced
     in gcc 4.7. They have been introduced in order to support C++11
     atomic operations. In gcc 4.8, they are available on all
     architectures, either built-in or in the libatomic library part
     of the gcc runtime (in which case the application needs to be
     linked with -latomic). In gcc 4.7, the __atomic_*() intrinsics
     are only supported on certain architectures, since libatomic did
     not exist at the time.

For (1), a single BR2_ARCH_HAS_ATOMICS is not sufficient, because
depending on the architecture, some variants may or may not be
available. Setting BR2_ARCH_HAS_ATOMICS to false as soon as one of the
variant is missing would cause a large number of packages to become
unavailable, even if they in fact use only more common variants
available on a large number of architectures. For this reason, we've
chosen to introduce four new Config.in options:

 - BR2_TOOLCHAIN_HAS_SYNC_1
 - BR2_TOOLCHAIN_HAS_SYNC_2
 - BR2_TOOLCHAIN_HAS_SYNC_3
 - BR2_TOOLCHAIN_HAS_SYNC_4

Which indicate whether the toolchain support 1-byte, 2-byte, 4-byte
and 8-byte __sync_*() built-ins respectively.

For (2), we introduce a BR2_TOOLCHAIN_HAS_ATOMIC, which indicates if
the __atomic_*() built-ins are available. Note that it is up to the
package to link with -latomic when gcc is >= 4.8. Since __atomic_*()
intrinsics for all sizes are supported starting

We conducted a fairly large analysis about various architectures
supported by Buildroot, as well as with a number of different
toolchains, to check which combinations support which variant. To do,
we linked the following program with various toolchains:

int main(void)
{
uint8_t a;
uint16_t b;
uint32_t c;
uint64_t d;

__sync_fetch_and_add(&a, 3);
__sync_fetch_and_add(&b, 3);
__sync_fetch_and_add(&c, 3);
__sync_fetch_and_add(&d, 3);

__sync_val_compare_and_swap(&a, 1, 2);
__sync_val_compare_and_swap(&b, 1, 2);
__sync_val_compare_and_swap(&c, 1, 2);
__sync_val_compare_and_swap(&d, 1, 2);

__atomic_add_fetch(&a, 3, __ATOMIC_RELAXED);
__atomic_add_fetch(&b, 3, __ATOMIC_RELAXED);
__atomic_add_fetch(&c, 3, __ATOMIC_RELAXED);
__atomic_add_fetch(&d, 3, __ATOMIC_RELAXED);

__atomic_compare_exchange_n(&a, &a, 2, 1,  __ATOMIC_RELAXED,  __ATOMIC_RELAXED);
__atomic_compare_exchange_n(&b, &b, 2, 1,  __ATOMIC_RELAXED,  __ATOMIC_RELAXED);
__atomic_compare_exchange_n(&c, &c, 2, 1,  __ATOMIC_RELAXED,  __ATOMIC_RELAXED);
__atomic_compare_exchange_n(&d, &d, 2, 1,  __ATOMIC_RELAXED,  __ATOMIC_RELAXED);

return 0;
}

And looked at which symbols were unresolved. For the __atomic_*()
ones, we tested with and without -latomic to see which variants are
built-in, which variants require libatomic. This testing effort has
led to the following results:

                __sync       __atomic    gcc
               1  2  4  8    1  2  4  8
ARC            Y  Y  Y  -    Y  Y  Y  L   4.8 [with BR2_ARC_ATOMIC_EXT]
ARC            -  -  -  -    L  L  L  L   4.8 [without BR2_ARC_ATOMIC_EXT]
ARM            Y  Y  Y  X    Y  Y  Y  Y   4.8, 4.7
ARM            Y  Y  Y  -                 4.5
AArch64        Y  Y  Y  Y    Y  Y  Y  Y   4.9, 5.1
Bfin           -  -  Y  -                 4.3
i386 (i386)    -  -  -  -    L  L  L  L   4.9
i386 (i486..)  Y  Y  Y  -    L  L  L  L   4.9 [i486, c3, winchip2, winchip-c6]
i386 (> i586)  Y  Y  Y  Y    L  L  L  L   4.9
Microblaze     -  -  Y  -    L  L  Y  L   4.9
MIPS           Y  Y  Y  -    Y  Y  Y  L   4.9
MIPS64         Y  Y  Y  Y    Y  Y  Y  Y   4.9
NIOS 2         Y  Y  Y  -    Y  Y  Y  L   4.9, 5.2
PowerPC        Y  Y  Y  -    Y  Y  Y  L   4.9
SuperH         Y  Y  Y  -    Y  Y  Y  L   4.9
SPARC          -  -  -  -    L  L  L  L   4.9
SPARC64        Y  Y  Y  Y    Y  Y  Y  Y   4.9
x86_64         Y  Y  Y  Y    Y  Y  Y  Y   4.7, 4.9
Xtensa         Y  Y  Y  -    Y  Y  Y  Y   4.9

Notes:

 * __atomic built-ins appeared in gcc 4.7, so for toolchais older than
   that, the __atomic column is empty.

 * Y means 'supported built-in'

 * L means 'supported via linking to libatomic' (only for __atomic
   functions)

 * X indicates a very special case for 8 bytes __sync built-ins on
   ARM. On ARMv7, there is no problem, starting from gcc 4.7, the
   __sync built-in for 8 bytes integers is implemented, fully in
   userspace. For cores < ARMv7, doing a 8 bytes atomic operation
   requires help from the kernel. Unfortunately, the libgcc code
   implementing this uses the __write() function to display an error,
   and this function is internal to glibc. Therefore, if you're using
   glibc everything is fine, but if you're using uClibc or musl, you
   cannot link an application that uses 8 bytes __sync
   operations. This has been fixed as part of gcc PR68095, merged in
   the gcc 5 branch but not yet part of any gcc release.

 * - means not supported

This commit only introduces the new options. Follow-up commits will
progressively change the packages using BR2_ARCH_HAS_ATOMICS to use
the appropriate BR2_TOOLCHAIN_HAS_SYNC_x or BR2_TOOLCHAIN_HAS_ATOMIC
until the point where BR2_ARCH_HAS_ATOMICS can be removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoicu: libatomic is only available starting from gcc 4.8
Thomas Petazzoni [Tue, 2 Feb 2016 15:31:19 +0000 (16:31 +0100)]
icu: libatomic is only available starting from gcc 4.8

Fixes:

  http://autobuild.buildroot.org/results/51b060bbdecdcaac89f764026693bf711e7145d5/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agodefconfigs: all use the headers from the kernel
Yann E. MORIN [Fri, 5 Feb 2016 23:06:18 +0000 (00:06 +0100)]
defconfigs: all use the headers from the kernel

For most defconfigs, it was trivial to deduce the kernel version, by
just reading the version string, which could be:
  - a standard upstream version string vX.Y.Z
  - a non-standard version string, but still containg the standard X.Y.Z

Those for which it was not so trivial were those hosted on git tree.
Since most were already using a custom linux-headers version, it could
be easily deduced from that. It was confirmed by browsing said git trees
and check the version there.

There are a few cases were there was a mismatch:

  - microzed:     uses a 3.18 kernel, but 3.8 headers; fixed.
  - xilinx_zc706: uses a 3.14 kernel, but 3.8 headers; fixed.
  - zedboard:     uses a 3.18 kernel, but 3.8 headers; fixed.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agolinux: drop the option to use the same version as that of the headers
Yann E. MORIN [Fri, 5 Feb 2016 23:06:17 +0000 (00:06 +0100)]
linux: drop the option to use the same version as that of the headers

It is no longer meaningful, now that we have the option to use the
kernel version for the linux headers, as it is more logical and more
versatile.

Add it to legacy.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agodefconfigs: use the new headers-version-same-as-kernel-version option
Yann E. MORIN [Fri, 5 Feb 2016 23:06:16 +0000 (00:06 +0100)]
defconfigs: use the new headers-version-same-as-kernel-version option

Now that we can say that the linux headers version should match that of
the kernel to be built, we inverse the logic in our defconfigs, as it is
more sensible that way.

And also because we'll get rid of the former, converse kernel-same-as-headers
option.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agobind: fix intermittent build issues with high BR2_JLEVEL
Jan Heylen [Sat, 6 Feb 2016 09:00:07 +0000 (10:00 +0100)]
bind: fix intermittent build issues with high BR2_JLEVEL

Build sometimes breaks with:

libtool: link: `unix/os.lo' is not a valid libtool object
make[3]: *** [rndc-confgen] Error 1
make[3]: *** Waiting for unfinished jobs....
make[4]: Leaving directory `/scratch/peko/build/bind-9.6-ESV-R4/bin/rndc/unix'

So disable parallel builds.

This patch was removed with commit
c36b5d89c5616f7ca0a7295cbb5c231606beb71e by Gustavo Zacarias
<gustavo@zacarias.com.ar> but the problem still occurs, so disabling
parallel builds again.

Fixes:
http://autobuild.buildroot.org/results/220/2201f04170ea8ef0961e907efce07c041a57c229/

Signed-off-by: Jan Heylen <heyleke@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agolibbsd: upgrade to v0.8.2 and expand architecture support
Carlos Santos [Thu, 4 Feb 2016 15:26:03 +0000 (13:26 -0200)]
libbsd: upgrade to v0.8.2 and expand architecture support

When libbsd still supported uClibc as a C library, we added the architecture
exclusions because uClibc's a.out.h includes linux/a.out.h. The latter only
exists for the specified architectures.

However, glibc doesn't include linux/a.out.h, it instead has its own
implementation and it adds a flag to indicate if a.out is supported on this
architecture or not.

Since libbsd currently only supports glibc-based toolchains, the architecture
exclusions are no longer valid.

On microblaze, the build still fails, but this time because of ELF support.
libbsd explicitly handles architectures and microblaze is not one of them (see
local-elf.h).

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>