buildroot.git
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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)

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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agoCHANGES: add details on the gettext revamp
Thomas Petazzoni [Tue, 4 Jul 2017 14:20:21 +0000 (16:20 +0200)]
CHANGES: add details on the gettext revamp

The gettext revamp has some user-visible changes, so this commit
updates the CHANGES file to document them.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agodocs/manual: update gettext details
Thomas Petazzoni [Tue, 4 Jul 2017 09:26:28 +0000 (11:26 +0200)]
docs/manual: update gettext details

The way gettext is handled in Buildroot has significantly changed,
with changes visible to packages. This commit updates the relevant
section of the manual to document how packages should now interact
with the gettext support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agotoolchain: drop BR2_NEEDS_GETTEXT{,_IF_LOCALE}
Thomas Petazzoni [Mon, 3 Jul 2017 21:26:03 +0000 (23:26 +0200)]
toolchain: drop BR2_NEEDS_GETTEXT{,_IF_LOCALE}

Now that all packages have been migrated to the new gettext logic, we
can remove the BR2_NEEDS_GETTEXT and BR2_NEEDS_GETTEXT_IF_LOCALE
variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoxmlstarlet: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 21:24:55 +0000 (23:24 +0200)]
xmlstarlet: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoxfsprogs: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 21:24:24 +0000 (23:24 +0200)]
xfsprogs: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
patch and special code that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoutil-linux: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 21:21:43 +0000 (23:21 +0200)]
util-linux: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoqt: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 22:04:42 +0000 (00:04 +0200)]
qt: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the patch
that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopopt: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 22:03:39 +0000 (00:03 +0200)]
popt: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the patch
that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoperl: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 22:03:01 +0000 (00:03 +0200)]
perl: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the patch
that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoparted: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 22:02:26 +0000 (00:02 +0200)]
parted: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the patch
that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agooprofile: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 22:01:44 +0000 (00:01 +0200)]
oprofile: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agonet-tools: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 22:01:03 +0000 (00:01 +0200)]
net-tools: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Patch
0001-Makefile-fix-static-linking-issue-with-lintl.patch was added to
allow passing -lintl through LIBS, in a place that works for static
linking.

However, for dynamic linking, we can simply pass -lintl through the
existing LDFLAGS variable, as it was done prior to commit
38bfd129c64a9cfd82c4fa4c797afadf12a6ffaa ("package/net-tools: fix
static linking issue with lintl").

This commit does that and gets rid of the now useless patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoiputils: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 20:48:47 +0000 (22:48 +0200)]
iputils: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agogptfdisk: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 21:58:53 +0000 (23:58 +0200)]
gptfdisk: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agognuchess: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 21:59:44 +0000 (23:59 +0200)]
gnuchess: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the patch
that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoe2fsprogs: remove libintl static linking handling
Thomas Petazzoni [Mon, 3 Jul 2017 20:45:08 +0000 (22:45 +0200)]
e2fsprogs: remove libintl static linking handling

We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code in e2fsprogs that was handling this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoxscreensaver: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:25:22 +0000 (23:25 +0200)]
xscreensaver: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoxlib_libXpm: use the new gettext logic
Thomas Petazzoni [Tue, 4 Jul 2017 10:35:41 +0000 (12:35 +0200)]
xlib_libXpm: use the new gettext logic

This commit switches to use the new gettext logic, which involves
using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
on gettext/host-gettext.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agowhois: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:23:43 +0000 (23:23 +0200)]
whois: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - using TARGET_NLS_LIBS to force linking against libintl

 - dropping BR2_PACKAGE_GETTEXT selection, which means we no longer
   need to depend on BR2_USE_WCHAR, so this dependency is dropped

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agovim: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:23:10 +0000 (23:23 +0200)]
vim: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agovdr: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:22:43 +0000 (23:22 +0200)]
vdr: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - using TARGET_NLS_LIBS to force linking against libintl

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoutil-linux: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:21:14 +0000 (23:21 +0200)]
util-linux: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - using TARGET_NLS_LIBS to force linking against libintl

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Carlos Santos <casantos@datacom.ind.br>
7 years agoushare: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:20:33 +0000 (23:20 +0200)]
ushare: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - using TARGET_NLS_LIBS to force linking against libintl

 - dropping BR2_PACKAGE_GETTEXT selection

 - using BR2_SYSTEM_ENABLE_NLS instead of BR2_ENABLE_LOCALE to decide
   if NLS support should be enabled or not

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agotpm-tools: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:19:57 +0000 (23:19 +0200)]
tpm-tools: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosysstat: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:19:34 +0000 (23:19 +0200)]
sysstat: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - using TARGET_NLS_LIBS to force linking against libintl

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosshfs: use the new gettext logic
Thomas Petazzoni [Mon, 3 Jul 2017 21:18:59 +0000 (23:18 +0200)]
sshfs: use the new gettext logic

This commit switches to use the new gettext logic, which involves:

 - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
   on gettext/host-gettext

 - dropping BR2_PACKAGE_GETTEXT selection

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosamba4: use the new gettext logic
Thomas Petazzoni [Tue, 4 Jul 2017 10:35:08 +0000 (12:35 +0200)]
samba4: use the new gettext logic

This commit switches to use the new gettext logic, which involves
using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
on gettext/host-gettext.

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