buildroot.git
6 years agomesa3d: properly propagate the dependencies of BR2_PACKAGE_LLVM
Thomas Petazzoni [Fri, 6 Apr 2018 09:00:13 +0000 (11:00 +0200)]
mesa3d: properly propagate the dependencies of BR2_PACKAGE_LLVM

We cannot simply select BR2_PACKAGE_LLVM, we need to take into account
all its dependencies. BR2_PACKAGE_LLVM_ARCH_SUPPORTS was already taken
into account, but not the other dependencies.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Valentin Korenblit <valentin.korenblit@smile.fr>
Signed-off-by: Thomas Petazzoni <a class="moz-txt-link-rfc2396E" href="mailto:thomas.petazzoni@bootlin.com">&lt;thomas.petazzoni@bootlin.com&gt;</a></pre>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agollvm: add dependency on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
Thomas Petazzoni [Fri, 6 Apr 2018 09:00:12 +0000 (11:00 +0200)]
llvm: add dependency on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735

LLVM uses std::shared_future, which until gcc 7.x isn't available on
architectures that don't provide lock-free atomics, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735.

Buildroot already has a BR2_TOOLCHAIN_HAS_GCC_BUG_64735 option to
handle such a case, so simply add this new dependency to LLVM. It will
make sure LLVM doesn't get built on ARMv5 platforms using a gcc older
than 7.x.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Valentin Korenblit <valentin.korenblit@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agophp: fix how PCRE JIT is disabled
Thomas Petazzoni [Fri, 6 Apr 2018 08:54:03 +0000 (10:54 +0200)]
php: fix how PCRE JIT is disabled

When the internal PCRE library of PHP is used, it tries to use a JIT
engine, which is only available on some architectures.

However, the mechanism used to disable JIT has changed in recent PHP
versions, and it now has a proper --without-pcre-jit option. Switch
over to that to properly disable JIT on unsupported platforms.

It has been tested to fix the build of PHP on ARC and Microblaze.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoazure-iot-sdk-c: Bump to version 2018-03-16
André Hentschel [Wed, 4 Apr 2018 16:43:58 +0000 (18:43 +0200)]
azure-iot-sdk-c: Bump to version 2018-03-16

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocore/download fix local backend
Yann E. MORIN [Wed, 4 Apr 2018 16:22:39 +0000 (18:22 +0200)]
core/download fix local backend

Since c8ef0c03b0b (download: put most of the infra in dl-wrapper), the
backend for local files is now named after the scheme, which is 'file'
for a local file.

>From the same commit on, the directory part and the basename are now
passed separately, to let the backend reconstruct the full path when it
needs to do so, which is the case for the 'file' backend too.

Finaly, ff559846fdc1 (support/download: Add support to pass options
directly to downloaders) introduced a nasty error, as it made use of
"${@}" when calling its internal function. Revert that mess now...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopython-yieldfrom: fix wrong package name in license
Asaf Kahlon [Fri, 6 Apr 2018 10:20:03 +0000 (13:20 +0300)]
python-yieldfrom: fix wrong package name in license

Fix the _LICENSE and _LICENSE_FILES variables, that were mistakenly
created with PYTHON_JSONMODELS instead of PYTHON_YIELDFROM

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agokeepalived: add patch to disable PIE
Thomas Petazzoni [Wed, 4 Apr 2018 20:42:46 +0000 (22:42 +0200)]
keepalived: add patch to disable PIE

PIE breaks the build on m68k and Microblaze, so let's add a patch that
disables using PIE by default in keepalived. Obviously, when we start
seriously testing the BR2_RELRO_FULL option, we will realize that it
is broken on some architectures, and will probably disable it on m68k
and Microblaze.

Fixes:

  http://autobuild.buildroot.net/results/a536f5947b3b70fdaecad1af5542572c504ad046/
  http://autobuild.buildroot.net/results/0ffbf1e8d181c9463847a5b2be6f9baa18face24/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agokeepalived: bump to 1.4.2
Thomas Petazzoni [Wed, 4 Apr 2018 20:42:45 +0000 (22:42 +0200)]
keepalived: bump to 1.4.2

We can drop 0001-Fix-build-with-Linux-kernel-headers-v4.15.patch as it
has been merged upstream, as of commit
https://github.com/acassen/keepalived/commit/a5457d3a1f579fef5825ffe841f1613b0014ff19.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopython-webpy: use webpy-0.39 tag
Peter Korsgaard [Thu, 5 Apr 2018 06:42:15 +0000 (08:42 +0200)]
python-webpy: use webpy-0.39 tag

No functional change, but upstream has now tagged the release, so use the
tag instead of the sha1.

https://github.com/webpy/webpy/issues/449

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoconfigs/bananapro: bump U-Boot to version 2018.03
Jörg Krause [Thu, 5 Apr 2018 08:22:49 +0000 (10:22 +0200)]
configs/bananapro: bump U-Boot to version 2018.03

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoconfigs/bananapro: bump Linux to version 4.14.32
Jörg Krause [Thu, 5 Apr 2018 08:22:48 +0000 (10:22 +0200)]
configs/bananapro: bump Linux to version 4.14.32

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agodocs/manual: use SPDX short identifier for license
Rahul Bedarkar [Thu, 5 Apr 2018 18:13:24 +0000 (23:43 +0530)]
docs/manual: use SPDX short identifier for license

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogstreamer1-editing-services: use SPDX short identifier for license
Rahul Bedarkar [Thu, 5 Apr 2018 18:23:32 +0000 (23:53 +0530)]
gstreamer1-editing-services: use SPDX short identifier for license

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agokexec: allow selection on aarch64
Anssi Hannula [Thu, 5 Apr 2018 13:43:54 +0000 (16:43 +0300)]
kexec: allow selection on aarch64

kexec works fine on aarch64, so allow selecting it on that architecture.

Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopython-psycopg2: new package
Adam Duskett [Mon, 12 Mar 2018 10:12:31 +0000 (06:12 -0400)]
python-psycopg2: new package

Psycopg is the most popular PostgreSQL database adapter for the Python
programming language. Its main features are the complete implementation of the
Python DB API 2.0 specification and the thread safety (several threads can
share the same connection). It was designed for heavily multi-threaded
applications that create and destroy lots of cursors and make a large number of
concurrent INSERTs or UPDATEs.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopostgresql: propagate BR2_USE_MMU dependency to Config.in comment
Thomas Petazzoni [Thu, 5 Apr 2018 07:34:35 +0000 (09:34 +0200)]
postgresql: propagate BR2_USE_MMU dependency to Config.in comment

The BR2_PACKAGE_POSTGRESQL option depends on BR2_USE_MMU, so the
Config.in comment about the dynamic library dependency should only be
displayed if the BR2_USE_MMU requirement is met.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopkg-download.mk: do not add a trailing slash to <PKG>_SITE
Peter Korsgaard [Wed, 4 Apr 2018 06:30:51 +0000 (08:30 +0200)]
pkg-download.mk: do not add a trailing slash to <PKG>_SITE

Fixes
http://autobuild.buildroot.net/results/734/7342b25f01d60cafc4a5422a5a1c282629f361c5/

$(dir does not strip last path separator and the wget wrapper adds a '/'
between the -u argument and the filename when it reconstructs the URL,
leading us to have two slashes before the filename when accessing the
upstream location.

Most upstream servers ignores this, but not all - Leading to download issues
from pypi.

Notice: As pointed out by Arnout, we cannot simply use $(PKG)_SITE here as
_PATCH and _EXTRA_DOWNLOADS may contain full URLs.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agodownload/git: fix basename for files inside tarballs
Ricardo Martincoski [Thu, 5 Apr 2018 03:16:00 +0000 (00:16 -0300)]
download/git: fix basename for files inside tarballs

Commit "6d938bcb52 download: git: introduce cache feature" introduced a
typo that makes the tarball to contain files without the package
basename:
$ tar -tvf good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz
-rw-r--r-- 0/0               8 2017-10-14 02:10 ./file

Historically, all tarballs are generated with the basename:
$ tar -tvf good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz
-rw-r--r-- 0/0               8 2017-10-14 02:10 good-a238b1dfcd825d47d834af3c5223417c8411d90d/file

The hashes in the tree were calculated with the basename.

In the most common scenario, after the download ends the tarball is
generated, the hash mismatches and the download mechanism falls back to
use the tarball from http://sources.buildroot.net .

The problem can be reproduced by forcing the download of any git package
PKG that has a hash file to check against:
$ make defconfig
$ ./utils/config --set-str BR2_BACKUP_SITE ""
$ BR2_DL_DIR=$(mktemp -d) make PKG-dirclean PKG-source

Fix the typo so the basename is really added to the files, that was
clearly the intention of the code.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoqt5base: add support for sunxi-mali{,-mainline} eglfs backend
Giulio Benetti [Mon, 13 Nov 2017 18:41:55 +0000 (19:41 +0100)]
qt5base: add support for sunxi-mali{,-mainline} eglfs backend

Only one of the two can be selected (they are conflicting virtual
packages) so testing against a single 'y' is enough.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
[Arnout: add sunxi-mali and sunxi-mali-mainline in a single patch]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoqt5base: correct eglfs support in qmake.conf.in
Giulio Benetti [Mon, 13 Nov 2017 18:41:54 +0000 (19:41 +0100)]
qt5base: correct eglfs support in qmake.conf.in

Setting EGLFS_DEVICE_INTEGRATION at the end of qmake.conf like is done
by commit 0c219ddb8a doesn't work correctly: it has to be set before the
include(../common/linux_device_post.conf)

Instead of appending to the file, change it into a qmake.conf.in
template file that contains a placeholder for the
EGLFS_DEVICE_INTEGRATION assignment and update it with sed. Since the
sed always has to be executed, this removes the need for a separate
QT5BASE_CONFIGURE_QMAKE_CONFIG definition.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
[Arnout: simplify the replacement, move sunxi-mali support to a
 separate patch]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agopostgresql: add version output to pg_config
Adam Duskett [Mon, 12 Mar 2018 10:12:30 +0000 (06:12 -0400)]
postgresql: add version output to pg_config

Some external packages call pg_config to determine the installed PostgreSQL
version. Add this output to Buildroots own pg_config, so these packages
correctly compile.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agolibuv: bump to version v1.20.0
Asaf Kahlon [Tue, 3 Apr 2018 06:52:03 +0000 (09:52 +0300)]
libuv: bump to version v1.20.0

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotinycbor: bump to version 0.5.1
Fabrice Fontaine [Mon, 2 Apr 2018 17:07:53 +0000 (19:07 +0200)]
tinycbor: bump to version 0.5.1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopython-webpy: security bump to version 0.39
Peter Korsgaard [Wed, 4 Apr 2018 15:51:32 +0000 (17:51 +0200)]
python-webpy: security bump to version 0.39

>From the changelog:

2018-02-28 0.39
* Fixed a security issue with the form module (tx Orange Tsai)
* Fixed a security issue with the db module (tx Adrián Brav and Orange Tsai)

2016-07-08 0.38
..
* Fixed a potential remote exeution risk in `reparam` (tx Adrián Brav)

License files are still not included on pypi, so continue to use the git
repo. Upstream has unfortunately not tagged 0.39, so use the latest commit
on the 0.39 branch.  A request to fix this has been submitted:

https://github.com/webpy/webpy/issues/449

0.39 now uses setuptools, so change the _SETUP_TYPE.

Add hashes for the license files.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopython-webpy: needs hashlib support in python
Peter Korsgaard [Wed, 4 Apr 2018 15:51:31 +0000 (17:51 +0200)]
python-webpy: needs hashlib support in python

webpy uses hashlib for session handling, so ensure it is available:

web/session.py:    import hashlib
web/session.py:    sha1 = hashlib.sha1

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agowolfssl: bump version to 3.14.0
Peter Korsgaard [Wed, 4 Apr 2018 19:18:51 +0000 (21:18 +0200)]
wolfssl: bump version to 3.14.0

Add upstream post-3.14.0 patch to fix build issue related to missing fips.h
header.

For more details, see:
https://github.com/wolfSSL/wolfssl/issues/1415

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/mesa3d: enable llvm support
Valentin Korenblit [Wed, 4 Apr 2018 16:31:20 +0000 (18:31 +0200)]
package/mesa3d: enable llvm support

This patch provides LLVM support for Mesa3D, enabling llvmpipe
software rasterizer if Gallium swrast is selected.

In case Gallium r600 is selected, llvm AMDGPU backend is built.

Having llvm installed also enables radeonsi Gallium driver, but
it is not provided with this patch as it hasn't been tested.

It uses llvm-config (host variant) installed in STAGING_DIR/usr/bin
to get LLVM libraries. Assuming that LLVM version 5.0.1 is installed,
llvm-config --libs will output -lLLVM-5.0.

Signed-off-by: Valentin Korenblit <valentin.korenblit@smile.fr>
Tested-by: Jérôme Oufella <jerome.oufella@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/llvm: enable AMDGPU
Valentin Korenblit [Wed, 4 Apr 2018 16:31:19 +0000 (18:31 +0200)]
package/llvm: enable AMDGPU

The AMDGPU backend provides ISA code generation for AMD GPU's,
starting with the R600 family up until the current GCN families.

It should not be confused with the AMDGPU Linux kernel DRM driver.

For more info: https://llvm.org/docs/AMDGPUUsage.html

Signed-off-by: Valentin Korenblit <valentin.korenblit@smile.fr>
Tested-by: Jérôme Oufella <jerome.oufella@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/llvm: new package
Valentin Korenblit [Wed, 4 Apr 2018 16:31:18 +0000 (18:31 +0200)]
package/llvm: new package

This patch installs LLVM tools and libraries for the host and
libLLVM.so for the target.

In order to cross-compile LLVM for the target, LLVM
must be installed on the host, or at least llvm-tblgen.
This is necessary as the path to host's llvm-tblgen must
be specified when cross-compiling using the LLVM_TABLEGEN option.
Also, a version of llvm-config that can run on the host will
be required by packages that link with LLVM libraries, so we
need to generate it and install it in STAGING_DIR/usr/bin.

It is important to remark why we need llvm-config(host variant)
installed in STAGING dir. This tool is necessary to build
applications that use LLVM, as it prints the compiler flags,
linker flags and object libraries needed to link against LLVM libs.

More info: https://bugs.chromium.org/p/chromium/issues/detail?id=219369

The original idea was to compile only llvm-tblgen and llvm-config
for the host, as they are the only necessary components. However,
llvm-config tool does not work as expected if it is not linked with
libLLVM.so, so we must also enable LLVM_LINK_LLVM_DYLIB, what builds
LLVM as a single shared library and links LLVM tools with it.

More info: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224847
in comment #11.

If we don't build full LLVM for the host, it would be necessary to
patch configure.ac from mesa3d if we want dynamic linking, because it
uses llvm-config (host variant installed in STAGING_DIR) to get the
necessary LLVM libraries to link with, which has the following problems:

 - llvm-config --shared mode outputs static (even if LLVM is built as
   one shared library) which leads to link issues with libgallium.

 - llvm-config --libs outputs all LLVM tiny libs: -lLLVMLTO,
   -lLLVMPasses,etc instead of the single shared library containing
    all LLVM components (-lLLVM-5.0)

Mesa tries to execute: llvm-config --link-shared --libs, but this outputs
llvm-config: error: libLLVM-5.0.so is missing.

Given that these problems may arise with other packages that use LLVM,
it is preferable to do a full build for the host. Also, having a
complete installation of LLVM on the host will also facilitate the
integration of Clang front-end, which is going to be added in a future
patch.

As option LLVM_BUILD_LLVM_DYLIB is enabled for the llvm target variant,
a single shared library containing all LLVM components is built.
This option is not compatible with BUILD_SHARED_LIBS, which generates
one .so per library and is only recommended for use by LLVM developers.

Tools and utils are not built for the target. The patch aims to provide
LLVM support for other packages.

The main options needed to cross-compile LLVM are the following ones:

LLVM_TABLEGEN
CMAKE_CROSSCOMPILING
LLVM_DEFAULT_TARGET_TRIPLE
LLVM_HOST_TRIPLE
LLVM_TARGET_ARCH
LLVM_TARGETS_TO_BUILD

Signed-off-by: Valentin Korenblit <valentin.korenblit@smile.fr>
[Thomas:
 - add dependency on thread and C++ and update the Config.in comment
   accordingly.
 - make the Config.in comment depend on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
   so that it isn't disabled on architectures where LLVM is anyway not
   supported.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/scripts/pkg-stats: replace with new Python version
Thomas Petazzoni [Wed, 4 Apr 2018 20:05:33 +0000 (22:05 +0200)]
support/scripts/pkg-stats: replace with new Python version

Rename pkg-stats-new to pkg-stats.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/scripts/pkg-stats-new: add current version information
Thomas Petazzoni [Fri, 23 Mar 2018 20:54:53 +0000 (21:54 +0100)]
support/scripts/pkg-stats-new: add current version information

This commit adds a new column in the HTML output containing the
current version of a package in Buildroot. As such, it isn't terribly
useful, but combined with the latest upstream version added in a
follow-up commit, it will become very useful.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/scripts/pkg-stats-new: add -n and -p options
Thomas Petazzoni [Fri, 23 Mar 2018 20:54:52 +0000 (21:54 +0100)]
support/scripts/pkg-stats-new: add -n and -p options

This commit adds the following options to the pkg-stats-new script:

 -n, to specify a number of packages to parse instead of all packages

 -p, to specify a list of packages (comma-separated) to parse instead
     of all packages

These options are basically only useful when debugging/developing
this script, but they are very useful, because the script is rather
slow to run completely with all 2000+ packages, especially once
upstream versions will be fetched from release-monitoring.org.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/scripts/pkg-stats-new: rewrite in Python
Thomas Petazzoni [Fri, 23 Mar 2018 20:54:51 +0000 (21:54 +0100)]
support/scripts/pkg-stats-new: rewrite in Python

This commit adds a new version of the pkg-stats script, rewritten in
Python. It is for now implemented in a separate file called,
pkg-stats-new, in order to make the diff easily readable. A future
commit will rename it to pkg-stats.

Compared to the existing shell-based pkg-stats script, the
functionality and output is basically the same. The main difference is
that the output no longer goes to stdout, but to the file passed as
argument using the -o option. This allows stdout to be used for more
debugging related information.

The way the script works is that a first function get_pkglist()
returns a list of Package objects. Then, the function
package_init_make_info() uses 'make printvars' to gather information
about all packages, stored as class variables in the Package
class. Then, we iterate over all packages, and use various methods of
the Package class to retrieve all details about the package:
infrastructure, presence of hash file, presence of license
information, etc.

calculate_stats() then calculates global statistics (how packages have
license information, how packages have a hash file, etc.). Finally,
dump_html() produces the HTML output, using a number of sub-functions.

One improvement over the shell-based version is that we can use
regexps to exclude some .mk files. Thanks to this, we can exclude all
linux-ext-*.mk files, avoiding incorrect matches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
6 years agoczmq: bump to version 4.1.1
Asaf Kahlon [Mon, 2 Apr 2018 12:36:58 +0000 (15:36 +0300)]
czmq: bump to version 4.1.1

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/libupnp18: add optional dependency to openssl/libressl
Bernd Kuhls [Mon, 2 Apr 2018 08:21:51 +0000 (10:21 +0200)]
package/libupnp18: add optional dependency to openssl/libressl

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agolibkrb5: disable optional tcl support
Baruch Siach [Wed, 4 Apr 2018 07:59:06 +0000 (10:59 +0300)]
libkrb5: disable optional tcl support

Avoid detection of host tcl headers.

The tcl package in Buildroot is not cross-compile safe. The generated
tclConfig.sh script has -L/usr/lib in TCL_LIB_SPEC.

Should fix:
http://autobuild.buildroot.net/results/d11/d118c3c09f6fc1de26491f2ed480ef28b091dba8/
http://autobuild.buildroot.net/results/035/0353e1443125da1e544d1a98348716bfe67c8726/

Cc: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agolibkrb5: needs dynamic library support
Baruch Siach [Wed, 4 Apr 2018 07:49:24 +0000 (10:49 +0300)]
libkrb5: needs dynamic library support

Even though the configure script checks for the presence of dlfcn.h, the
code includes this header unconditionally.

Fixes:
http://autobuild.buildroot.net/results/0e1/0e19af38d74aa74919a11ff1ebdb3b8c1a494b33/

Cc: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoconfigs/wandboard: Bump to U-Boot 2018.03
Fabio Estevam [Wed, 4 Apr 2018 15:38:03 +0000 (12:38 -0300)]
configs/wandboard: Bump to U-Boot 2018.03

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agouboot-tools: bump to version 2018.03
Fabio Estevam [Wed, 4 Apr 2018 15:38:02 +0000 (12:38 -0300)]
uboot-tools: bump to version 2018.03

Drop patch 0004 as it is already applied upstream.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agouboot: bump to version 2018.03
Fabio Estevam [Wed, 4 Apr 2018 15:38:01 +0000 (12:38 -0300)]
uboot: bump to version 2018.03

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoconfigs/warp7: Bump kernel version
Fabio Estevam [Tue, 3 Apr 2018 22:12:04 +0000 (19:12 -0300)]
configs/warp7: Bump kernel version

Bump kernel version to 4.15.15.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agobusybox: bump to version 1.28.3
Peter Korsgaard [Tue, 3 Apr 2018 20:31:15 +0000 (22:31 +0200)]
busybox: bump to version 1.28.3

Includes fixes for ash, cpio, grep and hush.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/systemd: add upstream build fix #8456
Stefan Becker [Tue, 3 Apr 2018 06:11:38 +0000 (09:11 +0300)]
package/systemd: add upstream build fix #8456

Signed-off-by: Stefan Becker <chemobejk@gmail.com>
Tested-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agolibbsd: needs wide character support
Baruch Siach [Tue, 3 Apr 2018 20:20:15 +0000 (23:20 +0300)]
libbsd: needs wide character support

Commit d879be30495 (package/libbsd: enable for non-glibc toolchains)
enabled build of libbsd with uClibc. libbsd requires wchar support.
Disable libbsd when uClibc does not provide wchar support.

Fixes:
http://autobuild.buildroot.net/results/4fb/4fb576c644a7322730658ed585bcc4a353a42e85/
http://autobuild.buildroot.net/results/459/45946f11524c57ffa59bf88d4a2ea0d4933fa851/
http://autobuild.buildroot.net/results/ee3/ee3ad5172d6a218dfde4cf3e9fecf1906b0fc642/

Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agompd: add optional libmpdclient dependency
Fabrice Fontaine [Tue, 3 Apr 2018 20:03:41 +0000 (22:03 +0200)]
mpd: add optional libmpdclient dependency

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agolibbsd: fix build for openrisc with uClibc
Baruch Siach [Tue, 3 Apr 2018 19:05:02 +0000 (22:05 +0300)]
libbsd: fix build for openrisc with uClibc

Commit d879be30495 (package/libbsd: enable for non-glibc toolchains)
enabled libbsd for openrisc. Unfortunately uClibc does not define the
EM_OPENRISC macro that libbsd expects for ELF e_machine ID. Add patch
making libbsd fallback to the equivalent EM_OR1K macro that uClibc does
provide.

Fixes:
http://autobuild.buildroot.net/results/2f5/2f51eebe5964e8f1be3ecd2032e7d7837bf98b84/

Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoSynopsys: Cleanup files related to Synopsys
Evgeniy Didin [Tue, 3 Apr 2018 17:48:17 +0000 (20:48 +0300)]
Synopsys: Cleanup files related to Synopsys

Add missing entries in DEVELOPERS file for synopsys boards.
Add missing readme.txt for recently introduced synopsys/hsdk board.
Reduce size of FAT partition for HSDK image.

Signed-off-by: Evgeniy Didin <didin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: arc-buildroot@synopsys.com
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocore/download: fix when the BR2_DL_DIR does not accept hardlinks
Yann E. MORIN [Tue, 3 Apr 2018 18:54:56 +0000 (20:54 +0200)]
core/download: fix when the BR2_DL_DIR does not accept hardlinks

When the BR2_DL_DIR is a mountpoint (presumably shared between various
machine, or mounted from the local host when running in a VM), it is
possible that it does not support hardlinks (e.g. samba, or the VMWare
VMFS, etc...).

If the hardlink fails, fallback to copying the file. As a last resort,
if that also fails, eventually fallback to doing the download.

Note: this means that the dl-wrapper is no longer atomic-safe: the code
suffers of a TOCTTOU condition: the file may be created in-between the
check and the moment we try to ln/cp it. Fortunately, the dl-wrapper is
now run under an flock, so we're still safe. If we eventually go for a
more fine-grained implementation, we'll have to be careful then.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoopenal: Bump to version 1.18.2
André Hentschel [Tue, 3 Apr 2018 18:30:07 +0000 (20:30 +0200)]
openal: Bump to version 1.18.2

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agolibnss: add upstream patch fixing build on aarch64
Peter Korsgaard [Tue, 3 Apr 2018 12:13:39 +0000 (14:13 +0200)]
libnss: add upstream patch fixing build on aarch64

Fixes:
http://autobuild.buildroot.net/results/037/037c772a36762df8febd529b329743d18ffbf66a/

Build system forgets to compile a file on aarch64, breaking the build.

For details, see the upstream bugreport:
https://bugzilla.mozilla.org/show_bug.cgi?id=1432455

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoprosody: needs MMU
Baruch Siach [Tue, 3 Apr 2018 04:45:25 +0000 (07:45 +0300)]
prosody: needs MMU

prosody POSIX support code calls fork() unconditionally.

prosody also uses the mallinfo() API, but uClibc does not provide that
for no-MMU targets.

Fixes:
http://autobuild.buildroot.net/results/2d0/2d0f97e41cc1d4c9c7a0eacd4eec8bad6f00bcff/
http://autobuild.buildroot.net/results/f69/f69dfb1a7d1163b402b1f9bef045891c229539e5/

Cc: Dushara Jayasinghe <nidujay@gmail.com>
Cc: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoprosody: fix build with musl libc
Baruch Siach [Tue, 3 Apr 2018 04:45:24 +0000 (07:45 +0300)]
prosody: fix build with musl libc

musl libc does not provide the mallinfo() API. Define WITHOUT_MALLINFO
to skip the code using it.

Fixes:
http://autobuild.buildroot.net/results/42c/42cd6e3be761d1cb358bc50acd7fa58c8aa1c750/
http://autobuild.buildroot.net/results/29d/29d8dcbe013e549a865c0c5953272dab1fe5f777/
http://autobuild.buildroot.net/results/a6d/a6deb7440f80b072432c0f9c048e59abe4edf1c0/

Cc: Dushara Jayasinghe <nidujay@gmail.com>
Cc: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agotpm2-abrmd: disable for musl
Carlos Santos [Mon, 2 Apr 2018 16:53:57 +0000 (13:53 -0300)]
tpm2-abrmd: disable for musl

The current version requires macros and funtions not availabe on musl
(TEMP_FAILURE_RETRY, srand48_r, etc). We could try to circumvent the
problem by means of local patches but for the moment let's disable the
package for musl toolchains and watch the issue reported upstream at

  https://github.com/tpm2-software/tpm2-abrmd/issues/237

Propagate the change to tpm2-tools, which has a run-time dependency on
tpm2-abrmd.

Fixes:
  http://autobuild.buildroot.net/results/d2fa916613d835f856d14747dc03ef9847ad6396
  http://autobuild.buildroot.net/results/e82ff1f7f8a4a930fbabd38353da2149cc54fd9d
  http://autobuild.buildroot.net/results/7aaf6a7cc384b2e52109c0c31792c0d3888bcefd
  http://autobuild.buildroot.net/results/a56e55fb4791a90c00906698676656969484383d
  http://autobuild.buildroot.net/results/7aa020d115a0a3308fee1f3528554e40076ff28d

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopython-keyring: unbreak after download rework
Peter Korsgaard [Tue, 3 Apr 2018 11:20:36 +0000 (13:20 +0200)]
python-keyring: unbreak after download rework

commit 514291f39ef06 (packages: use new $($PKG)_DL_DIR) variable) strangely
enough removed the PYTHON_KEYRING_SITE line, breaking the build.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agolibbsd: disable for xtensa and blackfin
Baruch Siach [Tue, 3 Apr 2018 05:25:37 +0000 (08:25 +0300)]
libbsd: disable for xtensa and blackfin

Commit d879be30495 (package/libbsd: enable for non-glibc toolchains)
implicitly enabled libbsd for the uClibc only architectures xtensa and
blackfin. But libbsd does not support these architectures, since its
local-elf.h header lacks the required target specific definitions.

Fixes:
http://autobuild.buildroot.net/results/ff1/ff1a52a53bed43cda9e235081a61b352e6e07aa1/
http://autobuild.buildroot.net/results/b13/b13c2f248f277c72b5d266208f991f34474cea14/
http://autobuild.buildroot.net/results/182/182356701c2110a014c9d6c8d9f18a6efeb26e70/

Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoqemu_ppc64_e5500_defconfig: convert quotes in readme.txt emulation example
Matt Weber [Tue, 3 Apr 2018 00:43:25 +0000 (19:43 -0500)]
qemu_ppc64_e5500_defconfig: convert quotes in readme.txt emulation example

Resolves an error in the way the bootlin toolchain-builder uses
the board/qemu/ppc64-e5500/readme.txt to generate the qemu test
command.

https://github.com/free-electrons/toolchains-builder/blob/master/build.sh#L186

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopkg-generic.mk: fix FOO_ACTUAL_SOURCE_TARBALL handling after DOWNLOAD rework
Peter Korsgaard [Tue, 3 Apr 2018 06:56:16 +0000 (08:56 +0200)]
pkg-generic.mk: fix FOO_ACTUAL_SOURCE_TARBALL handling after DOWNLOAD rework

Fixes:
http://autobuild.buildroot.net/results/b4a/b4af0de4ae9630ccbe7890f69047f216f2ff5119/

With the change to the DOWNLOAD macro, packages using FOO_ACTUAL_SOURCE_TARBALL fails:

>>> skeleton-init-common  Collecting legal info
sourceryg++-2017.05-4-nios2-linux-gnu.src.tar.bz2: OK (md5: 529a7fecf33d0d113a446413b9d1e173)
sourceryg++-2017.05-4-nios2-linux-gnu.src.tar.bz2: OK (sha256: 6e65878d0453708ee19098d3d68985bda244938d35999f3859915a2f5574fa08)
/bin/bash: line 1: @mkdir: command not found
package/pkg-generic.mk:148: recipe for target '/accts/mlweber1/rclinux/rc-buildroot-test/scripts/instance-1/output/build/toolchain-external-codesourcery-niosII-2017.05-4/.stamp_actual_downloaded' failed

Which is caused by the continuation character '\'.  This has been present
since the make target was introduced in commit eace9d6133b9
(core/legal-info: ensure legal-info works in off-line mode).  It isn't clear
to me why it was done like that, but it fails with the DOWNLOAD macro
rework, so drop it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopython-yieldfrom: new package
Asaf Kahlon [Mon, 2 Apr 2018 16:12:33 +0000 (19:12 +0300)]
python-yieldfrom: new package

A backport of the `yield from` semantic from Python 3.x to Python 2.7.
Can be useful for both host and target packages.

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoconfigs/qemu_ppc64_e5500_defconfig: needs host-openssl for the Linux kernel build
Matt Weber [Mon, 2 Apr 2018 20:01:18 +0000 (15:01 -0500)]
configs/qemu_ppc64_e5500_defconfig: needs host-openssl for the Linux kernel build

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agolibcurl: add brotli optional dependency
Baruch Siach [Mon, 2 Apr 2018 21:41:44 +0000 (00:41 +0300)]
libcurl: add brotli optional dependency

The brotli package has recently been added to Buildroot. Add brotli an
an optional dependency to libcurl to make the build consistent.

It turns out that libcurl configure script uses pkg-config to figure
out link libraries only when --with-brotli is explicitly set. So this
also fixes static build failure.

Fixes:
http://autobuild.buildroot.net/results/64b/64bc0dfe284206390ae0680b94c0876863a3c0f3/
http://autobuild.buildroot.net/results/233/23376d8653dea6361e42b0f17b6aaab3c14d99cf/
http://autobuild.buildroot.net/results/b19/b198db4b69e18e6d01ec95aae9c6096c1912dd9c/

Cc: Adrian Perez de Castro <aperez@igalia.com>
Cc: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agozynq-boot-bin: use HOST_ZYNQ_BOOT_BIN_DL_DIR instead of ZYNQ_BOOT_BIN_DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 18:36:26 +0000 (20:36 +0200)]
zynq-boot-bin: use HOST_ZYNQ_BOOT_BIN_DL_DIR instead of ZYNQ_BOOT_BIN_DL_DIR

The infrastructure only provides HOST_ZYNQ_BOOT_BIN_DL_DIR, because this
package is host only. Ideally the infra should provide ZYNQ_BOOT_BIN_DL_DIR,
but it doesn't currently, and that requires more significant changes.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoti-cgt-pru: use HOST_TI_CGT_PRU_DL_DIR instead of TI_CGT_PRU_DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 18:36:25 +0000 (20:36 +0200)]
ti-cgt-pru: use HOST_TI_CGT_PRU_DL_DIR instead of TI_CGT_PRU_DL_DIR

The infrastructure only provides HOST_TI_CGT_PRU_DL_DIR, because this
package is host only. Ideally the infra should provide TI_CGT_PRU_DL_DIR,
but it doesn't currently, and that requires more significant changes.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agorust-bin: use HOST_RUST_BIN_DL_DIR instead of RUST_BIN_DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 18:36:24 +0000 (20:36 +0200)]
rust-bin: use HOST_RUST_BIN_DL_DIR instead of RUST_BIN_DL_DIR

The infrastructure only provides HOST_RUST_BIN_DL_DIR, because this
package is host only. Ideally the infra should provide RUST_BIN_DL_DIR,
but it doesn't currently, and that requires more significant changes.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocryptopp: use HOST_CRYPTOPP_DL_DIR instead of CRYPTOPP_DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 18:36:23 +0000 (20:36 +0200)]
cryptopp: use HOST_CRYPTOPP_DL_DIR instead of CRYPTOPP_DL_DIR

The infrastructure only provides HOST_CRYPTOPP_DL_DIR, because this
package is host only. Ideally the infra should provide CRYPTOPP_DL_DIR,
but it doesn't currently, and that requires more significant changes.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocargo: use HOST_CARGO_DL_DIR instead of CARGO_DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 18:36:22 +0000 (20:36 +0200)]
cargo: use HOST_CARGO_DL_DIR instead of CARGO_DL_DIR

The infrastructure only provides HOST_CARGO_DL_DIR, because this
package is host only. Ideally the infra should provide CARGO_DL_DIR,
but it doesn't currently, and that requires more significant changes.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosam-ba: create $(HOST_DIR)/bin before using it
Thomas Petazzoni [Mon, 2 Apr 2018 18:03:26 +0000 (20:03 +0200)]
sam-ba: create $(HOST_DIR)/bin before using it

If one runs "make host-sam-ba" from a clean build, sam-ba.mk cannot
create its symbolic link because $(HOST_DIR)/bin doesn't exist. So
let's create this directory.

>>> host-sam-ba 2.16 Installing to host directory
mkdir -p /buildroot/output/host/opt/sam-ba/
cp -a /buildroot/output/build/host-sam-ba-2.16/* /buildroot/output/host/opt/sam-ba/
ln -sf ../opt/sam-ba/sam-ba_64 /buildroot/output/host/bin/sam-ba
ln: failed to create symbolic link '/buildroot/output/host/bin/sam-ba': No such file or directory
make[1]: *** [package/pkg-generic.mk:234: /buildroot/output/build/host-sam-ba-2.16/.stamp_host_installed] Error 1
make: *** [Makefile:79: _all] Error 2

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosam-ba: use HOST_SAM_BA_DL_DIR instead of SAM_BA_DL_DIR
Thomas Petazzoni [Mon, 2 Apr 2018 18:00:25 +0000 (20:00 +0200)]
sam-ba: use HOST_SAM_BA_DL_DIR instead of SAM_BA_DL_DIR

The infrastructure only provides HOST_SAM_BA_DL_DIR, because this
package is host only. Ideally the infra should provide SAM_BA_DL_DIR,
but it doesn't currently, and that requires more significant changes.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agowaf: use HOST_WAF_DL_DIR instead of WAF_DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 17:14:27 +0000 (19:14 +0200)]
waf: use HOST_WAF_DL_DIR instead of WAF_DL_DIR

The infrastructure only provides HOST_WAF_DL_DIR, because this package
is host only. Ideally the infra should provide WAF_DL_DIR, but it
doesn't currently, and that requires more significant changes.

Fixes:

  http://autobuild.buildroot.org/results/01d8c21df4baa9ecc6a0e45744fe6a4d086a0652/

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agohostapd: drop default dependency on netlink
Alexander Mukhin [Sat, 30 Dec 2017 15:57:36 +0000 (18:57 +0300)]
hostapd: drop default dependency on netlink

Get rid of netlink dependency if the options selected allow that.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Reviewed-by: Sam Voss <sam.voss@rockwellcollins.com>
[Thomas/Arnout: use a if BR2_PACKAGE_HOSTAPD_VLAN .. endif block.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agohostapd: make ACS dependent on nl80211
Alexander Mukhin [Sat, 30 Dec 2017 15:57:35 +0000 (18:57 +0300)]
hostapd: make ACS dependent on nl80211

According to hostapd's defconfig file, ACS is currently only supported
through the nl80211 driver. Search through the source code also confirms
that ACS machinery is present in the nl80211 driver only.

Although hostapd can be built with ACS enabled and nl80211 disabled, an
attempt to use ACS with other drivers by setting a wireless channel to 0
results in a runtime failure (driver doesn't accept this value). So we
might save a user from selecting a meaningless combination by making ACS
dependent on nl80211.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Reviewed-by: Sam Voss <sam.voss@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agohostapd: select driver support
Alexander Mukhin [Sat, 30 Dec 2017 15:57:34 +0000 (18:57 +0300)]
hostapd: select driver support

Add support for the wired driver. Add configuration options to select
which drivers to build. Select DRIVER_NONE if no other drivers enabled
(this may be the case when building hostapd as a standalone RADIUS
server).

Update makefile logic and apply wireless-specific options only if at
least one wireless driver enabled. Otherwise, an attempt to build a
wired-only or RADIUS-only hostapd will fail.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Reviewed-by: Sam Voss <sam.voss@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/ntp: add support for libressl
Bernd Kuhls [Mon, 2 Apr 2018 11:58:29 +0000 (13:58 +0200)]
package/ntp: add support for libressl

Ntp builds fine with current libressl 2.7.2.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/opusfile: add support for libressl
Bernd Kuhls [Mon, 2 Apr 2018 11:58:28 +0000 (13:58 +0200)]
package/opusfile: add support for libressl

Opusfile builds fine with current libressl 2.7.2.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/libevent: add support for libressl
Bernd Kuhls [Mon, 2 Apr 2018 11:58:27 +0000 (13:58 +0200)]
package/libevent: add support for libressl

Libevent builds fine with current libressl 2.7.2.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/ffmpeg: add support for libressl
Bernd Kuhls [Mon, 2 Apr 2018 11:58:26 +0000 (13:58 +0200)]
package/ffmpeg: add support for libressl

Ffmpeg builds fine with current libressl 2.7.2.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agodownload: git: introduce cache feature
Maxime Hadjinlian [Mon, 2 Apr 2018 14:58:02 +0000 (16:58 +0200)]
download: git: introduce cache feature

Now we keep the git clone that we download and generates our tarball
from there.
The main goal here is that if you change the version of a package (say
Linux), instead of cloning all over again, you will simply 'git fetch'
from the repo the missing objects, then generates the tarball again.

This should speed the 'source' part of the build significantly.

The drawback is that the DL_DIR will grow much larger; but time is more
important than disk space nowadays.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocore/download: look for archives in the global download dir first
Yann E. MORIN [Mon, 2 Apr 2018 15:13:58 +0000 (17:13 +0200)]
core/download: look for archives in the global download dir first

For existing setups, the global donload directory may have a lot of the
required archives, so look into there before attempting a download.

We simply hard-link them if found there and not in the new per-package
loaction. Then we resume the existing procedure (which means the new
hardlink will get removed if it happened to not match the hash).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agodownload: add missing '-d' option
Maxime Hadjinlian [Mon, 2 Apr 2018 14:58:01 +0000 (16:58 +0200)]
download: add missing '-d' option

The infrastructure needs to give the 'dl_dir' to the dl-wrapper which in its
turn needs to give it to the helper.  It will only be used by the 'git'
helper as of now.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agodownload: add flock call before dl-wrapper
Maxime Hadjinlian [Mon, 2 Apr 2018 14:58:00 +0000 (16:58 +0200)]
download: add flock call before dl-wrapper

In order to introduce the cache mechanisms, we need to have a lock on the
$(LIBFOO_DL_DIR), otherwise it would be impossible to do parallel download
(a shared DL_DIR for two buildroot instances) without risking conflicts.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agohelp/manual: update help about the new $(LIBFOO_DL_DIR)
Maxime Hadjinlian [Mon, 2 Apr 2018 14:57:59 +0000 (16:57 +0200)]
help/manual: update help about the new $(LIBFOO_DL_DIR)

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage: share downloaded files for big packages
Yann E. MORIN [Mon, 2 Apr 2018 14:57:58 +0000 (16:57 +0200)]
package: share downloaded files for big packages

Theses packages are given as an example of the use of the *_DL_SUBDIR feature.
There maybe other packages that would benefit from that feature, they
would need to be added on a case by case basis.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopkg-download: support new subdirs for mirrors
Maxime Hadjinlian [Mon, 2 Apr 2018 14:57:57 +0000 (16:57 +0200)]
pkg-download: support new subdirs for mirrors

Since we introduced subdirectories to the DL_DIR, we need to support them
in the PRIMARY and BACKUP mirrors as they evolve to the new tree
structure.

We check first the new URI (with the subdir), and in case of failure, we
check without. By checking both URIs, we ensure that old mirror are usable.

Also, add a missing qstrip call for BR2_BACKUP_SITE.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopkg-generic: introduce _DL_SUBDIR
Maxime Hadjinlian [Mon, 2 Apr 2018 14:57:56 +0000 (16:57 +0200)]
pkg-generic: introduce _DL_SUBDIR

This per package variable can be used to specify the download
subdirectory used by that package.

The use case here is for example linux-headers and linux, which share
the same sources (because they are the same upstream project), so we
don't want to download twice the kernel, nor store it multiple times
either.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopkg-generic: add a subdirectory to the DL_DIR
Maxime Hadjinlian [Mon, 2 Apr 2018 14:57:55 +0000 (16:57 +0200)]
pkg-generic: add a subdirectory to the DL_DIR

With all the previous changes, we are now ready to add a subdirectory to
the DL_DIR.
The structure will now be DL_DIR/PKG_NAME/{FILE1,FILE2}

This is needed for multiple reasons:
    - Avoid patches with name like SHA1.patch laying flat in DL_DIR,
    which makes it hard to know to which packages they apply
    - Avoid possible collisions if two releases have the same name
    (e.g: v01.tar)
    - Allow the possibility to handle a git cache per package in the
    newly created subdirectory.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/openldap: add support for libressl
Bernd Kuhls [Mon, 2 Apr 2018 11:27:07 +0000 (13:27 +0200)]
package/openldap: add support for libressl

Openldap builds fine with current libressl 2.7.2.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/openldap: bump version to 2.4.46
Bernd Kuhls [Mon, 2 Apr 2018 11:27:06 +0000 (13:27 +0200)]
package/openldap: bump version to 2.4.46

Changelog: https://www.openldap.org/software/release/changes.html

Added sha256 hashes for tarball and license.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoconfigs: beaglebone: bump kernel and uboot version
Lothar Felten [Thu, 15 Feb 2018 11:37:18 +0000 (12:37 +0100)]
configs: beaglebone: bump kernel and uboot version

Switch to Linux kernel version 4.9.59 from the TI SDK 04.02.00.09
(TI SDK release date: 23.12.2017)
Updated uboot to version 2018.01
uEnv.txt corrected to boot from sd card on the ti-am335x-evm

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/pkg-golang: add PATH in GO_TARGET_ENV
Thomas Petazzoni [Mon, 2 Apr 2018 13:41:45 +0000 (15:41 +0200)]
package/pkg-golang: add PATH in GO_TARGET_ENV

Some Go packages use pkg-config to detect native libraries, so we must
have $(BR_PATH) in the PATH so that our pkg-config in HOST_DIR gets
used.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoqt5: bump latest version to 5.10.1
Gaël PORTAY [Thu, 15 Mar 2018 19:50:54 +0000 (15:50 -0400)]
qt5: bump latest version to 5.10.1

The tarball filename has changed since 5.10. The module suffix
*opensource-src* has changed to *everywhere-src*. I introduced the
*QT5_SOURCE_TARBALL_PREFIX* variable to set the right filename according
to the Qt version.

qtwebengine:

Select libnss. It is a requirement[1] because OpenSSL
certificate validation[2] and NSS bundle[3] was dropped.

Add host-libnss and host-libpng to satisfy new requirement to
build an internal host-tool.

Set ninja host pkg-config tool using environment variable
$GN_PKG_CONFIG_HOST[4]. The build system uses pkg-config to get
package data for both host and target architectures. Using the
same call to pkg-config for both target and host leads to build
mismatches: it tries to link a host-tool using target libraries.

qt5base:

sqlite plugin now uses sqlite3_column_table_name16() so select
BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA to make sure it is
available.

qt5multimedia:

libqgsttools was renamed to libQtMultimediaGstTools. The latter
name matches the libQt5Multimedia*.so.* pattern so no additional
copy command is needed for it anymore.

qt5xmlpatterns:

Names of the license files have changed: LICENSE.(L)GPLv3 ->
LICENSE.(L)GPL3. The new files in fact already existed in 5.9.4
but the old ones were not removed yet. The new files are
slightly different: there used to be a Qt header in front of it
which is now removed. Also LICENSE.LGPL3 is rewrapped.

qt5location, qt5quickcontrols, qt5serialport:

Same license files issue, and for LICENSE.GPLv2 as well.
LICENSE.GPL2 has the "How to Apply These Terms to Your New
Programs" text appended to it.

qt5script:

Similar license file issues, but the new license files were not
present yet. LICENSE.GPLv21 was removed so there is no longer a
license file for the LGPL-2.1-covered Qt code.

[1]: https://github.com/qt/qtwebengine/commit/9b449045fbd5fd3b58bcaff6cf0c5878cd6e64eb
[2]: https://codereview.chromium.org/2862543003
[3]: https://codereview.chromium.org/1882433002
[4]: https://github.com/qt/qtwebengine/blob/v5.10.1/src/core/config/linux.pri#L111-L125

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
[Peter:
 - fix sqlite plugin support in qt5base;
 - fix target installation of qt5multimedia
]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Arnout:
 - create a local host-pkg-config tool instead of extending pkgconf;
 - pass the same options to host-pkg-config as we do for other packages;
 - carry the EGL mesa3d X11 headers patch;
 - update license file names and hashes
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agopackage: add libnss host package
Gaël PORTAY [Thu, 15 Mar 2018 19:50:52 +0000 (15:50 -0400)]
package: add libnss host package

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agopackage: add libnpsr host package
Gaël PORTAY [Thu, 15 Mar 2018 19:50:51 +0000 (15:50 -0400)]
package: add libnpsr host package

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoqt5script: correct license information
Arnout Vandecappelle (Essensium/Mind) [Mon, 2 Apr 2018 14:14:46 +0000 (16:14 +0200)]
qt5script: correct license information

The license information in qt5script was just copied from all the other
qt5 modules, but it is different (and complicated).

- libQt5Script itself contains the third-party JavaScriptCore source.
  JavaScriptCore has a number of licenses: BSD-2-Clause, BSD-3-Clause,
  LGPL-2.0+, LGPL-2.1+. Since it is all linked together, the end
  result will be BSD-3-Clause and LGPL-2.1+.

  The different BSD licenses are all slightly different (different
  authors, which affects the third clause in particular). Only one
  separate license file is provided, so let's use that one.

  There is an LGPL-2.0 license file, which is slightly different from
  the top-level LICENSE.LGPLv21, so let's add that one as well.

- libQt5Script also contains Qt-specific code which is all licensed
  under LGPL-2.1 only. This is covered by the LICENSE.LGPLv21 file.
  It merges with the LGPL-2.1+ from JavaScriptCore but limits it to
  2.1 only.

- libQt5ScriptTools is a separate libary containing just the script
  debugger. It is covered by the usual Qt license:
  * LGPL-2.1 or LGPL-3.0 with exception for Qt 5.6;
  * LGPL-3.0 or GPL-2.0+ for Qt 5.9 (actually it is GPL-2.0 or GPL-3.0
    or any later version approved by the KDE Qt foundation, but let's
    keep it simple :-). Note that there is no LICENSE.GPLv2 provided,
    only LICENSE.GPLv3. Also, there is an LGPL_EXCEPTION.txt file but
    no mention of an exception anywhere in the sources.

Update the license information with all of the above. Also add hashes
for the new license files from JavaScriptCore.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agosupport/download: make sure the download folder is created
Maxime Hadjinlian [Mon, 2 Apr 2018 13:09:27 +0000 (15:09 +0200)]
support/download: make sure the download folder is created

At the moment, it means that we make sure that BR2_DL_DIR is created, in
the future, it will make sure that BR2_DL_DIR/PKG_NAME/ is created.

[Peter: drop trailing / on mkdir]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopkg-{download, generic, luarocks}: use existing $($(PKG)_DL_DIR)
Maxime Hadjinlian [Mon, 2 Apr 2018 13:09:26 +0000 (15:09 +0200)]
pkg-{download, generic, luarocks}: use existing $($(PKG)_DL_DIR)

Let the infrastructure use the already existing variable $(PKG)_DL_DIR

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoarc/xtensa: store the Xtensa overlay in the per-package DL_DIR
Yann E. MORIN [Mon, 2 Apr 2018 13:09:25 +0000 (15:09 +0200)]
arc/xtensa: store the Xtensa overlay in the per-package DL_DIR

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackages: use new $($PKG)_DL_DIR) variable
Maxime Hadjinlian [Mon, 2 Apr 2018 13:09:24 +0000 (15:09 +0200)]
packages: use new $($PKG)_DL_DIR) variable

Instead of DL_DIR, the package should now use $(PKG)_DL_DIR to ease the
transition into a new directory structure for DL_DIR.

This commit has been generated with the following scripts:

for i in $(find . -iname "*.mk"); do
if ! grep -q "\$(DL_DIR)" ${i}; then
continue
fi
pkg_name="$(basename $(dirname ${i}))"
[ "${pkg_name}" = "package" ] && continue
raw_pkg_name=$(echo ${pkg_name} | tr [a-z] [A-Z] | tr '-' '_')
pkg_dl_dir="${raw_pkg_name}_DL_DIR"
sed -i "s/\$(DL_DIR)/\$($pkg_dl_dir)/" ${i}
done

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/git: bump version to 2.16.3
Bernd Kuhls [Mon, 2 Apr 2018 13:06:34 +0000 (15:06 +0200)]
package/git: bump version to 2.16.3

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocore/pkg-download: fix autobuilder fallout
Maxime Hadjinlian [Mon, 2 Apr 2018 13:33:53 +0000 (15:33 +0200)]
core/pkg-download: fix autobuilder fallout

Some arguments can be empty, so we need to add single quote around them
But since they are sinple quote; double quote inside them are now not
interpreted by the shell and as such must be removed; hence the use of
qstrip.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agonmap: add sub-options for ncat, nping and ndiff
Carlos Santos [Mon, 27 Nov 2017 10:41:29 +0000 (08:41 -0200)]
nmap: add sub-options for ncat, nping and ndiff

The forthcoming "libvirt" package will need a "nc" command with support
for Unix domain sockets in order to permit remote management using the
virt-manager utility. netcat-openbsd provides such command but requires
glibc, so we would not have remote management on uClibc-based systems.

Ncat is a much-improved reimplementation of the venerable Netcat and is
compatible with uClibc and musl. It provides features not available in
the ancient GNU netcat and its Busybox double like IPv6, proxies, and
Unix sockets.

Since 'nmap' itself is a fairly big program (~2.3 MB), we want to be
able to install only ncat. In addition, nmap requires an external
library, pcre.

So this commit adds sub-options to selectively enable/disable the
different programs part of nmap: nmap, nping, ndiff and ncat.

Finally, we symlink 'nc' to ncat if neiter netcat nor netcat-openbsd
is selected, even though ncat does not have the same interface as
netcat-openbsd.  However, since Fedora/RHEL install nmap-ncat as 'nc',
it can be assumed that packages that depend on 'nc' know how to deal
with this diversity.  For example, the virt-manager package does
that. Also user-supplied scripts can be assumed to do the right thing,
since the user also selects whether nmap-ncat, netcat or
netcat-openbsd is installed.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas:
 - don't just handle the ncat case in a special way: create
   sub-options for all nmap tools, and use <pkg>_MAKE_OPTS and
   <pkg>_INSTALL_TARGET_OPTS to select which ones should be
   built/installed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoncmpc: add optional dependency to lirc-tools
Fabrice Fontaine [Mon, 2 Apr 2018 11:10:18 +0000 (13:10 +0200)]
ncmpc: add optional dependency to lirc-tools

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>