The buildroot repository is now mirrored on
https://gitlab.com/buildroot.org/buildroot so we can use Gitlab-CI to
test Buildroot. Gitlab-CI is controlled by a .gitlab-ci.yml file
that exists in the repository.
For now, the only test is building all defconfigs (inspired on
https://travis-ci.org/buildroot/buildroot-defconfig-testing/). Since
all the defconfigs have to be specified in the .gitlab-ci.yml file,
we generate the file based on .gitlab-ci.yml.in. The generated
.gitlab-ci.yml file has to be committed into the repository, though,
otherwise Gitlab-CI doesn't see it. So there is also a test to verify
that .gitlab-ci.yml is up-to-date.
Building all the defconfigs takes a long time. Gitlab-CI will do that
every time it pulls from git.buildroot.org, which is once per hour.
That is way too often. Therefore, the defconfigs are not built on pull,
but only on explicit trigger through the API or when a tag is added.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas:
- fix typo not -> no
- add LC_ALL=C when calling 'ls -1' to get a predictable order of the
defconfigs
- regenerate .gitlab-ci.yml.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Carlos Santos [Tue, 14 Feb 2017 11:05:16 +0000 (09:05 -0200)]
gtest/gmock: bump to version 1.8.0
GTest version 1.8.0 includes gmock so merge both packages inside gtest
In this merge:
- Add gmock as a suboption of gtest (BR2_PACKAGE_GTEST_GMOCK)
following advice from Arnout Vandecappelle
- Add BR2_PACKAGE_GMOCK as a legacy entry, selecting BR2_PACKAGE_GTEST
and BR2_PACKAGE_GTEST_GMOCK.
- Use cmake to install libraries and headers and add missing files
(gtest.pc, gtest-config, gmock.pc) in
GTEST_POST_INSTALL_STAGING_HOOKS instead of redefining
GTEST_INSTALL_STAGING_CMDS
- Remove patch on Python as gmock/gtest now supports python 3.0
(commit 456fc2b5c4e9ebf05a5987dfe1ff0ac9ffeb53cc)
- Add the correct license in HOST_GTEST_LICENSE as all python code in
googlemock/scripts/generator is licensed under Apache-2.0 and not
BSD-3c
- Fix URL of gtest project in Config.in
- Remove the gmock entry from DEVELOPERS
- Install gmock_gen directly, instead of as a symlink to gmock_gen.py
Notice that any external package that depends on gmock will cause an
immediate build termination because make doesn't know how to build
gmock. Since the user has just removed gmock from the legacy menu, it
should be quite obvious what needs to be done.
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com> Signed-off-by: Carlos Santos <casantos@datacom.ind.br> Reviewed-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
- Use += instead of = when assigning a value to <pkg>_DEPENDENCIES in
conditional
- Remove comment about the "tricky logic" around BUILD_GTEST and
BUILD_GMOCK
- Move GTEST_GMOCK_INSTALL_MISSING_FILE inside
the ($(BR2_PACKAGE_GTEST_GMOCK),y) condition.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
luarocks-package: lowercase the upstream name for LuaRocks
LuaRocks has a policy that the rockspec and rock filenames are lower
case. However, the upstream name may contain uppercase characters.
We have several packages like that in Buildroot. To simplify the
package .mk files, apply the lowercase from within the infra.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
These defconfigs have been broken due to gcc5 for more than half a year,
and nobody stepped up to fix it. In addition, the rocketboards git
repository used by these defconfigs hasn't been reachable for more than
half a year. Finally, these defconfigs don't even use the
BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC option so they are not a
great example for this family of targets.
Remove these defconfigs, as well as the board directory. Both are
removed in a single commit to avoid having an inconsistent readme.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Jan Viktorin <viktorin@rehivetech.com> Cc: Charles Manning <cdhmanning@gmail.com> Cc: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The scripts used for the minnowboards were generic for MinnowBoard and
MinnowBoard MAX. Since we removed the original MinnowBoard, this isn't
necessary anymore.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This defconfig has been broken due to gcc5 for more than half a year,
and nobody stepped up to fix it. Remove it, as well as the files it
references. Update the readme to remove references to MinnowBoard.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The version of the khrplatform.h header bundled with odroid-mali has a
definition of the khronos_intptr_t and khronos_ssize_t that doesn't
match the official Khronos registry headers or the Mesa3D headers. Due
to this, it causes conflicts with some packages that redefines those
types (with the correct definitions), such as libepoxy.
Since nobody bothered fixing the issue even though it has been happening
since July 2016 (first build failure at
http://autobuild.buildroot.net/results/ed8d562ae5fdb472a83f9a07b2f755c80c972c34/),
let's mark this package as BROKEN.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
sngrep: use pkg-config to discover OpenSSL to fix static linking
Building sngrep with OpenSSL support in static linking configurations
currently fails due to undefined symbols in the OpenSSL library. It's
the usual problem with using AC_CHECK_LIB() to discover libraries
instead of the pkg-config based PKG_CHECK_MODULES().
Therefore, this commit introduces a patch that switches to using
pkg-config to discover OpenSSL. A preliminary patch is needed, without
which appending to LIBS/CFLAGS doesn't work. Both patches have been
submitted upstream.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Even though x264 doesn't use an autoconf generated configure script
(and hence doesn't use the autotools-package infrastructure), it uses
config.guess and config.sub. The ones bundled in x264 are too old to
know about the OpenRISC architecture, so this commit leverages the
UPDATE_CONFIG_HOOK from the autotools-package infrastructure to update
config.sub and config.guess.
Yann E. MORIN [Sat, 4 Mar 2017 17:28:44 +0000 (18:28 +0100)]
core/pkg-cmake: better way to pass our CMAKE_MODULE_PATH
Currently, we tell cmake where to look for our own custom platform
description by passing the path to the moduls directory on the command
line.
However, this causes two different problems.
First, some packages simply set CMAKE_MODULE_PATH in their
CMakeList.txt, thus overriding our own path, and then our platform
description is not found.
Second, cmake may internally call sub-cmake (e.g. in the try_compile
macro), but the CMAKE_MODULE_PATH is not automatically passed down in
this case.
For the first problem, we could hunt down and fix all offenders, but
this is an endless endeavour, especially since packagers are told to do
so on the cmake wiki [0]:
CMAKE_MODULE_PATH
tell CMake to search first in directories listed in
CMAKE_MODULE_PATH when you use FIND_PACKAGE() or INCLUDE()
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/MyCMakeScripts)
FIND_PACKAGE(HelloWorld)
The second problem could be solved by passing yet another variable on
the command line, that tells cmake to explicitly pass arbitrary
variables down to sub-cmake calls:
However, this only covers the case of try_compile. Even though no other
case is known yet, we'd still risk missing locations where we would need
to propagate CMAKE_MODULE_PATH, even some where we'd have no solution
like for try_compile.
Instead, ngladitz on IRC suggested that CMAKE_MODULE_PATH be set
directly from the toolchain file.
And indeed this fixes both problems explained above.
So be it.
[0] https://cmake.org/Wiki/CMake_Useful_Variables
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Jörg Krause <joerg.krause@embedded.rocks> Cc: Ben Boeckel <mathstuf@gmail.com> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Baruch Siach [Sun, 5 Mar 2017 19:33:36 +0000 (21:33 +0200)]
ipset: drop obsolete patch
Since commit 0552a367dbd ("Remove --{enable, disable}-debug configure flags.")
we do not pass --enable-debug to configure script. The patch to remove -Werror
in this case is thus no longer needed.
Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Sun, 5 Mar 2017 10:56:50 +0000 (11:56 +0100)]
package/wayland: drop non-existing configure option
--disable-scanner was removed back in 2015, so drop it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Fri, 3 Mar 2017 22:07:20 +0000 (23:07 +0100)]
support/mkusers: rename variable to avoid name clashing
The LINES variable is automatically set by bash to represent the number
of lines in the terminal. That variable can be set when the shell
receives SIGWINCH.
If the shell does receive SIGWINCH after our LINES array is filled, the
content of the array is mangled.
Rename the variable to avoid that.
Fixes #9456
Reported-by: George Y. <georgebrmz@oss3d.com> Reported-by: Paul Stewart <paulstewartis@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Sat, 4 Mar 2017 10:35:03 +0000 (11:35 +0100)]
package/librsvg: disable gdk-pixbuf-loader
gdk-pixbuf-loader support is enabled by default but it silently fail to
generate gdk-pixbuf.loaders file when host != target.
For exemple on ARM target:
output/host/usr/bin/gdk-pixbuf-query-loaders ./libpixbufloader-svg.la
g_module_open() failed for output/build/librsvg-2.40.16/gdk-pixbuf-loader/./libpixbufloader-svg.la: output/build/librsvg-2.40.16/gdk-pixbuf-loader/./.libs/libpixbufloader-svg.so: wrong ELF class: ELFCLASS32
But it doesn't break the build.
When host = target using the Sourcery CodeBench AMD64 2016.11 toolchain
optimized for x86_68 AMD Puma/Jaguar or AMD Steamroller, it break the
build due to "Illegal instruction".
The bump of python-enum to version 0.4.6 in commit 636df89872c7b6a6bed2c679cf65da41309ac652 forgot to update the license
information. Even though the PKG-INFO file still pretends it's GPLv2
or Python license, the only license file available is LICENSE.GPL-3
(which indicates a GPLv3 license), and the comment header in the
source code is pretty clear:
This is free software: you may copy, modify, and/or distribute
this work under the terms of the GNU General Public License as
published by the Free Software Foundation; version 3 of that
license or any later version. No warranty expressed or
implied. See the file ‘LICENSE.GPL-3’ for details.
Yann E. MORIN [Fri, 3 Mar 2017 18:13:54 +0000 (19:13 +0100)]
package/memtool: fix trailing /
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The bump causes build failure with musl, this new version uses with
undefined REG_STARTEND which is a glibc-ism that isn't available for
musl-based toolchains.
The introduction of this is to address
https://savannah.gnu.org/bugs/?50030 so it's not quite straightforward
to fix.
Since we now require Lua package names to start with "lua", it is likely
that the Buildroot name is different from the upstream LuaRocks name.
Add a feature to the luarocks-package infra that makes it easier to
handle this situation: the package can explicitly specify the upstream
name in PKG_NAME_UPSTREAM, and that name will be used in PKG_ROCKSPEC,
PKG_SOURCE and PKG_SUBDIR.
Add an explanation of this feature to the manual. To make the example
relevant, it is changed to lua-foo, where the upstream name is plain
foo. To avoid confusion with the dependency on a native library, that
dependency is renamed to bar.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The luarocks package infra extracts the package directly under
$(BUILD_DIR), because the contents are always in a subdirectory name
<pkg>-<version>. However, this only works when the upstream package name
is the same as the Buildroot package name.
Instead, we can rely on the fixed structure of a .src.rock: it always
contains the source subdirectory in a directory called foo, where foo
is the basename of the .src.rock file. Therefore, we can extract into
a subdirectory of $($(PKG)_DIR), then move its contents up two
directory levels.
Note, we can't extract directly into $($(PKG)_DIR) because it's
possible that $($(PKG)_SUBDIR) == <pkg>-<version>. In that case, we
would try to move the directory unto itself and get "Directory not
empty". This is the case e.g. for the lpty package.
Two alternatives were considered but are more complicated:
- instead of using wildcards for the move, we could have used
<.src.rock basename>/$($(PKG)_SUBDIR);
- instead of extracting with luarocks, we could use unzip to extract
(the .src.rock is a ZIP file), but then we also have to move the
.rockspec into the subdir. In addition, sometimes the ZIP file
contains a tarball instead of the extracted source.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The upstream name is just "bit32", but the luarocks infra doesn't
support an upstream name different from the Buildroot name. We therefore
have to explicitly set all variables and we need custom extract
commands.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas:
- add entry to DEVELOPERS file
- remove useless "depends on BR2_PACKAGE_HAS_LUAINTERPRETER" in
Config.in file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
luarocks-package: use $(HOST_PKG_VERSION) instead of $(PKG_VERSION)
The inner-luarocks-package macro was using $(3)_VERSION as the package
version, i.e. the version of the target package, even when it's the
host package. We should instead use $(2)_VERSION, i.e. the host package
version, like is done in inner-generic-package.
Since luarocks-package doesn't even support a host version, it doens't
make a whole lot of difference, but let's keep things consistent.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yegor Yefremov [Thu, 2 Mar 2017 13:58:53 +0000 (14:58 +0100)]
python-crossbar: add a warning comment concerning version bump
The latest crossbar needs a rather recent setuptools package, that
has circular dependencies. Until this issue is not resolved, it is
not safe to bump crossbar version.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>