Gustavo Zacarias [Mon, 12 Dec 2016 20:54:25 +0000 (17:54 -0300)]
icu: fix build failure for musl
musl doesn't have xlocale.h, and stdtod_l is crippled, so disable it.
See thread from OE:
http://lists.openembedded.org/pipermail/openembedded-core/2016-November/128527.html
Fixes:
http://autobuild.buildroot.net/results/6ca/6caebf0f6c4adf66e67bedd0f04155413a9aa7bd/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bernd Kuhls [Mon, 12 Dec 2016 06:15:43 +0000 (07:15 +0100)]
package/dovecot: needs OpenSSL
The latest version bump to 2.27 introduced a bug in the configure
script which occurs when OpenSSL support is missing:
http://lists.busybox.net/pipermail/buildroot/2016-December/179397.html
This patch makes OpenSSL mandatory following the upstream advice:
http://www.dovecot.org/list/dovecot/2016-December/106346.html
"Nobody really should be building without OpenSSL nowadays anyway"
Yann E. MORIN [Sun, 11 Dec 2016 18:14:23 +0000 (19:14 +0100)]
package/jpeg: better indentation
Use easier-to-read layout; fix leading spaces.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard [Sun, 11 Dec 2016 15:52:19 +0000 (16:52 +0100)]
jpeg-turbo: add simd support for aarch64
>From the 1.5-b1 release notes:
Added ARM 64-bit (ARMv8) NEON SIMD implementations of the commonly-used
compression algorithms (including the slow integer forward DCT and h2v2 &
h2v1 downsampling algorithms, which are not accelerated in the 32-bit NEON
implementation.) This speeds up the compression of full-color JPEGs by about
75% on average on a Cavium ThunderX processor and by about 2-2.5x on average
on Cortex-A53 and Cortex-A57 cores.
Add it unconditionally for all aarch64 cores, as neon support is required
for all "standard" ARMv8 implementations. If an ARMv8 implementation w/o
NEON ever shows up, then we will need to add a BR2_AARCH64_CPU_HAS_NEON and
handle it like ARM.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Korsgaard [Sun, 11 Dec 2016 15:52:18 +0000 (16:52 +0100)]
jpeg-turbo: add simd support for powerpc cores with altivec
>From the 1.5-b1 release notes:
Added full SIMD acceleration for PowerPC platforms using AltiVec VMX
(128-bit SIMD) instructions. Although the performance of libjpeg-turbo on
PowerPC was already good, due to the increased number of registers available
to the compiler vs. x86, it was still possible to speed up compression by
about 3-4x and decompression by about 2-2.5x (relative to libjpeg v6b)
through the use of AltiVec instructions.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Korsgaard [Sun, 11 Dec 2016 15:52:17 +0000 (16:52 +0100)]
jpeg: rework jpeg-turbo simd support handling
In preperation for adding more architectures to the jpeg-turbo simd
handling, introduce a hidden BR2_PACKAGE_JPEG_SIMDS_SUPPORT symbol and use
that to enable simd support and default to jpeg-turbo, instead of open
coding it in both places.
While we are at it, reword the help text to be more useful.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Korsgaard [Sun, 11 Dec 2016 15:52:16 +0000 (16:52 +0100)]
jpeg-turbo: now checks for pkg-config
The jpeg-turbo configure script now contains PKG_PROG_PKG_CONFIG, even
though it doesn't so far use pkg-config to detect any dependencies (it does
install a .pc file now though):
checking pkg-config is at least version 0.9.0... ./configure: line 13540: \
/home/peko/source/buildroot/output/host/usr/bin/pkg-config: No such file or directory
Depend on host-pkgconf for consistency.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Rahul Bedarkar [Sun, 11 Dec 2016 15:30:43 +0000 (21:00 +0530)]
acl: backport upstream patch to fix static build
When building tar package with acl in static build configuration, we
get definition clash error for 'quote' function.
../gnu/libgnu.a(quotearg.o): In function 'quote':
quotearg.c:(.text+0x12fc): multiple definition of 'quote'
../sysroot/usr/lib/libacl.a(quote.o):/home/test/autobuild/run/instance-1/output/build/acl-2.2.52/libmisc/quote.c:27: first defined here
In acl upstream, this is already fixed by renaming quote and unquote
internal functions. This commit backports upstream patch.
e2fsprogs: pass LDCONFIG=true also at install time
We correctly set LDCONFIG=true for MAKE_OPTS, but not for the other
steps which don't inherit it, and therefore e2fsprogs tries to use the
host ldconfig during staging and target installation, which causes some
weird error messages at build time (even if they don't abort the build).
Fix that by passing LDCONFIG=true at install time.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Sun, 4 Dec 2016 09:21:56 +0000 (10:21 +0100)]
toolchain/wrapper: use the {str, len} tuples for the unsafe paths
In 61cb120 (toolchain/wrapper: extend paranoid check to -isystem), we
introduced a {str,len} tuple to check the various arguments pased to
gcc, to avoid hard-coding an ever-growing, long list of those args
directly in the condition check.
Now, we're left with a long list of unsafe paths, somehow hidden within
the code, which can use the same mechanism we use for arguments.
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, 4 Dec 2016 09:21:55 +0000 (10:21 +0100)]
toolchain/wrapper: make the {str, len} tuple more generic, add comments
In 61cb120 (toolchain/wrapper: extend paranoid check to -isystem), we
introduced a {str,len} tuple to check the various arguments passed to
gcc, to avoid hard-coding an ever-growing, long list of those args
directly in the condition check.
It was made specific to the arguments (the structure member is named
'arg'), but can also be used to store the unsafe paths as well.
Also, that piece is almost un-documented.
Rename the structure member so that it is more generic, and add a bit of
comments to explain the whole of 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>
Romain Naour [Tue, 6 Dec 2016 19:49:09 +0000 (20:49 +0100)]
package/aubio: disable unit tests with --notests
For each build step, --notests needs to be passed to waf script
to avoid runing the unit tests.
This allow to remove the patch removing the unit tests from wscript.
Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Tue, 6 Dec 2016 19:49:06 +0000 (20:49 +0100)]
pkg-waf: add additional variables for each install step
Some waf packages may want to pass additional variables to waf script
in install step. Add the possibility to do so by defining the
following variables:
<pkg>_INSTALL_STAGING_OPTS for the install to staging directory
<pkg>_INSTALL_TARGET_OPTS for the install to target directory
Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This workaround was added for uClibc <= 0.9.33.2 by commit [1].
This issue has been fixed long time ago in uClibc-ng for powerpc [2], sparc and
xtensa [3].
Nowadays, enlightenment can't be selected for xtensa ans sparc due to luajit
dependency from the efl stack and uClibc 0.9.33 was removed from Buildroot
since 2016.02 release.
Bimal Jacob [Wed, 7 Dec 2016 18:34:44 +0000 (12:34 -0600)]
angular-websocket: new package
Signed-off-by: Bimal Jacob <bimal.jacob@rockwellcollins.com> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
[Thomas:
- Move to a submenu "External AngularJS plugins", much like we have an
"External JQuery plugins" menu. Therefore, remove the "select
BR2_PACKAGE_ANGULARJS" from the package, since
angular-websocket/Config.in is now included only if
BR2_PACKAGE_ANGULARJS is defined.
- Add hash file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix some static linking issues for Xtensa/Blackfin.
Optimize the size for non-threaded static binaries and
fix static C/C++ applications when running on the target.
Fix noMMU madvise declarations.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Clayton Shotwell [Tue, 25 Oct 2016 19:26:03 +0000 (14:26 -0500)]
policycoreutils: new package
This package contains the core policy utilities that are required
for basic operation of an SELinux system.
Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Niranjan Reddy <niranjan.reddy@rockwellcollins.com> Tested-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com> Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
[Thomas:
- Move the Config.in comment at the top of the Config.in file rather
than between the main option and its sub-options, as this breaks
menuconfig indentation.
- Fix the propagation of the libsemanage dependencies. libsemanage
depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS and
BR2_TOOLCHAIN_USES_GLIBC which were not accounted for. Since it
depends on BR2_TOOLCHAIN_USES_GLIBC, then all the gettext related
handling becomes useless and has been removed.
- Rename the prompt of the restorecond sub-option to just
"restorecond".
- Use TARGET_CONFIGURE_OPTS and HOST_CONFIGURE_OPTS instead of
passing LDFLAGS, CC, etc. manually.
- Use make "foreach" function for loops instead of shell "for" loops.
- Rework the explanation of why we're passing DESTDIR at build time.
- Minor formatting tweaks here and there.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sam bobroff [Fri, 9 Dec 2016 03:33:15 +0000 (14:33 +1100)]
package/qemu: separate user and system arch on powerpc64le
QEMU provides a single system emulator that supports both powerpc64
and powerpc64le with a target called 'ppc64-softmmu', but it provides
a different usermode emulator for each one (with targets
'ppc64le-linux-user' and 'ppc64-linux-user').
Due to this asymmetry it is not possible to support both cases with
the single arch value used in the package file. This patch introduces
an additional value into the package configuration,
HOST_QEMU_SYS_ARCH, so that both cases can be supported.
Ezequiel Garcia [Sat, 10 Dec 2016 12:21:54 +0000 (09:21 -0300)]
mimic: new package
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
[Thomas:
- Rewrap Config.in help text
- Use "depends on" rather than "select" for the audio backend options
- Slightly simplify some of the prompts for the audio backend selection
- Remove MIMIC_INSTALL_STAGING = NO, that's the default
- Use += when assigning MIMIC_DEPENDENCIES
- Remove double quotes when setting --with-audio=.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Thu, 8 Dec 2016 22:24:17 +0000 (23:24 +0100)]
package/efl: add Wayland support
The EFL Wayland support was removed with commit [1] since the dependecy
on libdrm was missing. Also it requires OpenGL ES with EGL, Evas DRM
and Evas GLES DRM support [2].
As stated in configure, Evas GLES DRM engine support (gl_drm) depends
on wayland-client to build (wayland-client >= 1.8.0).
So, enable gl_drm only when wayland support is selected.
The strict unused-const-variable checking was causing autobuilder errors
when trying to build Xen tools/libxl as the migrate_*[] arrays are not
always accessed.
To avoid the error edit the Makefile to stop all general warnings being treated
as errors, by removing the -Werror flag.
[Peter: add local sha256 hash as suggested by Vicente] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Pass on INSTALL_PROGRAM to configure since starting with version 8.26
when building natively it tries to use the self-built install to
install, and when cross-compiling it expects INSTALL_PROGRAM to point to
a real install, or otherwise fails when recursively trying to expand it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
rpm: add patches to fix bfd.h related build issues
This commit adds two patches to the rpm package to fix two separate but
related build issues:
- The first patch fixes a build that occurs when rpm is built after
elfutils, but without binutils. In this case, dwarf.h is present, so
rpm enables the build of a number of additional tools. But one of
them uses bfd.h, provided by binutils, without checking for its
existence. So the first patch fixes that by checking for bfd.h
existence before enabling the tool.
- The second patch fixes a build issue that occurs when rpm is built
after both dwarf and binutils. In this case, bfd.h complains because
config.h is not included. That's a weird and silly issue in bfd.h
that the binutils developers don't want to fix, and you have to
define PACKAGE or PACKAGE_VERSION before including bfd.h to use it
outside of binutils.
Frank Hunleth [Wed, 26 Oct 2016 17:18:04 +0000 (13:18 -0400)]
systemd: don't build systemd-firstboot by default
systemd-firstboot is never invoked since systemd's first boot detection
logic checks whether /etc/machine-id exists. Since the file is created
automatically by systemd.mk, systemd will never detect first boot and
therefore the systemd-firstboot.service unit file will never get run.
Additionally, if /etc/machine-id is removed to allow systemd-firstboot
to run, it interactively prompts for the system locale. This makes it
seem unlikely that an embedded system would want to use it.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Korsgaard [Wed, 7 Dec 2016 09:25:21 +0000 (10:25 +0100)]
arch/Config.in.arm: only enable BR2_ARM_CPU_HAS_NEON for ARMv8 in 32bit mode
A number of packages use BR2_ARM_CPU_HAS_NEON to know if the target handles
aarch32 neon instructions, which is only true for ARMv8 cores when they are
running in 32bit mode.
Notice: These cores do support neon-like instructions using a different
encoding in 64bit mode (it is a required part of ARMv8, similar to the FPU).
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A number of packages use BR2_ARM_CPU_HAS_ARM to know if the target handles
classic A32 instructions, which is only true for ARMv8 cores when they are
running in 32bit mode.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The math tests are experimental at the moment and require more
adaptions before they can be enabled again.
The locale tests are not compatible with musl toolchains,
so disable them.
Use latest git version from upstream for other bugfixes.
Erico Nunes [Mon, 5 Dec 2016 23:07:18 +0000 (00:07 +0100)]
efibootmgr: depends on wchar
After commit 3ae07b4746 recently, efibootmgr now selects
BR2_PACKAGE_GETTEXT if the toolchain requires it.
gettext depends on wchar, so this dependency should be propagated as
well.
menuconfig currently complains loudly if you select efibootmgr, with an
error such as:
warning: (... && BR2_PACKAGE_EFIBOOTMGR ... && ) selects
BR2_PACKAGE_GETTEXT which has unmet direct dependencies
(BR2_USE_WCHAR)
Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
efivar only makes sense on platforms that support UEFI.
UEFI is only supported by some architectures at the moment, being mostly
employed on platforms such as x86, x86_64 and aarch64. Some other
platforms such as MIPS and PowerPC may have some unofficial UEFI
support. UEFI is also limited to little endian architectures.
efivar was being supported in Buildroot without architecture
restrictions so far, however this has led to the creation of a number of
hacks in the recipes, mostly for architectures that are not supported by
UEFI.
In order to avoid spending more time to debug these failures and
maintaining more hacks for unsupported architectures, efivar can be
restricted to that platforms where it makes sense and where it is more
likely to receive some testing and actual usage.
The existing hacks for the now unsupported architectures are removed,
and the dependency is propagated to efibootmgr as it depends on efivar.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Erico Nunes [Mon, 5 Dec 2016 23:07:15 +0000 (00:07 +0100)]
efivar: fix comment after uClibc compatibility patch
uClibc support was recently added to efivar through a small
compatibility patch.
This commit updates a comment in the efivar recipe to reflect this, as
we no longer have glibc as the only supported C library.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux: generate KBUILD_BUILD_TIMESTAMP date whith LC_ALL=C
Fix kernel reproducible build if a non-C locale is used on the host
system.
When building the Linux kernel, scripts/gen_initramfs_list.sh does 'date
-d"$KBUILD_BUILD_TIMESTAMP" +%s'. In linux.mk, Buildroot sets
KBUILD_BUILD_TIMESTAMP to "$(shell date -d @$(SOURCE_DATE_EPOCH))".
For example, if LANG=fr_FR.UTF-8 is defined in the host system, it does
not work:
- LC_ALL=C date -d"$(LC_ALL=C date)" : ok
- LC_ALL=C date -d"$(LC_ALL=fr_FR.UTF-8 date)" : error
LANG/LC_ALL variables exported in the main Makefiles are not passed in
the $(shell ...) sub-shells.
Signed-off-by: Jean-Baptiste Trédez <jean-baptiste.tredez@basystemes.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>