summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * package/dbus-python: bump to version 1.2.8Joseph Kogut2018-11-292-2/+2
| | | | | | | | | | Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/libdrm: add optional cunit dependencyMatt Weber2018-11-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the option to install tests would result in the test cases that don't have a cunit dependency, to build and be installed. This patch adds an optional dependency on cunit so that all test cases can be built and installed to target. Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> [Thomas: keep as an optional dependency, as cunit is only useful for additional tests specific to the amdgpu backend] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/cunit: new packageMatt Weber2018-11-295-0/+28
| | | | | | | | | | | | Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> [Thomas: fix license, it's LGPL-2.0+.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/libnfs: bump to version 3.0.0Jörg Krause2018-11-293-3/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add an patch from upstream to fix building libnfs with the musl C library. This issue was introduced upstream between version 2.0.0 and version 3.0.0. Note, that upstreams commit message says it fixes a warning. However, as musl is more strictly regarding missing headers it actually fixes the build with musl. Furthermore, the COPYING license file was changed in the way that it now includes a clarification about the .x files being distributed under the simplified BSD license. We already note in LIBNFS_LICENSE that the .x files are BSD-2-Clause. So, updating the hash for this license file is enough. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/wolfssl: enable ARMv8 hardware accelerationSergio Prado2018-11-291-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable hardware acceleration for ARMv8 targets. When ARMv8 hardware acceleration is enabled on AArch64 without any additional flags, the build fails with the following messages: /tmp/cciv7Oei.s: Assembler messages: /tmp/cciv7Oei.s:580: Error: invalid addressing mode at operand 2 -- `ld1 {v0.2d},[x0,256]' /tmp/cciv7Oei.s:616: Error: invalid addressing mode at operand 2 -- `st1 {v0.2d},[x0,256]' /tmp/cciv7Oei.s:629: Error: invalid addressing mode at operand 2 -- `ld1 {v0.2d},[x0,256]' /tmp/cciv7Oei.s:669: Error: invalid addressing mode at operand 2 -- `st1 {v0.2d},[x0,256]' /tmp/cciv7Oei.s:1211: Error: invalid addressing mode at operand 2 -- `ld1 {v16.2d},[x0,304]' /tmp/cciv7Oei.s:1368: Error: invalid addressing mode at operand 2 -- `ld1 {v17.16b},[x19,304]' /tmp/cciv7Oei.s:1554: Error: invalid addressing mode at operand 2 -- `ld1 {v16.2d},[x0,304]' /tmp/cciv7Oei.s:1719: Error: invalid addressing mode at operand 2 -- `ld1 {v17.16b},[x19,304]' /tmp/cciv7Oei.s:1870: Error: invalid addressing mode at operand 2 -- `ld1 {v16.2d},[x0,304]' /tmp/cciv7Oei.s:2043: Error: invalid addressing mode at operand 2 -- `ld1 {v17.16b},[x19,304]' make[3]: *** [Makefile:3801: wolfcrypt/src/port/arm/src_libwolfssl_la-armv8-aes.lo] Error 1 This is because of some inline assembly in parts of the AES structure using the "m" constraint. So lets use the flag -mstrict-align to prevent this error. Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com> [Thomas: restrict the -mstrict-align workaround to AArch64, as ARMv8-A can also be used in an AArch32 build, and in this case, gcc doesn't support the -mstrict-align flag] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/wolfssl: bump to version 3.15.5Sergio Prado2018-11-292-2/+2
| | | | | | | | | | Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/perl-time-hires: remove packageFrancois Perrad2018-11-295-32/+0
| | | | | | | | | | | | | | | | This is a core Perl module (ie. included in the Perl distribution), so there is no point in having a separate package for it. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/gcc: enable __cxa_atexitAlexey Brodkin2018-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what GCC manual says [1]: -------------------------->8---------------------- --enable-__cxa_atexit Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of destructors, but requires __cxa_atexit in libc. This option is currently only available on systems with GNU libc ... -------------------------->8---------------------- Important disadvantages of a simple atexit() are that [2]: -------------------------->8---------------------- 1999 C Standard only requires that the implementation support 32 registered functions, although most implementations support many more. More important it does not deal at all with the ability in most implementations to remove DSOs from a running program image by calling dlclose prior to program termination. -------------------------->8---------------------- Also it seems like all libc's we support in Buildroot (Glibc, uClibc and musl) support __cxa_at_exit() so enable it unconditionally. FWIW if we look around we'll see: 1. In OpenEmbedded it is enabled for everything except gcc-cross-initial: [3], [4] 2. In Crosstool-NG it is enabled by default: [5] 3. In OpenWrt it is disabled only for uClibc, otherwise enabled: [6] So I think we should be good with it as well. [1] https://gcc.gnu.org/install/configure.html [2] https://itanium-cxx-abi.github.io/cxx-abi/abi.html#dso-dtor-motivation [3] https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/gcc/gcc-configure-common.inc#L59 [4] https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/gcc/gcc-cross-initial.inc#L23 [5] https://github.com/crosstool-ng/crosstool-ng/blob/master/config/cc/gcc.in#L270 [6] https://github.com/openwrt/openwrt/blob/master/toolchain/gcc/common.mk#L170 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Nicolas Cavallari <Nicolas.Cavallari@green-communications.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Mark Corbin <mark.corbin@embecosm.com> Cc: Romain Naour <romain.naour@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> Cc: Claudiu Zissulescu <claziss@synopsys.com> Cc: Cupertino Miranda <cmiranda@synopsys.com> Cc: Vineet Gupta <vgupta@synopsys.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/grpc: new packageRobert Rose2018-11-296-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Robert Rose <robertroyrose@gmail.com> [Thomas: - add missing Config.in dependencies inherited from BR2_PACKAGE_PROTOBUF, as well as the corresponding Config.in comment - replace spaces by tabs in grpc.mk indentation - remove superfluous GRPC_SOURCE variable - improved patch description.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/c-ares: support host buildRobert Rose2018-11-291-0/+1
| | | | | | | | | | | | | | | | | | A host version of this package will be useful as a dependency of the host-grpc package. Signed-off-by: Robert Rose <robertroyrose@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: bump ARC prebuild toolchain to arc-2018.09Evgeniy Didin2018-11-293-9/+9
| | | | | | | | | | | | | | | | | | Lets update prebuilt ARC toolchain to the most recent arc-2018.09. Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: bumb ARC tools to arc-2018.09 releaseEvgeniy Didin2018-11-2911-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit finally bumps ARC tools to the most recent arc-2018.09 release version. ARC GNU tools of version arc-2018.09 bring some quite significant changes like: * Binutils v2.31.1 with additional ARC patches * GCC 8.2.1 with additional ARC patches * glibc 2.28 with additional ARC patches More information on this release could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2018.09-release Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/netsnmp: drop our custom config script fixupsYann E. MORIN2018-11-291-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those custom fixups were added in 2011 with commit d1b42b24b88 (net-snmp: fixup paths in net-snmp-config) before we add generic config scripts fixups in 2013 with commit 834f9311aac (pkg-infra: add <pkg>_CONFIG_FIXUP to fix *-config files) These custom fixups enclose the includes and libraries paths in single quotes (presumably to protect them from further expnasion by the shell, in case there are spaces for example). It turns out that this breaks now that we replace the staging dir with $(dirname $0), as it is between single quotes. It looks like these fixups are really no longer needed anymore, since the generic fixups do the job just fine (and better). Fixes: http://autobuild.buildroot.org/results/2c5/2c5e379a06825bf8588bf070d733d2e1f98dab66/ http://autobuild.buildroot.org/results/eea/eea704463c3f14dbb9bd7f8aa23d4b61c25987f4/ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * package/ejabberd: bump to version 18.09Johan Oudinet2018-11-2812-2176/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This version requires much less patches than the previous one packaged in Buildroot. It is compatible with Erlang OTP 21. There are two remainning patches to: - change the Makefile rules so dependencies are not downloaded/compiled; - fix ejabberd user and load a default file in ejabberdctl script. The patch 0006-fix-install-permissions has been replaced by setting permissions on /etc/ejabberd directory via EJABBERD_PERMISSIONS. The patch 0009-disable-mod_avatar has been removed because eimp is a mandatory dependency since 0f86559d. Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-eimp: new packageJohan Oudinet2018-11-284-0/+27
| | | | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> [Thomas: add entry in DEVELOPERS file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-iconv: bump to version 1.0.10Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-sip: bump to version 1.0.26Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-stun: bump to version 1.0.25Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-oauth2: bump to version 0.6.3Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-yaml: bump to version 1.0.17Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-xmpp: bump to version 1.2.5Johan Oudinet2018-11-283-3/+5
| | | | | | | | | | | | | | This package now depends also on erlang-p1-tls and erlang-p1-zlib. Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-zlib: bump to version 1.0.4Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-xml: bump to version 1.1.34Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-stringprep: bump to version 1.0.14Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-tls: bump to version 1.0.25Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-cache-tab: bump to version 1.0.16Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/erlang-p1-utils: bump to version 1.0.13Johan Oudinet2018-11-282-2/+2
| | | | | | | | | | Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/pkg-rebar.mk: remove dependencies from rebar.configJohan Oudinet2018-11-287-197/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having a patch in every rebar package to remove the dependencies in the rebar.config file in order to avoid rebar downloading such dependencies at build time, implement it directly as a post-patch hook in the rebar infrastructure. Add a way to explicitly deactivate this behavior if any package needs such lines in the rebar.config file. Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> [Thomas: - rename macro to remove-rebar-config-dependencies - move the macro outside the inner-rebar-package, so that it is declared with the other utility macros found in pkg-rebar.mk] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * python-networkmanager: bump to version 2.1Joseph Kogut2018-11-282-5/+5
| | | | | | | | | | | | Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com> Acked-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/python-multidict: bump to version 4.5.2Asaf Kahlon2018-11-282-4/+4
| | | | | | | | | | Signed-off-by: Asaf Kahlon <asafka7@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/python-pycryptodomex: bump to version 3.7.1Asaf Kahlon2018-11-282-5/+5
| | | | | | | | | | | | | | | | License file update: correct spelling, and state the exact patent numbers. Signed-off-by: Asaf Kahlon <asafka7@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/python-engineio: bump to version 3.0.0Asaf Kahlon2018-11-282-4/+4
| | | | | | | | | | Signed-off-by: Asaf Kahlon <asafka7@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/msgpack: bump to version 3.1.1Fabrice Fontaine2018-11-282-2/+4
| | | | | | | | | | | | | | Add hash for license files Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * tslib: update to 1.18Martin Kepplinger2018-11-282-3/+3
| | | | | | | | | | | | | | | | | | For the curious, there's the changelog summary: https://github.com/kergoth/tslib/releases Signed-off-by: Martin Kepplinger <martink@posteo.de> Reviewed-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/strace: bump to version 4.25Baruch Siach2018-11-282-3/+3
| | | | | | | | | | | | | | | | | | | | This release also fixes compatibility with kernel 4.19 headers. Fixes: http://autobuild.buildroot.net/results/0763988c35a1de7d51c7094b5b002ed369f1a25f/ Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/strace: don't remove strace-graph unconditionallyBaruch Siach2018-11-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | strace-graph is a perl script. This script is removed unconditionally since commit 720c0ca5ba7 ("strace: convert to makefile.autotools.in format") from 2008. Since then Buildroot added support for perl on target. Don't remove strace-graph when perl is built for target. Signed-off-by: Baruch Siach <baruch@tkos.co.il> [Thomas: move the hook definition inside the condition.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/libid3tag: add .pc file and install to staging hookJörg Krause2018-11-272-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MPD project dropped autotools support in version 0.21.x in favor of meson. While adapting the package to the meson build infrastructure, the recognition of libid3tag failed, as only pkg-config is used to detect the library. Note, that the version bump of the mpd package to 0.21.x is not submitted, yet. To help finding the build system to detect libid3tag with pkg-config properly, add a .pc file and install it to staging. This is exactly what Debian and Fedora do as well. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
| * package/civetweb: add hash for license fileThomas Petazzoni2018-11-261-0/+1
| | | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/civetweb: bump version to 1.11John Faith2018-11-264-37/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v1.11 now has library and header install targets for use by apps that serve pages. The config changes allow enabling the civetweb webserver app binary and/or libs and headers. The C++ interface option is automatically enabled if C++ support is available. The civetweb Makefile sets -fPIC in CFLAGS when linking shared objects, but not when compiling the objects used in the library resulting in a link failure, so add -fPIC to COPT which is added to CFLAGS in its Makefile. The typo patch has already been incorporated upstream, so it was removed. Signed-off-by: John Faith <jfaith@impinj.com> [Thomas: - keep using "config", a "menuconfig" for just three sub-options is not relevant - move the BR2_PACKAGE_CIVETWEB_LIB option near the existing BR2_PACKAGE_CIVETWEB_SERVER option, since both allow to select what should be built/installed - remove BR2_PACKAGE_CIVETWEB_SHARED_LIB, the .mk file will use BR2_STATIC_LIBS/BR2_SHARED_LIBS/BR2_STATIC_SHARED_LIBS to know what to do - select BR2_PACKAGE_CIVETWEB_SERVER if BR2_PACKAGE_CIVETWEB_LIB is not enabled to ensure at least the server *or* the library is selected - introduce CIVETWEB_BUILD_TARGETS in the .mk file to properly use the appropriate make targets to build the server, static library and/or shared library - cleanup the use of CIVETWEB_INSTALL_TARGETS, and use it for both target and staging installation - factorize common installation options into a CIVETWEB_INSTALL_OPTS variable that is used for both the target and staging installation] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * grub2: add usage notes for grub2 arm and aarch64Erico Nunes2018-11-261-5/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add notes to test grub2 running on ARM using qemu. The arm section describes how to run it using u-boot and aarch64 shows how to do it using efi, which is similar to what has to be done for x86_64. The source for OVMF builds is also changed to https://www.kraxel.org/repos/jenkins/edk2/ which is the source for nightly builds (as rpms but which can be extracted in any distribution), as the sourceforge link provided only very old builds. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> [Thomas: - formatting fixes - simplify the AArch64/EFI example by using the aarch64_efi_defconfig] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * .gitlab-ci.yml: refresh with aarch64_efi_defconfigThomas Petazzoni2018-11-261-0/+1
| | | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * configs/aarch64_efi_defconfig: new defconfigErico Nunes2018-11-265-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | New generic defconfig for aarch64, to run on aarch64 servers compliant with EFI firmware and ACPI. This can also be tested with qemu, and is useful so that we have an arm defconfig with grub enabled. Tested with qemu 2.11.2 and AAVMF, the aarch64 virtual machine UEFI firmware. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> [Thomas: extend readme.txt with more details] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * boot/grub2: enable support for arm and aarch64 targetsErico Nunes2018-11-262-4/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit enables the arm-uboot, arm-efi and aarch64-efi grub2 platforms in Buildroot. With the uboot platform, the grub2 image gets built as a u-boot image and is loaded from u-boot through a regular "bootm". The only requirement from the u-boot side in order to allow this is that u-boot is built with CONFIG_API enabled. CONFIG_API seems to not be enabled by default in most in-tree configurations, however, it seems to be available for quite some time now. So it might be possible to use this even on older u-boot versions. This is available only for arm (32-bit). With the efi platform, grub2 gets built as an EFI executable. This allows EFI firmware to find and load it similarly as it can be done for x86_64. Also, since u-boot v2016.05, u-boot is able to load and boot an EFI executable, so the uboot efi platform can also be used from u-boot in recent versions. This has been enabled (mostly) by default for ARM u-boot. efi platform is available for both arm and aarch64. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> [Thomas: move the BR2_USE_MMU dependency in BR2_TARGET_GRUB2_ARCH_SUPPORTS] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * boot/grub2: add option to install toolsErico Nunes2018-11-263-0/+18
| | | | | | | | | | | | | | | | | | | | | | Add an option to install grub2 support tools to the target. In the context of Buildroot, some useful target tools provided are grub2-editenv, grub2-reboot, which provide means to manage the grub2, environment, boot order, and others. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * boot/grub2: separate target and host buildsErico Nunes2018-11-261-23/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | grub2 requires the host grub2-mkimage tool to build some of its target images. The current way of building this tool in the grub2 package is to perform a simultaneous host-tools/target-bootloader build during the grub2 build step. This method makes the recipe complex to understand, and proved to be a complication during the work to enable grub2 support for architectures other than x86. This patch tries to do a better separation between the build of grub2 host tools and target boot loader image, as a partial step to enable grub2 to build for other architectures. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/pkg-generic: adjust config scripts tweaks for per-package directoriesThomas Petazzoni2018-11-261-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adjusts the logic in pkg-generic.mk that tweaks the *-config shell scripts installed by various libraries to make it compatible with per-package directories. This requires two fixes: - replacing $(STAGING_DIR) with a relative path from the config script to the staging directory, rather than using an absolute path of the staging directory. Without this, a *-config script provided by package A, but called from package B per-package directory will return paths from package A per-package directory: $ ./output/per-package/mcrypt/host/usr/<tuple>/sysroot/usr/bin/libmcrypt-config --libs -L..../output/per-package/libmcrypt/host/usr/<tuple>/sysroot/usr/lib/ The libmcrypt-config script is installed by the libmcrypt package, and mcrypt is a package that depends on libmcrypt. When we call the libmcrypt-config script from the mcrypt per-package directory, it returns a -L flag that points to the libmcrypt per-package directory. One might say: but this is OK, since the sysroot of the libmcrypt per-package directory also contains the libmcrypt library. This is true, but we encounter a more subtle issue: because -L paths are considered before standard paths, ld ends up finding libc.so in the libmcrypt per-package directory. This libc.so file is a linker script that looks like this: GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) ) Normally, thanks to ld sysroot awareness, /lib/libc.so.6 in this script is re-interpreted according to the sysroot. But in this case, the library is *outside* the compiler sysroot. Remember: we are using the compiler/linker from the "mcrypt" per-package directory, but we found "libc.so.6" in the "libmcrypt" per-package directory. This causes the linker to really use the /lib/libc.so.6 from the host machine, obvisouly leading to a build failure such as: output/per-package/libgcrypt/host/opt/ext-toolchain/bin/../lib/gcc/nios2-linux-gnu/7.3.1/../../../../nios2-linux-gnu/bin/ld: cannot find /lib/libc.so.6 output/per-package/libgcrypt/host/opt/ext-toolchain/bin/../lib/gcc/nios2-linux-gnu/7.3.1/../../../../nios2-linux-gnu/bin/ld: cannot find /usr/lib/libc_nonshared.a output/per-package/libgcrypt/host/opt/ext-toolchain/bin/../lib/gcc/nios2-linux-gnu/7.3.1/../../../../nios2-linux-gnu/bin/ld: cannot find /lib/ld-linux-nios2.so.1 - Some *-config scripts, such as the apr-1-config script, contain references to host tools: CC=".../output/per-package/apr/hosr/bin/arm-linux-gcc" CCP=".../output/per-package/apr/hosr/bin/arm-linux-cpp" We also want to replace those with proper relative paths. To achieve this, we need to also replace $(HOST_DIR) with a relative path. Since $(STAGING_DIR) is inside $(HOST_DIR), the first replacement of $(STAGING_DIR) by @STAGING_DIR@ is no longer needed: replacing $(HOST_DIR) by @HOST_DIR@ is sufficient. We still need to replace @STAGING_DIR@ by the proper path though, as we introduce @STAGING_DIR@ references in exec_prefix and prefix variables, as well as -I and -L flags. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * Makefile: define TARGET_DIR_WARNING_FILE relative to TARGET_DIRThomas Petazzoni2018-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 7e9870ce32d6329d9e3d602247fbe1709a2275a4 ("core: introduce intermediate BASE_TARGET_DIR variable"), the definition of TARGET_DIR_WARNING_FILE was changed to use $(BASE_TARGET_DIR) instead of $(TARGET_DIR). However, this change is incompatible with per-package directories, and is in fact not needed. With per-package directories, using $(BASE_TARGET_DIR) means that TARGET_DIR_WARNING_FILE is output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM. Due to this, when skeleton-init-common or skeleton-custom attempt to install it, it fails, because it should be installed to their package per-package target directory, and not the global output/target directory that doesn't exist yet. The failure looks like this: /usr/bin/install -m 0644 support/misc/target-dir-warning.txt /home/thomas/projets/buildroot/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /usr/bin/install: cannot create regular file '/home/thomas/projets/buildroot/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM': No such file or directory make[1]: *** [package/pkg-generic.mk:336: /home/thomas/projets/buildroot/output/build/skeleton-init-common/.stamp_target_installed] Error 1 TARGET_DIR_WARNING_FILE is used in three places: - In skeleton-custom.mk and skeleton-init-common.mk, where as explained above, using $(TARGET_DIR) fixes the use of $(TARGET_DIR_WARNING_FILE) in the context of per-package target directories. - In fs/common.mk, where it is used as argument to $(notdir ...) to retrieve just the name of the warning file. So in this case, we really don't care about the path of the file, just its name. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * Makefile: move .NOTPARALLEL statement after including .config fileThomas Petazzoni2018-11-261-16/+16
| | | | | | | | | | | | | | | | | | In a follow-up commit, we will make the .NOTPARALLEL statement conditional on a Config.in option, so we need to move it further down. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * Makefile: rework main directory creation logicThomas Petazzoni2018-11-263-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the current code, the creation of the main output directories (BUILD_DIR, STAGING_DIR, HOST_DIR, TARGET_DIR, etc.) is done by a global "dirs" target. While this works fine in the current situation, it doesn't work well in a context where per-package host and target directories are used. For example, with the current code and per-package host directories, the output/staging symbolic link ends up being created as a link to the per-package package sysroot directory of the first package being built, instead of the global sysroot. This commit reworks the creation of those directories by having the package/pkg-generic.mk code ensure that the build directory, target directory, host directory, staging directory and binaries directory exist before they are needed. Two new targets, host-finalize and staging-finalize are added in the main Makefile to create the compatibility symlinks for host and staging directories. They will be extended later with additional logic for per-package directories. Thanks to those changes, the global "dirs" target is entirely removed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * support/scripts/check-host-rpath: split condition on two statementsThomas Petazzoni2018-11-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inside the check_elf_has_rpath(), we check if the host binary has a correct RPATH, which should be either an absolute path to $(HOST_DIR)/lib, or a relative path using $ORIGIN. Those two conditions are checked in a single statements, but as we are going to add a third condition, let's split this up a bit: - If we have a RPATH to $(HOST_DIR)/lib -> we're good, return 0 - If we have a RPATH to $ORIGIN/../lib -> we're good, return 0 - Otherwise, we will exit the loop, and return 1 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
OpenPOWER on IntegriCloud