]> rtime.felk.cvut.cz Git - coffee/buildroot.git/log
coffee/buildroot.git
6 years agoatop: add hash for license file
Ricardo Martincoski [Thu, 6 Jul 2017 02:41:34 +0000 (23:41 -0300)]
atop: add hash for license file

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-stats: add exception for nvidia-tegra23.mk
Thomas Petazzoni [Thu, 6 Jul 2017 19:46:04 +0000 (21:46 +0200)]
pkg-stats: add exception for nvidia-tegra23.mk

This file is not a package per-se, it includes other .mk files that
are packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-stats: take into account waf packages
Thomas Petazzoni [Thu, 6 Jul 2017 19:45:41 +0000 (21:45 +0200)]
pkg-stats: take into account waf packages

The waf package infrastructure was not known by the pkg-stats script,
so let's add it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-stats: allow to sort by column
Ricardo Martincoski [Thu, 6 Jul 2017 01:36:31 +0000 (22:36 -0300)]
pkg-stats: allow to sort by column

With 2000+ packages it's not trivial to identify i.e.:
- all packages that don't have a hash file;
- all packages that have patches;
- all packages that have code style warnings;

User experience can be improved by dynamically sorting the resulting
table.

There is an open-source solution that does that in the client-side and
requires minimal changes to our script: sorttable.js.  The script is
MIT licensed as stated in its website.

Also add a hint to the user that the table can be sorted.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopython-jinja2: don't remove async files for Python 3
Yegor Yefremov [Thu, 6 Jul 2017 08:57:53 +0000 (10:57 +0200)]
python-jinja2: don't remove async files for Python 3

The needed functionality is already included into Python 3.6.x,
so these files can be now compiled without errors.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopython-txaio: bump to version 2.8.0
Yegor Yefremov [Thu, 6 Jul 2017 08:54:47 +0000 (10:54 +0200)]
python-txaio: bump to version 2.8.0

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopython-setproctitle: change setup type to setuptools
Yegor Yefremov [Thu, 6 Jul 2017 08:52:59 +0000 (10:52 +0200)]
python-setproctitle: change setup type to setuptools

Changing setup type to setuptools avoids installing as zipped .egg

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agomonit: bump to version 5.23.0
Jörg Krause [Thu, 6 Jul 2017 06:50:34 +0000 (08:50 +0200)]
monit: bump to version 5.23.0

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolinuxptp: refactor with LINUXPTP_MAKE_{ENV,OPTS} variables
Thomas Petazzoni [Thu, 6 Jul 2017 19:08:05 +0000 (21:08 +0200)]
linuxptp: refactor with LINUXPTP_MAKE_{ENV,OPTS} variables

Since there is quite some duplication in the variables to be passed in
the make environment and as make options between the build and install
steps, this commit introduces LINUXPTP_MAKE_ENV and LINUXPTP_MAKE_OPTS
to avoid the duplication.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopackage/linuxptp: set KBUILD_OUTPUT to STAGING_DIR
Romain Naour [Thu, 6 Jul 2017 17:43:36 +0000 (19:43 +0200)]
package/linuxptp: set KBUILD_OUTPUT to STAGING_DIR

incdefs.sh try to define some flags with user_flags() and kernel_flags()
functions. The later is looking at the kernel headers installed on the host
when KBUILD_OUTPUT is not set. If no kernel headers are installed on the host,
the grep fail and HAVE_ONESTEP_SYNC is not set on the command line:
see: grep: /usr/include/linux/net_tstamp.h: No such file or directory
So the missing.h define HWTSTAMP_TX_ONESTEP_SYNC which is also present in the
kernel headers installed in STAGING_DIR (toolchain w/ headers >= 3.2).

Indeed KBUILD_OUTPUT is empty because it's reset in the makefile, so move
KBUILD_OUTPUT in the enviroment while calling "make"/

Also set KBUILD_OUTPUT to STAGING_DIR to find net_tstamp.h.

While at it, use the same arguments for BUILD_CMDS and
INSTALL_TARGET_CMDS.

Thanks to Yann for the live review during the Buildroot summer camp.

Fixes:
http://autobuild.buildroot.net/results/364/36470db2c262d2e1fda5144a08cfe221831e093e

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Petr Kulhavy <brain@jikos.cz>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopackage/linuxptp: fix coding style issue
Romain Naour [Thu, 6 Jul 2017 17:43:35 +0000 (19:43 +0200)]
package/linuxptp: fix coding style issue

Thanks to Yann for the live review during the Buildroot summer camp.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Petr Kulhavy <brain@jikos.cz>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agodbus: bump to version 1.10.20
Baruch Siach [Thu, 6 Jul 2017 18:16:30 +0000 (21:16 +0300)]
dbus: bump to version 1.10.20

Change site to https to avoid a redirection.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoxvisor: fix bogus check on XVISOR_ARCH
Thomas Petazzoni [Thu, 6 Jul 2017 09:42:29 +0000 (11:42 +0200)]
xvisor: fix bogus check on XVISOR_ARCH

The XVISOR_ARCH check added in commit
117fd5dfbc756c4f2b4aef97fc2b568528c66df7 ("xvisor: fix build on
AArch64") broke Buildroot entirely on all architectures except ARM,
AArch64 and x86-64, because the $(error ...) test was not enclosed
inside a condition that made sure the xvisor package was enabled.

This commit fixes that, and allows Buildroot to be usable again on all
architectures.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agotoolchain-external: drop reference to non-existing variable
Baruch Siach [Thu, 6 Jul 2017 04:28:00 +0000 (07:28 +0300)]
toolchain-external: drop reference to non-existing variable

Commit 32bec8ee2fb0 (toolchain-external: copy ld*.so* for all C libraries)
removed the definition of TOOLCHAIN_EXTERNAL_MUSL_LD_LINK. Remove also the
reference to it.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agotoolchain: replace absolute symlinks by relative symlinks during sysroot copy
Thomas Petazzoni [Wed, 5 Jul 2017 21:08:03 +0000 (23:08 +0200)]
toolchain: replace absolute symlinks by relative symlinks during sysroot copy

In commit 32bec8ee2fb00c6750fa842bbb0eb79b0c081fa2
("toolchain-external: copy ld*.so* for all C libraries") we changed
how the musl dynamic linker symbolic link was being created. Instead
of having specific logic in Buildroot, we switched to simply copying
the ld*.so.* symbolic link from staging to target, as well as the
target of this symbolic link.

However, it turns out that by default, musl creates its dynamic linker
symbolic link with an absolute path as the target of the link:
/lib/libc.so.

Therefore, external Musl toolchains built with Buildroot look like
this:

  lrwxrwxrwx 1 thomas thomas      12 Jul  4 19:46 ld-musl-armhf.so.1 -> /lib/libc.so

The principle of the copy_toolchain_lib_root function, which is used
to copy libraries from staging to target, is to copy symbolic links
and follow their targets. In this case, it means we end up copying
/lib/libc.so (from the host machine) into the target folder. From
there on, there are two cases:

 1. /lib/libc.so exists in your host system. It gets copied to the
    target. But later on, Buildroot also copies /lib/libc.so from
    staging to target, overwriting the bogus libc.so. So everything
    works fine, even though it's admittedly ugly.

 2. /lib/libc.so doesn't exist in your host system. In this case, the
    build fails with no clear error message.

This problem does not happen with Musl toolchains built by
Crosstool-NG, because Crosstool-NG replaces the absolute target of the
dynamic linker symbolic link by a relative path.

However, since we want to support existing Buildroot Musl toolchains
and generally work with the fact that Musl by default installs an
absolute symlink, the following commit improves the
copy_toolchain_sysroot function to replace symbolic links with an
absolute destination to use a relative destination. I.e, in staging,
the ld-musl-armhf.so.1 symbolic link looks like this:

lrwxrwxrwx 1 thomas thomas 14 Jul  5 22:59 output/staging/lib/ld-musl-armhf.so.1 -> ../lib/libc.so

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoxvisor: fix build on AArch64
Thomas Petazzoni [Wed, 5 Jul 2017 20:30:55 +0000 (22:30 +0200)]
xvisor: fix build on AArch64

Xvisor was failing to build on AArch64 with:

package/xvisor/xvisor.mk:60: *** No Xvisor defconfig name specified, check your BR2_PACKAGE_XVISOR_DEFCONFIG setting.  Stop.

The first problem is that the Config.in file had a typo: it was using
BR2_AARCH64 instead of BR2_aarch64, and therefore the
BR2_PACKAGE_XVISOR_DEFCONFIG variable had no value.

Once this is fixed, another problem occurs: the ARCH variable needs to
be specified as "arm" for XVisor, for both ARM and AArch64. Therefore,
a XVISOR_ARCH variable is introduced, which is calculated according to
the Buildroot configuration options. Only x86-64, arm and aarch64 are
supported by Xvisor currently, so it remains simple.

Fixes:

  http://autobuild.buildroot.net/results/1719a63ff257f13634a06a14327abfb327984101/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agocxxtest: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:27 +0000 (20:25 +0530)]
cxxtest: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agonanomsg: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:26 +0000 (20:25 +0530)]
nanomsg: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogupnp-av: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:25 +0000 (20:25 +0530)]
gupnp-av: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogupnp: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:24 +0000 (20:25 +0530)]
gupnp: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogssdp: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:23 +0000 (20:25 +0530)]
gssdp: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogflags: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:22 +0000 (20:25 +0530)]
gflags: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoglog: add hash for license file
Rahul Bedarkar [Wed, 5 Jul 2017 14:55:21 +0000 (20:25 +0530)]
glog: add hash for license file

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/kvazaar: disable on PowerPC, PowerPC64 and PowerPC64le
Romain Naour [Wed, 5 Jul 2017 09:42:30 +0000 (11:42 +0200)]
package/kvazaar: disable on PowerPC, PowerPC64 and PowerPC64le

kvazaar is affected by three different build issues on PowerPC and
related architectures:

 - On PowerPC64, the build fails due to the use of a deprecated
   vec_lvsl() function:

strategies/altivec/picture-altivec.c: In function ‘reg_sad_altivec’:
strategies/altivec/picture-altivec.c:43:5: error: vec_lvsl is deprecated for little endian; use assignment for unaligned loads and stores [-Werror=deprecated]
perm1 = vec_lvsl(0, &data1[y * stride1]);
^~~~~

   This bug has been reported upstream at:
   https://github.com/ultravideo/kvazaar/issues/172

 - On PowerPC 8548, the build fails due to mixing AltiVec and E500
   instructions:

strategies/altivec/picture-altivec.c:1:0: error: AltiVec and E500 instructions cannot coexist

   This bug has been reported upstream at:
   https://github.com/ultravideo/kvazaar/issues/173

 - On PowerPC e500mc, because Altivec is not supported on this target:

strategies/altivec/picture-altivec.c:1:0: error: AltiVec not supported in this target

   This bug has been reported upstream at:
   https://github.com/ultravideo/kvazaar/issues/174

Fixes:

  http://autobuild.buildroot.net/results/486/486757f04bc73736b64d18c3298216280be897b1
  http://autobuild.buildroot.net/results/45d/45d22c9f2f5b593bed286319105c82cbc3396835
  http://autobuild.buildroot.net/results/76c/76c76191f84748326d76fe0cc89456a72738a06b

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolinux: bump default version to 4.11.9
Bernd Kuhls [Wed, 5 Jul 2017 16:37:56 +0000 (18:37 +0200)]
linux: bump default version to 4.11.9

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agolinux-headers: bump 4.{4,9,11}.x series
Bernd Kuhls [Wed, 5 Jul 2017 16:37:55 +0000 (18:37 +0200)]
linux-headers: bump 4.{4,9,11}.x series

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoDEVELOPERS: Add Adrian Perez de Castro for webkitgtk
Adrián Pérez de Castro [Wed, 5 Jul 2017 17:20:26 +0000 (20:20 +0300)]
DEVELOPERS: Add Adrian Perez de Castro for webkitgtk

[Peter: reword commit message]
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoboard: Add nanopi-m1 Support
Chakra Divi [Wed, 5 Jul 2017 16:04:15 +0000 (21:34 +0530)]
board: Add nanopi-m1 Support

Add initial support for nanopi-m1 board
with below features
- U-Boot 2017.07-rc1
- Linux 4.11.5
- Default packages from buildroot

Signed-off-by: Chakra Divi <chakra@openedev.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agotoolchain/helpers.mk: fix creation of DESTDIR in copy_toolchain_lib_root
Arnout Vandecappelle [Wed, 5 Jul 2017 14:54:18 +0000 (16:54 +0200)]
toolchain/helpers.mk: fix creation of DESTDIR in copy_toolchain_lib_root

In commit b3cc7e65ee, the definition of the DESTDIR variable was moved
down into the loop that follows symlinks in the libraries that are
copied to target. However, the corresponding mkdir was not moved down,
so that no directories are ever created.

In practice, this mkdir is normally redundant since the directories
should already have been created as part of creating STAGING_DIR.
Still, the current situation is clearly wrong, so fix it by moving the
mkdir down to after the assignment to DESTDIR.

While we're at it, also remove a redundant empty line. It's a leftover
from when a lot of variables were declared above.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agowebkitgtk: bump to version 2.16.5
Adrián Pérez de Castro [Wed, 5 Jul 2017 14:33:03 +0000 (17:33 +0300)]
webkitgtk: bump to version 2.16.5

This simply updates to the latest stable release. WebKitGTK+ versions
in the 2.1x series avoid bumping the dependencies in order to allow
distributions to provide updates, therefore no new dependencies are
needed.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoCHANGES: update with removal of $(HOST_DIR)/usr
Arnout Vandecappelle [Wed, 5 Jul 2017 12:09:50 +0000 (14:09 +0200)]
CHANGES: update with removal of $(HOST_DIR)/usr

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agocheck-host-rpath: no longer allow $(HOST_DIR)/usr
Arnout Vandecappelle [Wed, 5 Jul 2017 12:09:49 +0000 (14:09 +0200)]
check-host-rpath: no longer allow $(HOST_DIR)/usr

Now all packages have been updated to install things in $(HOST_DIR)/lib
instead of $(HOST_DIR)/usr/lib, there should no longer be any reason
to have $(HOST_DIR)/usr/lib in the RPATH, so we don't allow it any more.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agosupport/testing: remove references to host/usr
Arnout Vandecappelle [Wed, 5 Jul 2017 12:09:48 +0000 (14:09 +0200)]
support/testing: remove references to host/usr

The tools are now installed in host/bin instead of host/usr/bin.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolibpwquality: Link with zlib when required in static builds
Stefan Sørensen [Wed, 5 Jul 2017 10:45:18 +0000 (12:45 +0200)]
libpwquality: Link with zlib when required in static builds

Fixes:

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

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolegal-info: add hash for our own license file
Yann E. MORIN [Wed, 5 Jul 2017 11:20:43 +0000 (13:20 +0200)]
legal-info: add hash for our own license file

This silences the annoying warning that there is no hash file for our
own COPYING file.

Also change the message so that it is more obvious what we're doing.

Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoConfig.in: add BR2_HOST_GCC_AT_LEAST_7
Adrián Pérez de Castro [Wed, 5 Jul 2017 13:06:33 +0000 (16:06 +0300)]
Config.in: add BR2_HOST_GCC_AT_LEAST_7

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopciutils: bump to version 3.5.5
Fabio Estevam [Wed, 5 Jul 2017 13:49:42 +0000 (10:49 -0300)]
pciutils: bump to version 3.5.5

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoexecline: remove --shebangdir configure option
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:53 +0000 (13:14 +0200)]
execline: remove --shebangdir configure option

The host build passes the --shebangdir configure option, the target
build doesn't.  With the removal of $(HOST_DIR)/usr, it is not clear
if this should be /bin or /usr/bin or $(HOST_DIR)/bin. Looking at the
source code, it turns out that this variable is not used at all, and
/usr/bin doesn't appear anywhere in the installed files.

Since it is not clear what this option should be set to, and it
anyway doesn't do anything, remove it entirely.

Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopolicycoreutils: rework host installation
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:52 +0000 (13:14 +0200)]
policycoreutils: rework host installation

policycoreutils has a pretty peculiar interpretation of DESTDIR and
PREFIX.  PREFIX is not consistently used: some installation paths and
include paths are forced to $(DESTDIR)/usr/... . In other cases,
PREFIX is indeed used. PREFIX defaults to $(DESTDIR)/usr

Try to be a little bit more correct by passing both DESTDIR and PREFIX,
both set to $(HOST_DIR). This is not a complete fix: some things are
still installed in $(HOST_DIR)/usr - but nothing we care about (just
manpages, systemd services, ...). More importantly, however, it still
looks for e.g. D-Bus in $(DESTDIR)/usr/include/dbus-1.0.

Still, it's better than nothing.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agocheckpolicy: rework host installation
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:51 +0000 (13:14 +0200)]
checkpolicy: rework host installation

checkpolicy has a pretty peculiar interpretation of DESTDIR and PREFIX.
PREFIX simply defaults to $(DESTDIR)/usr, and is used in the rest of
the build system. DESTDIR isn't used any further.

For the host installation, we don't want the usr part, so set PREFIX
instead of DESTDIR.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolibselinux: rework host installation
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:50 +0000 (13:14 +0200)]
libselinux: rework host installation

libselinux has a pretty peculiar interpretation of DESTDIR and PREFIX.
PREFIX is not consistently used: some installation paths are forced to
$(DESTDIR)/usr/... . In other cases, PREFIX is indeed used. PREFIX
defaults to $(DESTDIR)/usr.

Try to be a little bit more correct by passing both DESTDIR and PREFIX,
both set to $(HOST_DIR). This is not a complete fix: man pages are
still installed in $(HOST_DIR)/usr - but we don't care about that.

Also simplify the symlink creation, like how it's done in libsepol.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolibsemanage: rework host installation
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:49 +0000 (13:14 +0200)]
libsemanage: rework host installation

libsemanage has a pretty peculiar interpretation of DESTDIR and PREFIX.
PREFIX is not consistently used: some installation paths are forced to
$(DESTDIR)/usr/... . In other cases, PREFIX is indeed used. PREFIX
defaults to $(DESTDIR)/usr

Try to be a little bit more correct by passing both DESTDIR and PREFIX,
both set to $(HOST_DIR). This is not a complete fix: man pages are
still installed in $(HOST_DIR)/usr - but we don't care about that.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agosepolgen: strip /usr/ part from HOST_DIR
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:48 +0000 (13:14 +0200)]
sepolgen: strip /usr/ part from HOST_DIR

sepolgen is a bit weird: DESTDIR acts as a kind of prefix, PYTHONLIBDIR
is relative to it (and a / is added between them).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Adam Duskett <aduskett@codeblue.com>
Cc: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
Cc: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agogrub2: install in $(HOST_DIR) instead of $(HOST_DIR)/usr
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:47 +0000 (13:14 +0200)]
grub2: install in $(HOST_DIR) instead of $(HOST_DIR)/usr

grub2 builds for the target but installs with DESTDIR=$(HOST_DIR). Since
we set prefix to /usr in TARGET_CONF_OPTS, this results in installing
things in $(HOST_DIR)/usr.

To make sure we don't install in $(HOST_DIR)/usr, override --prefix and
--exec-prefix.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoimx-uxb-loader: use prefix instead of DESTDIR for host installation
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:46 +0000 (13:14 +0200)]
imx-uxb-loader: use prefix instead of DESTDIR for host installation

prefix defaults to /usr, so setting DESTDIR installs things in
$(HOST_DIR)/usr.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agodos2unix: use prefix instead of DESTDIR for host installation
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:45 +0000 (13:14 +0200)]
dos2unix: use prefix instead of DESTDIR for host installation

prefix defaults to /usr, so setting DESTDIR installs things in
$(HOST_DIR)/usr.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoraspberrypi-usbboot: remove /usr from DESTDIR-based install commands
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:44 +0000 (13:14 +0200)]
raspberrypi-usbboot: remove /usr from DESTDIR-based install commands

We have a patch that adds $(DESTDIR) to the install commands of
raspberrypi-usbboot, but it would still be installed in $(DESTDIR)/usr.
We don't want that, so remove the /usr part in the installation
commands.

Note that upstream has removed the 'install' target entirely, so
there's no point trying to keep the patch in upstreamable shape (i.e.
defaulting DESTDIR to /usr).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoopkg-utils: use $(HOST_DIR) as PREFIX instead of DESTDIR
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:43 +0000 (13:14 +0200)]
opkg-utils: use $(HOST_DIR) as PREFIX instead of DESTDIR

... and remove the /usr prefix

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolzip: use $(HOST_DIR) as prefix instead of DESTDIR
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:42 +0000 (13:14 +0200)]
lzip: use $(HOST_DIR) as prefix instead of DESTDIR

... and remove the /usr prefix

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolibcap: use $(HOST_DIR) as prefix instead of DESTDIR
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:41 +0000 (13:14 +0200)]
libcap: use $(HOST_DIR) as prefix instead of DESTDIR

... and also remove the /usr prefix.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agogenromfs: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:40 +0000 (13:14 +0200)]
genromfs: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix

genromfs is special because it uses "PREFIX" in the meaning of DESTDIR
and "prefix" in the meaning of prefix. We were up to know using it
incorrectly for host: PREFIX shouldn't be set and only prefix should
be set.

Add an explanatory comment for this unusual behaviour.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolibffi: avoid $(HOST_DIR)/usr while moving headers
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:39 +0000 (13:14 +0200)]
libffi: avoid $(HOST_DIR)/usr while moving headers

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoboard/csky: remove host/usr reference from readme.txt
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:38 +0000 (13:14 +0200)]
board/csky: remove host/usr reference from readme.txt

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoboard/gdb/bfin-bf512: remove host/usr reference from readme.txt
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:37 +0000 (13:14 +0200)]
board/gdb/bfin-bf512: remove host/usr reference from readme.txt

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolesstif: remove host/usr reference from .mk comment
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:36 +0000 (13:14 +0200)]
lesstif: remove host/usr reference from .mk comment

While we're at it, correct it to $(HOST_DIR).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agomfgtools: remove host/usr reference from readme.txt
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:35 +0000 (13:14 +0200)]
mfgtools: remove host/usr reference from readme.txt

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolttng-tools: remove host/usr reference from help text
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:34 +0000 (13:14 +0200)]
lttng-tools: remove host/usr reference from help text

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agogrub2: remove host/usr reference from help text
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:33 +0000 (13:14 +0200)]
grub2: remove host/usr reference from help text

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agomanual: remove references to host/usr paths
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:32 +0000 (13:14 +0200)]
manual: remove references to host/usr paths

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoeclipse-register-toolchain: toolchain is no longer installed in $(HOST_DIR)/usr
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:31 +0000 (13:14 +0200)]
eclipse-register-toolchain: toolchain is no longer installed in $(HOST_DIR)/usr

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agostm32f469-disco: replace $HOST_DIR/usr with $HOST_DIR in flash script
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:30 +0000 (13:14 +0200)]
stm32f469-disco: replace $HOST_DIR/usr with $HOST_DIR in flash script

Manual change because the script uses ${OUTPUT_DIR}/host instead of
${HOST_DIR}.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agostm32f429-disco: replace $HOST_DIR/usr with $HOST_DIR in flash script
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:29 +0000 (13:14 +0200)]
stm32f429-disco: replace $HOST_DIR/usr with $HOST_DIR in flash script

Manual change because the script uses ${OUTPUT_DIR}/host instead of
${HOST_DIR}.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agowarpboard: remove $(HOST_DIR)/usr reference from README
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:28 +0000 (13:14 +0200)]
warpboard: remove $(HOST_DIR)/usr reference from README

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agochromebook snow: remove $(HOST_DIR)/usr reference from README
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:27 +0000 (13:14 +0200)]
chromebook snow: remove $(HOST_DIR)/usr reference from README

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoboards: replace $HOST_DIR/usr/ with $HOST_DIR/ in scripts
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:26 +0000 (13:14 +0200)]
boards: replace $HOST_DIR/usr/ with $HOST_DIR/ in scripts

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l 'HOST_DIR}\?/usr/' board | xargs sed -i 's%\(HOST_DIR}\?\)/usr/%\1/%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoqt: fix up alignment after mechanical replacement
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:25 +0000 (13:14 +0200)]
qt: fix up alignment after mechanical replacement

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoGlobally replace $(HOST_DIR)/usr with $(HOST_DIR)
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:24 +0000 (13:14 +0200)]
Globally replace $(HOST_DIR)/usr with $(HOST_DIR)

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '\$(HOST_DIR)/usr' | xargs sed -i 's%\$(HOST_DIR)/usr%$(HOST_DIR)%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoGlobally replace $(HOST_DIR)/usr/share with $(HOST_DIR)/share
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:23 +0000 (13:14 +0200)]
Globally replace $(HOST_DIR)/usr/share with $(HOST_DIR)/share

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/share' | xargs sed -i 's%$(HOST_DIR)/usr/share%$(HOST_DIR)/share%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoGlobally replace $(HOST_DIR)/usr/include with $(HOST_DIR)/include
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:22 +0000 (13:14 +0200)]
Globally replace $(HOST_DIR)/usr/include with $(HOST_DIR)/include

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/include' | xargs sed -i 's%$(HOST_DIR)/usr/include%$(HOST_DIR)/include%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoGlobally replace $(HOST_DIR)/usr/lib with $(HOST_DIR)/lib
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:21 +0000 (13:14 +0200)]
Globally replace $(HOST_DIR)/usr/lib with $(HOST_DIR)/lib

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/lib' | xargs sed -i 's%$(HOST_DIR)/usr/lib%$(HOST_DIR)/lib%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoGlobally replace $(HOST_DIR)/usr/sbin with $(HOST_DIR)/sbin
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:20 +0000 (13:14 +0200)]
Globally replace $(HOST_DIR)/usr/sbin with $(HOST_DIR)/sbin

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/sbin' | xargs sed -i 's%$(HOST_DIR)/usr/sbin%$(HOST_DIR)/sbin%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoGlobally replace $(HOST_DIR)/usr/bin with $(HOST_DIR)/bin
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:19 +0000 (13:14 +0200)]
Globally replace $(HOST_DIR)/usr/bin with $(HOST_DIR)/bin

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/bin' | xargs sed -i 's%$(HOST_DIR)/usr/bin%$(HOST_DIR)/bin%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agogeneric packages: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Arnout Vandecappelle [Wed, 5 Jul 2017 11:14:18 +0000 (13:14 +0200)]
generic packages: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix

Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

This is a mechanical change with
git grep -l '\$(HOST_DIR)/usr' | xargs sed -i 's%\(prefix\|PREFIX\)=\("\?\)\$(HOST_DIR)/usr%\1=\2$(HOST_DIR)%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopackage/pulseaudio: update the condition on NLS
Romain Naour [Wed, 5 Jul 2017 11:22:04 +0000 (13:22 +0200)]
package/pulseaudio: update the condition on NLS

Since the BR2_SYSTEM_ENABLE_NLS has been introduced [1], the
NLS support can be disabled when BR2_ENABLE_LOCALE is enabled.

So change BR2_ENABLE_LOCALE by BR2_SYSTEM_ENABLE_NLS and while
at it use a positive logic.

Fixes:
[nios2]  http://autobuild.buildroot.net/results/b69/b69c347e2866a97cc2c5d4844d567c4448592d72
[xtensa] http://autobuild.buildroot.net/results/b63/b63fd204fe36200ed5de70fff23cb59cf2bc778c

[1] dc057d2865afafbf76c2bc2685d2dfe852ba7c54

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopackage/pulseaudio: remove kde files
Romain Naour [Wed, 5 Jul 2017 11:22:03 +0000 (13:22 +0200)]
package/pulseaudio: remove kde files

Upstream removed the src/daemon/pulseaudio-kde.desktop.in since the
version 6.0 [1].

[1] https://github.com/pulseaudio/pulseaudio/commit/f46799579f438125b695dced4edf8bca05cbe90a

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agonginx: bump to version 1.12.0
Adam Duskett [Tue, 4 Jul 2017 17:20:08 +0000 (13:20 -0400)]
nginx: bump to version 1.12.0

Also update the patch line numbers to work with 1.12.0

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agobusybox: disable CONFIG_FEATURE_CLEAN_UP in default configs
Peter Korsgaard [Wed, 5 Jul 2017 09:34:54 +0000 (11:34 +0200)]
busybox: disable CONFIG_FEATURE_CLEAN_UP in default configs

FEATURE_CLEAN_UP is a configuration feature to get busybox to explicitly
call free() on dynamic allocated memory just before exiting so memory leak
detectors like valgrind don't get confused.  Upstream explicitly recommends
to NOT enable this option:

config FEATURE_CLEAN_UP
bool "Clean up all memory before exiting (usually not needed)"
default n
help
  As a size optimization, busybox normally exits without explicitly
  freeing dynamically allocated memory or closing files. This saves
  space since the OS will clean up for us, but it can confuse debuggers
  like valgrind, which report tons of memory and resource leaks.

  Don't enable this unless you have a really good reason to clean
  things up manually.

Having this option enabled adds a bit of bloat, but more significantly these
cleanup code paths don't get tested very often so some times get out of sync
with the allocation code which can lead to crashes (or security issues from
double frees), so it is safer to disable the option.

For people wanting to debug memory leak issues with busybox, the option can
still be enabled with a configuration fragment (or a custom config).

The size difference isn't huge (br-arm-full-static):

-rwxr-xr-x 1 peko peko 886K Jul  5 10:56 output-busybox1/target/bin/busybox
-rwxr-xr-x 1 peko peko 882K Jul  5 10:53 output-busybox2/target/bin/busybox

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agotoolchain/helpers.mk: simplify ld.so fixup in copy_toolchain_sysroot
Thomas Petazzoni [Wed, 5 Jul 2017 10:10:50 +0000 (12:10 +0200)]
toolchain/helpers.mk: simplify ld.so fixup in copy_toolchain_sysroot

In copy_toolchain_sysroot, if no ld.so has been found in the
STAGING_DIR after the sysroot copy, we look at ARCH_SYSROOT_DIR if a
ld.so is available there. We do this for both ld*.so and ld*.so.*.

However, when copying thing from staging to target (as listed in
TOOLCHAIN_EXTERNAL_LIBS), we only match on ld*.so.*. This would mean
that even if a dynamic linker matching ld*.so but not ld*.so.* was
copied into staging by copy_toolchain_sysroot, it would anyway not be
copied to the target filesystem, making the system unusable.

Therefore, we can remove the special case on ld*.so, and keep only
ld*.so.*.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agotoolchain-external: also put libgcc_s.so unconditionally in TOOLCHAIN_EXTERNAL_LIBS
Thomas Petazzoni [Sun, 2 Jul 2017 13:25:03 +0000 (15:25 +0200)]
toolchain-external: also put libgcc_s.so unconditionally in TOOLCHAIN_EXTERNAL_LIBS

libgcc_s.so is now added to TOOLCHAIN_EXTERNAL_LIBS for glibc/uclibc
in one place, and for musl in another place. Bottom line: it should be
in TOOLCHAIN_EXTERNAL_LIBS unconditionally.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agotoolchain-external: copy ld*.so* for all C libraries
Thomas Petazzoni [Sun, 2 Jul 2017 13:14:17 +0000 (15:14 +0200)]
toolchain-external: copy ld*.so* for all C libraries

Currently, for the dynamic loader, we're copying ld*.so* for glibc and
uClibc, except for glibc/EABIhf where we are explicitly copying
ld-linux-armhf.so.*. For musl, we're not copying the dynamic linker
because it's simply a symbolic link to libc.so. However, the name of
the musl dynamic linker changes from one architecture to the other,
and we don't handle all cases.

Since handling the musl dynamic linker symlink creation is becoming
more and more annoying to maintain, this commit makes musl use the
same mechanism as glibc/uClibc: put the dynamic linker in
TOOLCHAIN_EXTERNAL_LIBS.

In addition, the special condition on glibc/EABIhf was added in
11ec38b6950cf3337b52fb97f27c2fd7c776c5c2 ("toolchain-external: fix
Linaro ARM toolchain support") because an old Linaro toolchain had two
dynamic loaders, and we wanted to copy only one. But 1/ this is old
and 2/ having the two dynamic linkers doesn't really matter.

So this commit simply unconditionally adds "ld*.so*" to
TOOLCHAIN_EXTERNAL_LIBS, regardless of the C library being chosen. It
re-uses the musl dynamic linker symlink from the sysroot, which makes
it always correct, and allows us to remove the
TOOLCHAIN_EXTERNAL_MUSL_LD_LINK hook, and all the related logic.

This commit therefore solves two problems with the musl dynamic linker
symbolic link creation logic:

 1 We support all architectures, without having to hardcode in
   Buildroot the mapping between the CPU architecture and the
   corresponding dynamic linker name. For example, our current logic
   was not handling the mips64+n32 ABI case, where the dynamic linker
   is named ld-musl-mipsn32el.so.1.

 2 We support Crosstool-NG musl toolchains, where the dynamic linker
   is in /lib, but libc.so is in /usr/lib.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
This commit therefore replaces:

 - https://patchwork.ozlabs.org/patch/780411/ (was another solution
   for solving problem 1 above)

 - https://patchwork.ozlabs.org/patch/763977/ and
   https://patchwork.ozlabs.org/patch/748974/ (was another solution
   for solving problem 2 above)

6 years agotoolchain/helpers.mk: re-evaluate DESTDIR in copy_toolchain_lib_root
Thomas Petazzoni [Sun, 2 Jul 2017 11:39:35 +0000 (13:39 +0200)]
toolchain/helpers.mk: re-evaluate DESTDIR in copy_toolchain_lib_root

copy_toolchain_lib_root copies libraries from staging to target,
resolving and copying symbolic links along the way.

The most inner loop, a "while" loop, starts from an initial name, and
if it's a symbolic link, gets resolved to the target, and the loop
iterates until we reach a real file. However, the destination folder
where the symbolic link or real file is created is computed in DESTDIR
only once, before this loop starts. Therefore, this loop works fine
when all symbolic links in the chain, and the real file all belong to
the same directory. But it doesn't do the correct thing when the
symbolic link and/or real file are in different folder.

An example is Crosstool-NG musl toolchains, where the dynamic loader
is in /lib/ld-musl*.so but points to ../usr/lib/libc.so. With the
current logic, we copy /lib/ld-musl*.so to /lib, but we also copy
libc.so to /lib instead of the expected /usr/lib.

This currently doesn't cause any problem because the musl dynamic
linker is manually created by the TOOLCHAIN_EXTERNAL_MUSL_LD_LINK
hook. However, this logic has a number of problems, so in a followup
commit, we are going to put the musl dynamic linker in
TOOLCHAIN_EXTERNAL_LIBS, which will cause it to be copied by
copy_toolchain_lib_root. But we obviously want the link and its target
to be copied to the right place, hence this fix.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agosupport/testing: add tests for musl and uclibc toolchains
Thomas Petazzoni [Sun, 2 Jul 2017 09:40:34 +0000 (11:40 +0200)]
support/testing: add tests for musl and uclibc toolchains

These tests simply build a system with musl and uclibc toolchains, and
boot them under qemu. It allows to minimally validate that our support
for musl/uclibc external toolchains is working. We already had some
tests covering glibc toolchains, so we can now easily test that all
three C libraries are supported.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
This commit is part of the series, as I've written/used those tests to
validate that things are still working correctly with all of glibc,
uclibc and musl toolchains.

6 years agopkg-rebar: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Arnout Vandecappelle [Tue, 4 Jul 2017 14:04:04 +0000 (16:04 +0200)]
pkg-rebar: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix

Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

$(PKG)_ERLANG_LIBDIR is problematic because it is used both for host
and staging/target. Therefore, the usr/ part is removed from it, and
added the the callers instead.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-python: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Arnout Vandecappelle [Tue, 4 Jul 2017 14:04:03 +0000 (16:04 +0200)]
pkg-python: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix

Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

Build-tested with a bunch of python packages.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-cmake: programs are now installed in $(HOST_DIR)/bin
Arnout Vandecappelle [Tue, 4 Jul 2017 14:04:02 +0000 (16:04 +0200)]
pkg-cmake: programs are now installed in $(HOST_DIR)/bin

Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-cmake: move configuration files out of $(HOST_DIR)/usr
Arnout Vandecappelle [Tue, 4 Jul 2017 14:04:01 +0000 (16:04 +0200)]
pkg-cmake: move configuration files out of $(HOST_DIR)/usr

Move toolchainfile.cmake and Buildroot.cmake from
$(HOST_DIR)/usr/share/buildroot to $(HOST_DIR)/share/buildroot.

Build-tested with a bunch of cmake packages.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-cmake: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Arnout Vandecappelle [Tue, 4 Jul 2017 14:04:00 +0000 (16:04 +0200)]
pkg-cmake: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix

Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

Build-tested with a bunch of cmake packages.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopkg-autotools: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:59 +0000 (16:03 +0200)]
pkg-autotools: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix

Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

Build-tested with a bunch of autotools packages.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agogcc-final: things are no longer installed in $(HOST_DIR)/usr
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:58 +0000 (16:03 +0200)]
gcc-final: things are no longer installed in $(HOST_DIR)/usr

Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agogdb: Remove /usr part from installation path of gdbserver
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:57 +0000 (16:03 +0200)]
gdb: Remove /usr part from installation path of gdbserver

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopackage/Makefile.in: remove $(HOST_DIR)/usr part from HOST_LDFLAGS
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:56 +0000 (16:03 +0200)]
package/Makefile.in: remove $(HOST_DIR)/usr part from HOST_LDFLAGS

Now $(HOST_DIR)/lib and $(HOST_DIR)/usr/lib are the same directory, it
doesn't make sense to pass both to LDFLAGS.

Also use $(HOST_DIR)/lib instead of $(HOST_DIR)/usr/lib for the RPATH.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoMakefile: remove $(HOST_DIR)/usr from BR_PATH
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:55 +0000 (16:03 +0200)]
Makefile: remove $(HOST_DIR)/usr from BR_PATH

Now $(HOST_DIR)/usr is a symlink to $(HOST_DIR), it makes no sense to
still have it in BR_PATH.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agocheck-host-rpath: no longer check $(HOST_DIR)/usr/{bin, sbin}
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:54 +0000 (16:03 +0200)]
check-host-rpath: no longer check $(HOST_DIR)/usr/{bin, sbin}

Since $(HOST_DIR)/usr/{bin,sbin} are now symlinks to
$(HOST_DIR)/{bin,sbin}, it makes no sense to check them - they are
already covered.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoEliminate $(HOST_DIR)/usr
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:53 +0000 (16:03 +0200)]
Eliminate $(HOST_DIR)/usr

We currently use $(HOST_DIR)/usr as the prefix for host packages. That
has a few disadvantages:

- There are some things installed in $(HOST_DIR)/etc and
  $(HOST_DIR)/sbin, which is inconsistent.

- To pack a buildroot-built toolchain into a tarball for use as an
  external toolchain, you have to pack output/host/usr instead of the
  more obvious output/host.

- Because of the above, the internal toolchain wrapper breaks which
  forces us to work around it (call the actual toolchain executable
  directly). This is OK for us, but when used in another build system,
  that's a problem.

- Paths are four characters longer.

To allow us to gradually eliminate $(HOST_DIR)/usr while building
packages, replace it with a symlink to .

The symlinks from $(HOST_DIR)/usr/$(GNU_TARGET_NAME) and
$(HOST_DIR)/usr/lib that were added previously are removed again.

Note that the symlink creation will break when $(HOST_DIR)/usr
already exists as a directory, i.e. when rebuilding in an existing
output directory. This is necessary: if we don't break it now, the
following commits (which remove the usr part from various variables)
_will_ break it.

At the same time as creating this symlink, we have to update the
external toolchain wrapper and the external toolchain symlinks to go
one directory less up. Indeed, $(HOST_DIR) is one level less up than
it was before.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoMove $(HOST_DIR)/usr/lib to $(HOST_DIR)/lib
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:52 +0000 (16:03 +0200)]
Move $(HOST_DIR)/usr/lib to $(HOST_DIR)/lib

This is a step towards eliminating $(HOST_DIR)/usr. It allows us to
convert all packages installing things into $(HOST_DIR)/usr/lib without
affecting the rest.

To allow compatibility with packages that still use $(HOST_DIR)/usr as
the prefix, create a symlink from usr/lib to ../lib.

Note that the symlink creation will break when $(HOST_DIR)/usr/lib
already exists as a directory, i.e. when rebuilding in an existing
output directory. This is necessary: if we don't break it now, the
following commits (which remove the usr part from various variables)
_will_ break it.

At the same time as creating this symlink, we also have to update the
check-host-rpath script to accept both $(HOST_DIR)/usr/lib and
$(HOST_DIR)/lib, because depending on how the package derives the
path, it may be different.

Since there are some dependency chains that involve $(STAGING_DIR),
$(STAGING_DIR) may in fact be created before $(HOST_DIR). Since
$(STAGING_DIR) is a subdirectory of $(HOST_DIR), it is possible that the
newly added rule for $(HOST_DIR) never triggers. To make sure that the
rule does trigger, add an order-only dependency from $(STAGING_DIR) to
$(HOST_DIR).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoMove $(HOST_DIR)/usr/$(GNU_TARGET_NAME) one level up.
Arnout Vandecappelle [Tue, 4 Jul 2017 14:03:51 +0000 (16:03 +0200)]
Move $(HOST_DIR)/usr/$(GNU_TARGET_NAME) one level up.

This is a step towards eliminating $(HOST_DIR)/usr. It allows us to
convert all packages installing things into
$(HOST_DIR)/usr/$(GNU_TARGET_NAME) (i.e., binutils and gcc) without
affecting the rest.

To allow compatibility with packages that still use $(HOST_DIR)/usr as
the prefix, create a symlink from usr/$(GNU_TARGET_NAME) to
../$(GNU_TARGET_NAME).

Note that the symlink creation will break when $(HOST_DIR)/usr/lib
already exists as a directory, i.e. when rebuilding in an existing
output directory. This is necessary: if we don't break it now, the
following commits (which remove the usr part from various variables)
_will_ break it.

Effectively, the usr/ part is removed from $(STAGING_SUBDIR) (and
therefore from $(STAGING_DIR)), so update the definition of that
variable right away.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolibzip: depend on !BR2_STATIC_LIBS
Bartosz Golaszewski [Wed, 5 Jul 2017 07:56:20 +0000 (09:56 +0200)]
libzip: depend on !BR2_STATIC_LIBS

Since version 1.2.0 libzip requires dynamic library capabilities. Add
it to Config.in and propagate this dependency to packages selecting
libzip.

Fixes:

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

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agopackage/filemq: bump to the latest master
Romain Naour [Wed, 5 Jul 2017 08:19:57 +0000 (10:19 +0200)]
package/filemq: bump to the latest master

This bump include a patch that fixes a build issue with gcc >= 7.1.

Fixes:
http://autobuild.buildroot.net/results/434/43452430edf44cbcef6ea3a5ab80ac0ff406208f

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agoRevert "package/qt5base: provide "qt.conf" to make "qmake" relocatable"
Thomas Petazzoni [Wed, 5 Jul 2017 09:28:23 +0000 (11:28 +0200)]
Revert "package/qt5base: provide "qt.conf" to make "qmake" relocatable"

This reverts commit a2efb84dec42608e46860a24c31db5a4588edd1e, as it
causes files to be installed in an invalid location, causing build
failures.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 years agolinux-firmware: fix spelling mistake on LICENSE.qcom
Thomas Petazzoni [Wed, 5 Jul 2017 07:50:03 +0000 (09:50 +0200)]
linux-firmware: fix spelling mistake on LICENSE.qcom

Fixes:

  http://autobuild.buildroot.net/results/3a0233f24f0fc643a36ffff10cd725e326009fca/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>