Peter Korsgaard [Thu, 15 Feb 2018 16:33:48 +0000 (17:33 +0100)]
sunxi-mali-mainline-driver: bump version
For 4.15 support and various fixes. This version now uses quilt to apply
patches, which is not a required dependency of Buildroot - So add a
POST_PATCH hook to change it to use apply-patches.sh instead.
git shortlog --invert-grep --grep travis --no-merges 42c7c139c14103a83bb2ad7e7a1f0ed491f96500..
Giulio Benetti (7):
Fix bulding driver twice.
Fix 0014-mali-Make-devfreq-optional.patch
Add unapply_patches function in build.sh
Fix 0013-mali-support-building-against-4.15.patch
Add clean option to build.sh
Add parallel building by default and -j option to override jobs number.
Add 0015 parallel build patch to quilt series
Jonathan Liu (2):
Add note about FRONTBUFFER_LOCKING environment variable
Fix Qt capitalization and add link to website
Maxime Ripard (12):
mali: Fix build in 4.15
mali: Make reserved memory optional as it should be
mali: sunxi: Set platform bus type right after device allocation
mali: Make devfreq optional
mali: Actually fix the build
build: Treat patch and make failures as errors
build: Make patch return immediately on error
build: Make sure that we're building a supported release
README: fix the casing of sunXi
README: Talk about triple buffering
build: Switch to quilt
patches: Move version-specific patches to their directory
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard [Thu, 15 Feb 2018 13:57:52 +0000 (14:57 +0100)]
sunxi-mali-mainline-driver: new package
Add allwinner mali kernel driver package. Used in combination with
userspace Allwinner openGL libraries, it gives possibility to use 3D openGL
SoC acceleration.
[Peter: Rename to sunxi-mali-mainline-driver. Use revision selection from
sunxi-mali-mainline package. Depend on that package and default to
y if dependencies are met. Tweak Linux config] Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard [Thu, 15 Feb 2018 13:57:17 +0000 (14:57 +0100)]
sunxi-mali-mainline: new package
Add Allwinner Mali openGL userspace driver r6p2.
Used combined with kernelspace Mali driver,
it gives possibility to use 3D openGL SoC acceleration.
It provides fbdev libraries and headers.
It is compatible with Linux >= 4.4 as sunxi-mali-driver-mainline.
[Peter: Move version logic to Config.in, ensure directories exists] Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Orange-Pi Zero Plus2 board has AP6212 WiFi/BT combo, but does
not have ethernet port. So it makes sense to enable wireless
networking by default:
- add DTS patch enabling AP6212 WiFi/BT combo support
-- this patch is on its way to mainline Linux v4.16
- enable WiFi support in kernel config
- enable Broadcom brcmfmac kernel driver in kernel config
- add Broadcom wireless firmware package to image
- add basic wireless tools to image
- add mdev to image to enable module autoloading
- add rootfs overlay with proper NVRAM file for on-board AP6212 chip
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Baruch Siach [Tue, 13 Feb 2018 13:46:47 +0000 (15:46 +0200)]
iproute2: bump to version 4.15.0
Keep the musl workaround patch for now, even though libc-compat.h has
been updated from kernel v4.15. To take advantage of the new
libc-compat.h we need a newer or patched version of musl. The workaround
patch will be removed once musl is updated, and external autobuilders
toolchains are rebuilt.
Cc: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The musl/kernel headers workaround was added in commit 196932cd91
(toolchain: workaround musl/kernel headers conflict) to fix definition
collisions in networking related headers between musl headers and kernel
headers. Kernel headers from version 4.15 and newer do not need this
workaround anymore since kernel commit c0bace798436bc (uapi libc compat:
add fallback for unsupported libcs). The C library does not have to
define the __GLIBC__ macro to make the __UAPI_DEF_* macros effective.
Updated the comment to accordingly.
Tested with the xl2tp package. This package fails to build with older
kernel headers without the workaround (struct in_pktinfo redefinition,
among others). With 4.15 headers, xl2tp builds fine with this patch
applied. That is, no workaround needed.
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Baruch Siach [Tue, 13 Feb 2018 12:27:49 +0000 (14:27 +0200)]
musl: add more kernel headers guards
Kernel version 4.15 (not 4.16 as the musl commit log claims) allows
disabling of more parts of the kernel headers definitions. Add upstream
musl patch that defines the relevant macros. This solves issues of
networking related symbols redefinition in kernel headers that cause
headers conflicts. With that in place a subsequent commit will limit the
musl/kernel headers conflict avoidance workaround in Buildroot to kernel
headers older than 4.15. This workaround has been introduced in commit 196932cd91 (toolchain: workaround musl/kernel headers conflict).
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
We need to disable any systemd parts using either IDN, NSS or gshadow.
IDN is only disabled in C library function call to getnameinfo(),
it does not effect libidn/libidn2 usage in systemd.
Tested with qemu-system-arm.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
For this platform, u-boot uses dtoc during the build, which needs Python
libfdt. Set the corresponding option TARGET_UBOOT_NEEDS_PYLIBFDT in the
defconfig.
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Cc: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Adam Duskett [Tue, 6 Feb 2018 13:25:03 +0000 (08:25 -0500)]
python-sqlalchemy: new package
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
gives application developers the full power and flexibility of SQL.
It provides a full suite of well known enterprise-level persistence
patterns, designed for efficient and high-performing database access,
adapted into a simple and Pythonic domain language.
Signed-off-by: Adam Duskett <aduskett@gmail.com> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: fix check-package warnings.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Vincent Stehlé [Sat, 10 Feb 2018 09:59:11 +0000 (10:59 +0100)]
configs/qemu_aarch64_virt_defconfig: bump kernel to 4.15.2
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Ryan Coe [Wed, 7 Feb 2018 00:48:49 +0000 (16:48 -0800)]
glibc: needs host-bison
Since upstream commit 1faaf7035cabda101e1d6653bff7a539f201db91
("plural.c: improve reproducibility"), glibc now requires bison to be
available on the host for its build process. This is needed starting
with glibc 2.27.
Adam Duskett [Wed, 7 Feb 2018 14:52:15 +0000 (09:52 -0500)]
busybox: bump to 1.28.0
Other changes:
- Update 0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
for 1.28.0
- Remove upstream patches 3, 4, and 5.
- Update buxybox.config and busybox-minimal.config
Signed-off-by: Adam Duskett <aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas: use full destination path.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This is a major update for libgpiod. The API is not compatible with the
v0.x.y series but since nothing in current buildroot git depends on
this project, I believe we can simply bump the version.
The included tools are compatible with their 0.x.y counterparts.
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> Reviewed-by: Jan Kundrát <jan.kundrat@cesnet.cz> Tested-by: Jan Kundrát <jan.kundrat@cesnet.cz> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Alex Baldwin [Thu, 8 Feb 2018 19:37:48 +0000 (20:37 +0100)]
liblo : bump version to 0.29
Starting from version 0.28, C++ wrappers are provided as well. The
configure script appropriately detects the availability of a C++
compiler so no Buildroot changes are needed for this.
Building fails with --enable-ipv6 so --disable-ipv6 is needed in
CONF_OPTS. This is known by liblo developers and building without
ipv6 support is recomennded.
Included hash for license files.
Signed-off-by: Alex Baldwin <alexbaldwinmusic@gmail.com>
[Thomas: use single sha256 hash for license file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This version added support for shared or static library building
through BUILD_STATIC and BUILD_SHARED variables so set them depending
on BR2_xxx_LIBS variables
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Adam Duskett [Wed, 7 Feb 2018 21:23:53 +0000 (16:23 -0500)]
qemu: add BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
Match the style used with other packages such as valgrind.
Signed-off-by: Adam Duskett <aduskett@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Jan Kundrát [Thu, 8 Feb 2018 09:27:47 +0000 (10:27 +0100)]
package/rauc: Version bump to 0.3
There's a bug in 0.2 which prevents proper operation when activated via
D-Bus, which is why I'm bumping this.
Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz> Link: https://github.com/rauc/rauc/issues/125 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cam Hutchison [Mon, 16 Oct 2017 01:13:51 +0000 (12:13 +1100)]
package/ncurses: add option to install extra terminfo files
Add an option to ncurses to install extra user-configured terminfo
files. By default, only a small number of vital terminfo files are
installed on the target. This allows a build to specify the terminfo
files it needs.
Signed-off-by: Cam Hutchison <camh@xdna.net>
[Thomas: qstrip the variable before using it.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
uClibc-ng removed internal RPC implementation as it
is ipv4 only and can not be used for most important RPC software
rpcbind and nfs-utils.
musl does not implement RPC and GNU C library deprecated the
internal implementation a while ago.
It is still possible to use the C library implementation.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: change to use libtirpc when available, not just when the
toolchain does not have RPC support.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Romain Naour [Mon, 5 Feb 2018 20:57:15 +0000 (21:57 +0100)]
package/glibc: remove GLIBC_SRC_SUBDIR
GLIBC_SRC_SUBDIR was needed when Buildroot supported
eglibc which stored all sources in a sub-directory.
It was not removed by the commit removing eglibc support [1].
Romain Naour [Mon, 5 Feb 2018 20:57:12 +0000 (21:57 +0100)]
package/x11r7/xlib_libxshmfence: fix build with glibc 2.27
With glibc 2.27 memfd_create() is inside a _GNU_SOURCE guard, so call
AC_USE_SYSTEM_EXTENSIONS to get this defined.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: add reference to upstream commit, as suggested by Yann E. Morin.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
support/config-fragments: add internal defconfigs for glibc and musl
While we have several defconfigs building internal toolchains with
uClibc, we don't have any building internal toolchain with glibc and
musl. However, having such defconfigs is nice when we bump the C
library version, in order to immediately get feedback on build
failures.
Note that while the ARC internal defconfig uses glibc, it uses the
special ARC glibc version, so it doesn't test version bumps of the
upstream glibc C library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Eric Le Bihan [Sun, 4 Feb 2018 18:07:49 +0000 (19:07 +0100)]
support/testing: add tests for Rust
To test the support for the Rust language, the following tests are added:
- building Rust compiler and Cargo from source.
- installing a pre-built Rust compiler and building Cargo from source.
For each test, a Rust test program is built and installed in the root file
system of a ARM vexpress QEMU system. The test is declared OK if the program can
be run properly from the test system.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Eric Le Bihan [Sun, 4 Feb 2018 18:07:47 +0000 (19:07 +0100)]
cargo: new package
This new package provides Cargo, the Rust official package manager.
Cargo is written in Rust and uses Cargo as its build system. It also
depends on other Rust packages.
Normally, a previously installed version of Cargo would be used to:
1. Fetch the dependencies.
2. Build the new version of Cargo, using the available Rust compiler.
But the fetching step prevents offline builds. So instead two features
of Cargo are leveraged: vendoring [1] and local registry.
First, a tarball of the build dependencies generated using `cargo
vendor` is fetched along with Cargo source code.
Then, the build process is as follows:
1. The tarball of the build dependencies is uncompressed in a local
registry.
2. A snapshot of Cargo, provided by cargo-bin, builds the final
version of Cargo.
3. A configuration file telling Cargo how to cross-compile programs for
the target is generated and installed.
Currently, only the host variant is provided.
[1] https://github.com/alexcrichton/cargo-vendor
[Peter: use src.fedoraproject.org, fix comment] Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Eric Le Bihan [Sun, 4 Feb 2018 18:07:43 +0000 (19:07 +0100)]
rust: new package
This new package provides rustc, the compiler for the Rust programming
language, built from source.
Currently, only the host variant is built.
The Rust compiler uses LLVM as its backend: a copy of LLVM source code
is provided and CMake is used to build it. It is possible to use a
pre-built external copy. When LLVM/clang will be available in Buildroot,
it would be possible to benefit from this feature and thus decrease
build time.
LLVM is configured to generate code for x86, ARM, PowerPC and MIPS
architectures.
The Rust compiler uses Cargo as its build system and is written in Rust.
Therefore this package depends on cargo-bin and rust-bin.
The internal build process is as follows:
1. stage0 compiler, provided by rust-bin, is used to build stage1
compiler.
2. stage1 compiler builds the final Rust compiler (stage2 compiler)
and the standard library for the host architecture.
3. the standard library for the target architecture is built.
The target architecture to support is given by the GNU/LLVM target
triple. Rust supports some predefined targets [1]. As the build system
expects the triple to be in the form of <arch>-unknown-<system> and
Buildroot toolchain wrapper uses <arch>-buildroot-<system>, the package
Makefile uses $(RUST_TARGET_NAME) defined in the rustc package and uses
it instead of $(GNU_TARGET_NAME).
When compiling Rust code with this compiler, the generated program only
depends on the target C library, as it is statically linked to the Rust
standard library and any other code from Rust packages (a.k.a.
"crates").
If the jemalloc package is selected, support for this memory allocator
will be enabled in the target standard library.
The menuconfig entry for rustc is also updated to expose this provider.
Eric Le Bihan [Sun, 4 Feb 2018 18:07:41 +0000 (19:07 +0100)]
rust-bin: new package
This package provides a pre-built version of rustc, the compiler for the
Rust programming language, fetched from the upstream project.
A pre-built version of the standard library for the host as well as one
for the chosen target are also fetched and installed.
Only the host variant is provided to allow the user to cross-compile
Rust programs and run them on the target.
This package could also be used to provide a bootstrap compiler when building
Rust from source. So, in order to add it as a build dependency, the compiler and
standard libraries are only installed in $(HOST_DIR) if the package is
explicitly selected.
The menuconfig entry for rustc is also updated to expose this provider.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Eric Le Bihan [Sun, 4 Feb 2018 18:07:40 +0000 (19:07 +0100)]
rustc: new virtual package
The compiler for the Rust programming language is called rustc.
There is only one reference implementation for it, based on LLVM, from
the Rust project [1]. It can generate code for various architectures so
it can be labeled as a cross-compiler. But, as for GCC, building it
from source takes time.
So it would be sensible to have at least one package which provides it
as a pre-built version, fetched from the upstream project. Later another
package can be added, to build it from source code.
In addition to the compiler, the standard library for the host and/or
the target should also be fetched/built.
So, add a virtual package named rustc to enable support for multiple
providers.
Currently, only the host variant will be available to allow the user to
cross-compile Rust programs for the target.
[1] http://rust-lang.org
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As pointed out by Joel Stanley:
https://patchwork.ozlabs.org/patch/863011/
Github now longer provides the exact same tarball for the or1k musl-5.4.0
tarball, breaking the build. Even more, musl-5.4.0 is the name of a git
branch, not a tag.
Fix both problems by changing to the or1k-musl-5.4.0-20170218 tag, which
points to the exact same git commit.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Tested-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This reverts commit 233202597d9411399aeaded2f9a7cd14f2e29833, which
causes a lot of build failures. Part of the Python build process tries
to use os.replace(), which is only available since Python 3.3. It
should work if the host-python being built was used, but unfortunately
the system Python ends up being used, causing the build failure.
Zoltan Gyarmati [Sat, 3 Feb 2018 21:40:53 +0000 (22:40 +0100)]
package/gpsd: add config option for Spectratime iSync and build fix patch
As in the inital 3.17 version bump patch the iSync config option was not
added, the iSync driver was implicitly enabled in the gpsd config as default,
and due to a bug in the gpsd build setup, this caused several autobuild issues
which are fixed by this. This commit adds both the Buildroot config option and
the gpsd patch which was also sent to and accepted in upstream.
Scott Fan [Sun, 4 Feb 2018 11:16:39 +0000 (19:16 +0800)]
configs/toradex_apalis_imx6: bump U-Boot and kernel to the official image version 2.7
According to the following guide:
https://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code#iMX_6_Based_Modules_ApalisColibri_iMX6
The official final 2.7 version released at 2018-01-04, see the following link:
https://developer.toradex.com/software/linux/linux-software/release-details
Signed-off-by: Scott Fan <fancp2007@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN [Sun, 4 Feb 2018 14:44:26 +0000 (15:44 +0100)]
support/dockker: create and push tagged images
Currently, we refer to the latest version of the image, which means we
can't guarantee any reproducibility. Also, it measn we can't have a
separate images for the maintenance branches (especially the LTS) and
master.
Update the comment in the Dockerfile to create and push tagged images.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN [Sun, 4 Feb 2018 14:44:23 +0000 (15:44 +0100)]
support/docker: don't be silent when setting up
This image is not built very often, and when it is, it is important to
see what's going on, so don't be silent when installing packages from
the distro, and since that can take a bit of time it thus serves as
progress report...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN [Sun, 4 Feb 2018 14:44:22 +0000 (15:44 +0100)]
support/docker: limit the number of layers
The official documentation [0] suggests limiting the number of layers
generated from a dockerfile. A layer is created for each RUN (and COPY
and ADD) command. But we are only ever interested in the final image,
so the intermediate layers are useless to us.
Limit the number of RUN commands to limit the number of generated
layers.