New release adds a couple new features and improvements, although the
most important one - the test suite - doesn't really matter for
buildroot.
The project has also been relicensed under LGPLv2.1.
We need the m4 directory fixup now since the AC_CONFIG_MACRO_DIRS([m4])
macro was used in configure.ac, but we don't want to have unnecessary
files in the git repo.
New features:
- relicensed under LGPLv2.1
- implemented a unit testing framework together with a comprehensive
set of test cases
- added a non-closing variant of the gpiochip iterator and foreach
macro [by Clemens Gruber]
- added gpiod_chip_open_by_label()
Improvements:
- Makefiles & build commands have been reworked [by Thierry Reding]
- documentation updates
- code shrinkage here and there
- coding style fixes
- removed all designated initializers from the header for better standards
compliance
Bug fixes:
- fix the return value of gpiod_simple_event_loop()
- don't try to process docs if doxygen is not installed
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Patches 0001 and 0002 already included in this release:
379642bcd82225e1ea20
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
0001 patch already included in this release:
b218117cad
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Package can now be used for uClibc toolchains.
Tested using this defconfig:
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y
BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH=y
BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI=y
BR2_PACKAGE_BLUEZ5_PLUGINS_NFC=y
BR2_PACKAGE_BLUEZ5_PLUGINS_SAP=y
BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS=y
BR2_PACKAGE_BLUEZ5_UTILS_TEST=y
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
An autobuilder exception has been added to avoid testing qt gui module
with the CodeSourcery NiosII toolchain. This allow to remove the
BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 symbol.
This reverts commit 5dce3c05b5.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds an initial toolchain test case, testing the ARM
CodeSourcery toolchain, just checking that the proper sysroot is used,
and that a minimal Linux system boots fine under Qemu.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds some basic tests for two Buildroot packages: python and
dropbear. These tests are by no mean meant to be exhaustive, but mainly
to serve as initial examples for other tests.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a number of test cases for various filesystem formats:
ext2/3/4, iso9660, jffs2, squashfs, ubi/ubifs and yaffs2. All of them
except yaffs2 are runtime tested. The iso9660 set of test cases is
particularly rich, testing the proper operation of the iso9660 support
with all of grub, grub2 and isolinux.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a few Buildroot "core" tests, testing functionalities
such as:
- post-build and post-image scripts
- root filesystem overlays
- timezone support
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds the core of a new testing infrastructure that allows to
perform runtime testing of Buildroot generated systems. This
infrastructure uses the Python unittest logic as its foundation.
This core infrastructure commit includes the following aspects:
- A base test class, called BRTest, defined in
support/testing/infra/basetest.py. This base test class inherited
from the Python provided unittest.TestCase, and must be subclassed by
all Buildroot test cases.
Its main purpose is to provide the Python unittest setUp() and
tearDown() methods. In our case, setUp() takes care of building the
Buildroot system described in the test case, and instantiate the
Emulator object in case runtime testing is needed. The tearDown()
method simply cleans things up (stop the emulator, remove the output
directory).
- A Builder class, defined in support/testing/infra/builder.py, simply
responsible for building the Buildroot system in each test case.
- An Emulator class, defined in support/testing/infra/emulator.py,
responsible for running the generated system under Qemu, allowing
each test case to run arbitrary commands inside the emulated system.
- A run-tests script, which is the entry point to start the tests.
Even though I wrote the original version of this small infrastructure, a
huge amount of rework and improvement has been done by Maxime
Hadjinlian, and squashed into this patch. So many thanks to Maxime for
cleaning up and improving my Python code!
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The main reason why vcdbg is only available on ARM is the fact that this is
a prebuilt ARM binary rather than the rpi-userland dependency, so adjust the
comment to clarify.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In c2c06a6de0, cmake version was bumped and a new dependency on libuv
was added, but it did not propagate all the dependencies of libuv,
missing sync_4 (probably because sync_4 was added after the patch was
sent on the list, but before it was applied to the tree).
Fix that, which fixes unmet dependencies.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, vcdbg is only supported in 32-bit mode. Furthermore, vcdbg
needs rpi-userland, which we currently only support in 32-bit mode.
Add a dependency on BR2_arm.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
connman no longer triggers a conflict of userspace and kernel headers since
commit 69ced96355 (musl: workaround kernel if_ether.h header conflict). The
real blocker for musl build (besides a few missing includes here and there)
is the missing res_ninit() implementation. Update the comment accordingly.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
sunxi-mali userspace drivers (libMali.so) for r2p4 Mali kernel modules
are linked against libUMP.so.2 but libump package in Buildroot only
provide libUMP.so.3.
In upstream commit 1c5063f43cdc9de341c0d63b2e3921cab86c7742 [1], library
versioning was added. For the r3p* libraries, libUMP.so.3 is used (and
provided by Buildroot libump package), but for the r2p* libraries,
libUMP.so.2 is used (and not provided by Buildroot libump package).
Due to this any program or library trying to link with -lGLESv2 or -lEGL
will fail with the following error:
arm-none-linux-gnueabi/bin/ld: warning: libUMP.so.2, needed by output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libMali.so, not found (try using -rpath or -rpath-link)
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_close'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_mapped_pointer_get'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_secure_id_get'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_mapped_pointer_release'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libMali.so: undefined reference to `ump_reference_add'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libMali.so: undefined reference to `ump_size_get'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_reference_release'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_open'
collect2: error: ld returned 1 exit status
Since nothing provides libUMP.so.2, this commit removes the
BR2_PACKAGE_SUNXI_MALI_R2P4 option and adds the BR2_ARM_EABIHF
dependency directly to sunxi-mali package.
Fixes:
http://autobuild.buildroot.net/results/8d0/8d0b78798abf0c4ca124952d0d0455da6f8fa14f/
[1] 1c5063f43c
[2] http://lists.busybox.net/pipermail/buildroot/2017-February/183500.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Francois Perrad <francois.perrad@gadz.org>
[Thomas: fix conflicts when applying on master, tweak commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This bumps the version of triggerhappy to 0.5.0
The systemd unit supplied by buildroot assumed that filename
globbing was supported by thd. But this was just recently
added. So with this version bump usage of "/dev/input/event*"
is now possible. Systemd Unit is adjusted accordingly.
eventtable.h patch was removed as this was patched upstream.
This patch fixes bug #9836.
Signed-off-by: Michael Heinemann <posted@heine.so>
Instead of duplicating the architecture dependency between the main
option and the Config.in comment, add a
BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS hidden option.
This is done in preparation to enabling libseccomp on ARM.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Even with an upstream patch from protobuf v3.3 [1], the build fail with another issue:
In file included from google/protobuf/dynamic_message.cc:80:
./google/protobuf/map_field.h: In member function 'void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::Swap(google::protobuf::internal::MapFieldLite<Key, T, kKeyFieldType, kValueFieldType, default_enum_value>*)':
./google/protobuf/map_field.h:139: error: object missing in reference to 'google::protobuf::internal::MapFieldBase::repeated_field_'
./google/protobuf/map_field_inl.h:342: error: from this location
./google/protobuf/map_field.h:150: error: object missing in reference to 'google::protobuf::internal::MapFieldBase::state_'
./google/protobuf/map_field_inl.h:344: error: from this location
Add a dependency on gcc >= 4.5.
[1] a83ac8663f
Fixes:
http://autobuild.buildroot.org/results/77d/77dbb6bbbc0ea9e9bcdd22b10011ef9728c20d54http://autobuild.buildroot.org/results/21f/21f5e1ea4f37e1d174604d6da78c0e916c89f1e3http://autobuild.buildroot.org/results/24e/24e880086c87d40b5d79a90d805acc75b33d484c
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Mario J. Rugiero <mrugiero@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The BR2_TOOLCHAIN_BUILDROOT_INET_RPC has been removed in commit
98f7de8796, following the removal from
upstream uClibc-ng of the RPC support.
However, armadeus_apf9328_defconfig was selecting this option, causing a
build failure due to the selection of a legacy option. We simply remove
it as anyway defconfigs should not needlessly enable toolchain options.
Fixes:
https://gitlab.com/buildroot.org/buildroot/builds/15762159
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Back when galileo_defconfig was added, an explicit binutils version was
used, because only binutils >= 2.25 had support for the
-momit-lock-prefix option, necessary to workaround a CPU issue.
Support for binutils 2.25 has now been removed from Buildroot, and
therefore the option no longer exists, causing a build failure. The
oldest binutils version that can be selected in Buildroot is binutils
2.26, which has support for -momit-lock-prefix. Therefore, we simply
remove the explicit binutils version selection.
Fixes:
https://gitlab.com/buildroot.org/buildroot/builds/15762201
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As in upstream Linux zebu_hs_smp_defconfig was renamed to
haps_hs_smp_defconfig we update Linux kernel defconfig name
respectively.
Also it fixes build failure, pointed us by Arnout:
https://gitlab.com/buildroot.org/buildroot/builds/14419271
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since the bump of OpenOCD from 0.9.0 to 0.10.0 in commit
3b6c74d708, stm32f469_disco_defconfig
fails to build:
- 0001-add-config.patch was merged in upstream OpenOCD (commit
26045588f462476cee356d15a24944d6c26befb4).
- 0002-flash-nor.patch was merged in upstream OpenOCD (commit
3e219648c80a27f0519003f3b088cbb846e255d8)
Therefore, this commit removes the two patches that are no longer
necessary.
Fixes:
https://gitlab.com/buildroot.org/buildroot/builds/15762279
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since commit c6bca8cef0 removed autocalculation of the ext2 filesystem
size, the default size is now set to 60MB. However, this is too small
for pc_x86_64_efi_defconfig. Indeed, the ext2 filesystem contains the
kernel (4MB), the wireless modules (4MB), all firmware for wireless
modules (40MB), and the wifi userspace (9MB) and the udev hwdb (5MB)
which brings the total to 70MB.
Increase the filesystem size to 120000K, which is a nice and round
number and leaves enough space for overhead on a 128MB flash drive.
Fixes:
https://gitlab.com/buildroot.org/buildroot/builds/15762234
This commit is identical to 9c393ad2fd
from Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>, except it
is done for pc_x86_64_efi_defconfig.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In commit 4b2440b7dc ("beaglebone: add DT
for BeagleBone Green"), both beaglebone_defconfig and
beaglebone_qt5_defconfig were updated to add "am335x-bonegreen" to the
list of Device Tree files to be produced.
However, beaglebone_qt5_defconfig uses an older kernel version than
beaglebone_defconfig, in which am335x-bonegreen doesn't exist.
Therefore, revert the change on beaglebone_qt5_defconfig.
Fixes:
https://gitlab.com/buildroot.org/buildroot/builds/15762182
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The LUAPATH variable is only used when installing the lua module, and
cmake knows very well how to do out-of-tree isntalls, so there is no
reason to include the staging path in LUAPATH, which will cause our
post-install sanity checks to kick in and whine:
libubox: installs files in /home/lhk/workspace/orangepi/host/usr/a
rm-buildroot-linux-gnueabihf/sysroot//home/lhk/workspace/orangepi
As for libuci, just pass the runtime LUAPATH.
Fixes#9856
Reported-by: linhuikui@gmail.com
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The ltp-testsuite now builds fine with our default uClibc
configuration, so remove the Config.in comment and the part of the
Config.in help text related to building with uClibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>