Makefile: declare targets PHONY where they are defined
Currently, a lot of targets are declared PHONY together in the middle
of the Makefile. This has two important shortcomings:
- it is more difficult to see if a target is missing from PHONY;
- it is currently inside the ifeq ($(BR2_HAVE_DOT_CONFIG),y) condition,
but some of these targets are also defined when there is no .config;
in that case, these targets are not declared as PHONY.
Both issues can easily be solved by putting the PHONY declaration next
to the definition of the target.
The noconfig_targets are also all declared PHONY together; however,
for these we anyway have to keep the noconfig_targets variable
up-to-date, and that PHONY declaration is outside all conditions, so
there is no benefit of splitting them.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard [Thu, 15 Jun 2017 09:25:26 +0000 (11:25 +0200)]
configs/pc_x86_64_{bios,efi}_defconfig: use custom linux config
Reusing the qemu x86-64 linux config isn't very obvious, so these defconfigs
aren't taken into consideration when the qemu defconfigs are updated,
breaking the build.
Instead use a custom linux config for the pc defconfigs. With this, we also
can get rid of the fragment file containing the delta fra the qemu config.
Created by linux-update-defconfig (after turning of the fragment file).
Also drop the linux kernel version number from the file name as it just
causes extra noise whenever the kernel is bumped.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard [Wed, 14 Jun 2017 21:36:04 +0000 (23:36 +0200)]
configs/pc_x86_64_{bios, efi}_defconfig: unbreak after qemu bump to linux-4.11
The pc_x86_64 defconfigs reuse the linux configuration from qemu_x86_64, but
they weren't adjusted when this was updated to use linux-4.11 in 28d97609b25
(configs/qemu: bump to the latest kernel version), breaking the build.
Fix it by also moving them to linux-4.11.x.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Baruch Siach [Wed, 14 Jun 2017 18:18:34 +0000 (21:18 +0300)]
gnutls: security bump to version 3.5.13
Fixes CVE-2017-7507: decoding a status request TLS extension that has a
non-empty responder IDs list could lead to a crash due to a null pointer
dereference.
Jagan Teki [Mon, 12 Jun 2017 18:21:41 +0000 (23:51 +0530)]
board: Add support for Engicam i.CoreM6 Quad/Dual boards
Add initial support for Engicam i.CoreM6 Quad/Dual board
with below features:
- U-Boot 2017.05
- Linux 4.11
- Default packages from buildroot
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Mon, 5 Jun 2017 20:46:48 +0000 (22:46 +0200)]
package/gdb: add support for gdb 8.0
Add a dependency on gcc >= 4.8 since gdb needs a C++11 compiler.
Remove included patch since 7.12.1:
0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=d274ecf4ddf76768af57e27f654b9ce6784b391c
Rebase remaining patches:
0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
See https://sourceware.org/ml/gdb-announce/2017/msg00003.html
Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a small patch to gdb that fixes the build of gdbserver
on m68k/coldfire:
../nat/linux-ptrace.c: In function 'linux_fork_to_function':
../nat/linux-ptrace.c:282:19: warning: implicit declaration of function 'clone' [-Wimplicit-function-declaration]
child_pid = clone (function, child_stack + STACK_SIZE,
^
../nat/linux-ptrace.c:283:5: error: 'CLONE_VM' undeclared (first use in this function)
CLONE_VM | SIGCHLD, child_stack + STACK_SIZE * 2);
^
../nat/linux-ptrace.c:283:5: note: each undeclared identifier is reported only once for each function it appears in
Thanks to Waldemar for pointing out the patch fixing this issue.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- New patch in the series
gdbserver's code looks at both UCLIBC_USE_MMU *and* UCLIBC_HAS_MMU to
decide whether to enable the no-MMU code. So far, on noMMU platforms,
UCLIBC_HAS_MMU was still set to 'y'. This commit adjusts this, which is
a step forward in getting gdbserver to build on m68k/coldfire.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- New patch in the series
gcc: add patch to support musl on SuperH in gcc 5.x
Building a toolchain for SuperH/musl works, but the toolchain generate
bogus binaries, because the path to the program interpreter is not
known (and therefore is /dev/null).
This commit backports a patch from gcc 6.x to make SuperH support with
musl work properly.
The patch is not needed in gcc >= 6.x because the musl support is
upstream. The patch is not needed for gcc 4.9 because we had a
different musl support patch that had support for all architectures in
one patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- New patch in the series
gdb: add patches to fix musl build on ppc(64)(le) and sh
This commit small patches to gdb that fix redefined structures build
problems that occur when building on PowerPC, PowerPC64, PowerPC64le and
SuperH with the musl C library.
The PowerPC(64)(le) patch was taken from the Yocto Project, the SuperH
patch was inspired from the PowerPC patch. The issue has also been
reported upstream to the musl developers:
http://www.openwall.com/lists/musl/2017/06/03/1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- None
Neither gdb nor gdbserver have support for ARM noMMU and OpenRISC, so
let's disable gdb on those architectures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- Fixed BR2_openrisc to BR2_or1k in Config.in.host
Changes since v1:
- Fixed BR2_openrisc to BR2_or1k
Before adding more architecture dependencies to gdb, let's introduce a
BR2_PACKAGE_GDB_ARCH_SUPPORTS, to avoid duplicating this list of
dependencies between the Config.in comment and the main Config.in
option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- None
Romain Naour [Sun, 11 Jun 2017 13:13:17 +0000 (15:13 +0200)]
package/lcdproc: override libpng-config path
Like for freetype-config, override libpng-config path otherwise
the one from the host system may be used when installed.
Make sure that the one from STAGING_DIR is used.
configure:7480: checking for libpng-config
configure:7498: found /usr/bin/libpng-config
configure:7510: result: /usr/bin/libpng-config
configure:7529: checking whether libpng is present and sane
[...]
nios2-linux-gnu-gcc: ERROR: unsafe header/library path used in cross-compilation: '-I/usr/include/libpng12'
Romain Naour [Sun, 11 Jun 2017 13:13:16 +0000 (15:13 +0200)]
package/lcdproc: override freetype-config path
freetype-config from the host system may be used when installed.
Make sure that the one from STAGING_DIR is used.
checking if freetype support has been enabled... yes
checking for freetype-config... /usr/bin/freetype-config
checking for FreeType -- version >= 7.0.1... cross compiling; assuming OK... yes
Jörg Krause [Thu, 8 Jun 2017 07:03:44 +0000 (09:03 +0200)]
intltool: add patch to fix compatibility with Perl 5.26
When Perl 5.26 is installed on the host, building some packages like
avahi fail, because of intltool-update:
```
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at $BUILDROOT/host/usr/bin/intltool-update line 1065.
```
Apparently, this has been a warning before Perl 5.26, but now it is an
error.
Thomas Petazzoni [Sun, 11 Jun 2017 13:21:30 +0000 (15:21 +0200)]
syslinux: add missing dependency on host-util-linux
If util-linux is not installed system-wide on the host, the build
fails with:
/usr/bin/gcc -Wp,-MT,isohybrid.o,-MMD,./.isohybrid.o.d -O2 -I/home/thomas/projets/buildroot/output/host/usr/include -W -Wall -Wstrict-prototypes -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I/home/thomas/projets/buildroot/output/build/syslinux-6.03/utils -c -o isohybrid.o /home/thomas/projets/buildroot/output/build/syslinux-6.03/utils/isohybrid.c
/home/thomas/projets/buildroot/output/build/syslinux-6.03/utils/isohybrid.c:40:23: fatal error: uuid/uuid.h: No such file or directory
#include <uuid/uuid.h>
^
compilation terminated.
Therefore, this commit adds a dependency on host-util-linux, which
will ensure that libuuid is available. The resulting isohybrid tool is
really installed, and linked with libuuid:
$ readelf -d output/host/usr/bin/isohybrid
Dynamic section at offset 0x3e00 contains 26 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libuuid.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000f (RPATH) Library rpath: [/home/thomas/projets/buildroot/output/host/usr/lib]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Andrey Smirnov [Fri, 2 Jun 2017 23:56:46 +0000 (16:56 -0700)]
package/python-ipython-genutils: New package
Add 'ipython_genutils'[1] package to Buildroot. Needed by 'traitlets'.
[1] https://pypi.python.org/pypi/ipython_genutils
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: take into account comments made by Yegor:
- fix alphabetic ordering in the DEVELOPERS file
- fix comment in hash file
- add license file] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Andrey Smirnov [Fri, 2 Jun 2017 23:56:45 +0000 (16:56 -0700)]
package/python-simplegeneric: Switch setup type to 'setuptools'
Specifying setup type to be 'distutils' results in this package being
installed as .egg, a zipped file, which inadvertantly makes
'simplegeneric' to be dependent on BR2_PACKAGE_PYTHON*_ZLIB. In order
to avoid that specify setup type to be 'setuptools' which makes use of
--single-version-externally-managed and therefore installs the package
as .pyc and a .egg-info folder.
barebox: exclude from hash check except for latest version
Instead of excluding the hash specifically for the custom tarball and
custom version cases, exclude it always except in the one case where
we do have a hash: the latest version.
This simplifies the code a little because soon we will add hash checks
for git as well, so we also need an exclusion in that case.
It is not needed to exclude it twice for barebox and barebox-aux,
because they use the same source tarball and barebox-aux can only be
enabled if barebox is enabled. So simplify even further by pulling
the exclusion logic out of inner-barebox-package.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uboot: exclude from hash check except for latest version
Instead of excluding the hash specifically for the custom tarball and
custom version cases, exclude it always except in the one case where
we do have a hash: the latest version.
This simplifies the code a little because soon we will add hash checks
for git as well, so we also need an exclusion in that case.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Although we currently don't have a .hash file for linux-headers, there
already are exclusions for the BR2_KERNEL_HEADERS_AS_KERNEL case (copied
from linux.mk). However, there is no exclusion for the
BR2_KERNEL_HEADERS_VERSION case.
For the BR2_KERNEL_HEADERS_AS_KERNEL case, the exclusion is actually
not needed. Indeed, KERNEL_HEADERS_SOURCE is computed to be the same
value as LINUX_SOURCE, and linux.mk already adds LINUX_SOURCE to
BR_NO_CHECK_HASH_FOR.
For the other cases, we should exclude the BR2_KERNEL_HEADERS_VERSION
case because there the user supplies the version so it can't be
included in the .hash file.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux: exclude from hash check except for latest version
We don't have a hash for any linux version. We currently also don't
have a hash for the latest version, but if we ever add a hash, it
will only be for the latest version.
This simplifies the code a little because soon we will add hash checks
for git as well, so we also need an exclusion in that case. It's much
easier to always exclude except in the single case where we do have a
hash.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Hugues Fruchet [Fri, 9 Jun 2017 12:18:04 +0000 (14:18 +0200)]
package/libv4l: toolchain w/ locale is not mandatory
libv4l package builds fine even if locale is not enabled.
This have been tested with stm32f469_disco_defconfig
enabling build of libv4l package:
+#v4l utilities
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_PACKAGE_LIBV4L=y
+BR2_PACKAGE_LIBV4L_UTILS=y
Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Hugues Fruchet [Fri, 9 Jun 2017 12:18:03 +0000 (14:18 +0200)]
package/libv4l: allow build of v4l2 utilities on noMMU platforms
This commit removes the dependencies on MMU and dynamic libraries.
In order to build v4l2 utilities such as compliancy tools like
v4l2-compliance or cec-compliance, v4-utils can now be built without
dynamic libraries support.
In that case the v4l-utils parts which depends on dynamic library
support are not built:
- libv4l & libv4lconvert libraries
- libv4l plugins
- rds-ctl utility
- contrib test utilities
The rest of the utilities are built.
Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Fri, 9 Jun 2017 19:03:47 +0000 (21:03 +0200)]
package/systemd: fix paths to runtime utilities
systemd's configure is looking in $PATH to find utilities that will be
needed at runtime.
Usually, those utilties, when installed on the host, will be found in
the same path they would be present on the target. For example,
/usr/bin/mount on the host would also be /usr/bin/mount on the target,
and all is find.
Except when we need to install a host variant of util-linux, which will
install mount in $(HOST_DIR), in which case systemd's configure would
find that one.
Of course, it is also very well possible that those utilities are not
installed on the host in the same location they would be on the target,
in case a user has manually installed some of those (e.g. in /usr/local/
or in /opt/)
Forcibly set the path to those utilities, as they are expected to be on
the target.
For kexec, we can set it even though we do not depend on it (yet).
systemd will appropriately test it at runtime.
For quota, we point to non-existing files, so as to catch errors at
runtime. It is to be noted that quotacheck is optional, while quotaon
does not seem to be (a service file is always installed, that uses it).
Note: utilties listed in the order they appear in configure.ac
Reported-by: Adam Duskett <aduskett@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Adam Duskett <aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bernd Kuhls [Sat, 10 Jun 2017 08:43:33 +0000 (10:43 +0200)]
package/php: fix icu support
Propagate icu reverse dependencies.
Php lacks "-std=c++11", provided by icu-config, when compiling icu
support leading to a build failure:
/home/peko/autobuild/instance-1/output/host/usr/sh4-buildroot-linux-uclibc/sysroot/usr/include/unicode/umachine.h:347:13:
error: 'char16_t' does not name a type
typedef char16_t UChar;
[Bernd: added in v2]
- bump to mesa3d version 17.1.2
- squashed mesa3d-headers bump for bisectability
- renumbered patch 0007
- added zlib link in patch message
- Vulkan Intel driver does not depend on the i965 dri driver anymore
https://cgit.freedesktop.org/mesa/mesa/commit/configure.ac?h=17.1&id=9aebdb5d082ec640fe8a14704201952bddb50a88
- Gallium vc4 driver depends on NEON support
https://cgit.freedesktop.org/mesa/mesa/commit/?h=17.1&id=4d30024238efa829cabc72c1601beeee18c3dbf2