Vincent Stehlé [Mon, 30 Mar 2015 12:50:22 +0000 (14:50 +0200)]
configs: add Freescale SABRE Auto board support
SABRE Board for Automotive Infotainment (SABRE Auto, a.k.a. SABRE-AI) is
Freescale's evaluation board based on the i.MX 6 ARM Cortex-A9 applications
processor.
Those defconfigs are an adaptation of freescale_imx6{q,dl}sabresd_defconfig for
SABRE Auto, and are thus based on Freescale "official" git repo on
git.freescale.com and SW release 3.10.17_1.0.0_ga.
Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Gilles Talis <gilles.talis@gmail.com> Cc: Peter Korsgaard <jacmet@sunsite.dk> Cc: Luca Ceresoli <luca@lucaceresoli.net> Cc: Gary Bisson <bisson.gary@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 31 Mar 2015 17:45:35 +0000 (19:45 +0200)]
package/nvidia-driver: add option to install CUDA MPS server
Using CUDA with NVidia requires those two programs if one wants to use
more than one program doing CUDA at the same time.
This is only available on x86_64.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Al West <al.west@v-nova.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 31 Mar 2015 17:45:34 +0000 (19:45 +0200)]
package/nvidia-driver: CUDA support does not require X.org
Currently, nvidia-driver always installs the X.org driver, assuming this
is a requirement for all functionalities provided by nvidia-driver, thus
pulling in quite a bunch of X.org packages.
However, it is perfectly legit to be doing CUDA (and OpenCL) work
without the full X.org stack, and indeed the NVidia CUDA and OpenCL
libraries do not require the X.org stack.
Split the configuration so that it is posible to install the different
parts independently from each others, so that CUDA can be installed all
on its own.
Reported-by: Al West <al.west@v-nova.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Al West <al.west@v-nova.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
where JIMTCL_LIB has the value 'a' for BR2_STATIC_LIBS=y builds. Which
means we're linking libjim.so to libjim.a. Not great.
This commit therefore reworks the installation logic of the jimtcl.mk
package to install the shared library when BR2_STATIC_LIBS is not set,
and the static library when BR2_STATIC_LIBS is enabled. The macro
JIMTCL_INSTALL_LIB now takes as argument where the library should be
installed, so that it can be used for both the target and staging
installations.
Note that we can only either build the shared library *or* the static
library with the jimtcl build system. There is no possibility of
building both.
Reported-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Jerzy Grzegorek [Thu, 15 Jan 2015 17:18:14 +0000 (18:18 +0100)]
jimtcl: change the way of defining the JIMTCL_INSTALL_LIB variable
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias [Mon, 30 Mar 2015 21:07:20 +0000 (18:07 -0300)]
toolchain/helpers: add check for mandatory uClibc options
We currently only check that the Buildroot configuration matches what is
available in the toolchain.
Since we're going to remove the check for LFS and make it a mandatory
feature, we will lose the corresponding buildroot option, so we won't be
able to use check_uclibc_feature as-is.
Introduce a magic value passed as the buildroot option name to recognise
checks for mandatory uclibc options that do not have a corresponding
option in buildroot.
If the buildroot option name is empty then the check is against a
mandatory uclibc option.
If a mandatory uclibc option is missing we reject the toolchain as being
unusable by buildroot.
[Thomas: minor tweaks in comment, remove space instead of tab.]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Like for --stop-on, make --exclude recognise the keyword 'virtual',
to stop on virtual packages (as explained in the help...).
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 24 Mar 2015 22:16:51 +0000 (23:16 +0100)]
docs/manual: document new graph-depends options
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 24 Mar 2015 22:16:50 +0000 (23:16 +0100)]
support/graph-depends: add option to completely exclude a package
Similar to --stop-on, but also omits the package from the graph.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 24 Mar 2015 22:16:49 +0000 (23:16 +0100)]
support/graph-depends: accepts globs to stop on package
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 24 Mar 2015 22:16:48 +0000 (23:16 +0100)]
support/graph-depends: add option to stop on specific packages
Add a new option to graph-depends, that users can set to stop the graph
on a specific (set of) package(s).
This accepts any actual package name, or the 'virtual' keyword to stop
on virtual packages.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bernd Kuhls [Tue, 31 Mar 2015 16:33:57 +0000 (18:33 +0200)]
package/libseccomp: needs headers >= 3.12
EM_AARCH64 was added to linux kernel with version 3.12:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/include/uapi/linux/elf-em.h?h=linux-3.12.y
Gustavo Zacarias [Tue, 31 Mar 2015 15:50:30 +0000 (12:50 -0300)]
package/x11r7/xserver_xorg-server: add --enable-libdrm for udev
If the libdrm package is enabled, the system is built with an udev
provider and MESA3D_DRI_DRIVER is disabled this adds a --disable-libdrm
to configure options, but udev still requires libdrm and results in a
build failure since libdrm include paths aren't filled in (missing drm.h
include error).
So add --enable-libdrm for the udev scenario to counteract the previous
--disable-libdrm.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias [Tue, 31 Mar 2015 10:59:20 +0000 (07:59 -0300)]
polarssl: switch download URL
Old wget versions aren't very happy with https moves/alt names hence
complain when trying to download from said sites.
Since polarssl is now mbed tls and everything got renamed switch to the
new URL to avoid this.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias [Mon, 30 Mar 2015 23:16:00 +0000 (20:16 -0300)]
mesa3d: specify llvm-prefix
When it's not defined an automatic search is triggered, which can find
/usr/bin/llvm-config on distributions that include all development files
(like gentoo) and have desktop packages installed.
So point it towards the staging dir which is where it should live
eventually if/when we've got it to avoid header/include path polution
that otherwise leads to build failures.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:21 +0000 (19:33 +0200)]
perl: use <pkg>_EXTRA_DOWNLOADS
Instead of manually using the DOWNLOAD macro (which should remain an
internal macro), this commit converts the Perl package to use
<pkg>_EXTRA_DOWNLOADS, now that it has been extended to allow full
URLs.
[Thomas: as suggested by Yann, keep comment explaining how we handle
perl-cross.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:20 +0000 (19:33 +0200)]
docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS
This commit updates the Buildroot manual for the variables used to
indicate where to download the source code from:
- It updates the description of <pkg>_SOURCE to make it clear that
Buildroot assume that the tarball is hosted at <pkg>_SITE.
- It updates the description of <pkg>_PATCH to indicate that not only
file names (assumed to be hosted at <pkg>_SITE) can be used, but
also full URLs. This allows to match with what the current code is
doing.
- It updates the description of <pkg>_EXTRA_DOWNLOADS to also
indicate that full URLs are now accepted, following the change made
in the previous commit.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:19 +0000 (19:33 +0200)]
pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
The current logic for <pkg>_EXTRA_DOWNLOADS assumes that it is a list
of files, all hosted at <pkg>_SITE. However, just like for
<pkg>_PATCH, it may be useful to specify <pkg>_EXTRA_DOWNLOADS entries
that are hosted on a different site than the package <pkg>_SITE.
This commit implements this, by re-using the same logic as the one
used for <pkg>_PATCH.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:18 +0000 (19:33 +0200)]
pkg-generic: refactor the "Downloading" message logic
In the .stamp_downloaded hook, the logic to decide whether or not to
display the "Downloading" message is treating the check of
<pkg>_SOURCE as a special case. But in fact, there is no real reason
to do so: the existing loop used for <pkg>_PATCH and
<pkg>_EXTRA_DOWNLOADS could work just as well.
This commit therefore refactors this piece of code, to have a single
loop checking <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:17 +0000 (19:33 +0200)]
pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display "Downloading" message
The .stamp_downloaded target displays the "Downloading" message even
if there is really something to download. However, this logic only
checks for <pkg>_SOURCE and <pkg>_PATCH: it does not check if
something needs to be downloaded in <pkg>_EXTRA_DOWNLOADS.
This commit fixes that, which makes sure that the "Downloading"
message is displayed if one of the items in <pkg>_EXTRA_DOWNLOADS has
not yet been downloaded.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:16 +0000 (19:33 +0200)]
pkg-generic: fix the logic showing the "Downloading" message
Even though the .stamp_downloaded target is executed for each package
being built, the pkg-generic infrastructure tries to not display the
"Downloading" message when there is in fact nothing to download.
Unfortunately, the logic was incorrect for the patch download: it
forgot the fact that <pkg>_PATCH can contain either file names (in
which case we assume the patch should be downloaded from <pkg>_SITE),
or full URLs. The latter case was not properly handled, as we were
checking if $(DL_DIR)/<full URL> existed, while we should be testing
if $(DL_DIR)/`basename <full URL>` exists.
This patch fixes that, which makes sure the "Downloading" message is
displayed only when necessary.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sun, 29 Mar 2015 17:33:15 +0000 (19:33 +0200)]
linux: use the package infrastructure to download patches
The linux package has a special handling of patches, with quite a bit
of legacy in it. A problem caused by this special handling is that the
linux package calls directly the DOWNLOAD_WGET macro, which means that
the package infrastructure isn't aware of which patches get
downloaded, and it prevents doing changes inside the package download
infrastructure.
This commit changes the handling of patches in the linux package in
the following way:
* The LINUX_PATCHES variable is kept as is: it lists all the patches
mentioned in the Config.in option BR2_LINUX_KERNEL_PATCH. This
option can contain http://, ftp://, https:// URLs, path to local
files or local directories.
This variable is *not* used by the generic package infrastructure,
so it is purely internal to the Linux package.
* The LINUX_PATCH variable is now filled in with the list of patches
that should be downloaded. It is derived from LINUX_PATCHES by
filtering the patches that have http://, ftp:// or https:// in
their path. Since <pkg>_PATCH is handled by the package
infrastructure, it means that those patches are now automatically
downloaded and applied by the package infrastructure.
* The LINUX_APPLY_PATCHES hook is renamed to
LINUX_APPLY_LOCAL_PATCHES, because it is now only responsible of
applying local patches: remote patches are handled by
LINUX_PATCH. The implementation of the hook is changed to filter
out the patches that have already taken care of by LINUX_PATCH, so
that we only iterate through the list of local patches or local
patch directories.
[Thomas: adjust comment in the code according to Yann comments.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Bernd Kuhls [Sun, 29 Mar 2015 14:22:28 +0000 (16:22 +0200)]
package/libseccomp: bump version to 2.2.0
- change upstream URL, project moved to github
- removed patches not needed anymore since project switched to autoconf
- add newly supported platforms to Config.in
[Thomas:
- remove hash file, since we're fetching from github now.]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sonic Zhang [Fri, 27 Mar 2015 21:10:23 +0000 (22:10 +0100)]
arch: BINFMT_FLAT_SHARED is not really shared for buildroot purposes
Although BINFMT_FLAT_SHARED is indeed a shared library format, it does
not support dynamic library loading with dlopen(). So for buildroot
purposes, BR2_STATIC_LIBS shouldn't be selected.
As it happens, the compiler options that are added for
BINFMT_FLAT_SHARED also make the compiler ignore the -static option, so
we can simply force BR2_STATIC_LIBS and things work out perfectly.
Therefore, remove the select of BR2_BINFMT_SUPPORTS_SHARED from
BINFMT_FLAT_SHARED, which in turn makes sure that BR2_STATIC_LIBS is
selected.
Sysdig is open source, system-level exploration: capture system state
and activity from a running Linux instance, then save, filter and
analyze.
[Thomas:
- remove unneeded 0001-makefile-driver-compile-options.patch, instead
pass KERNELDIR in the make options when building the driver, and
pass the contents of $(LINUX_MAKE_FLAGS) directly.
- use $(SYSDIG_BUILDDIR) instead of $(@D)/buildroot-build, so that
the package does not depend on the package infra using specifically
buildroot-build as the build subdirectory.
- use $(MAKE) -C <foo> instead of cd <foo>; $(MAKE).
- rename 0002 patch to 0001, since the 0001 patch is removed.]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com> Reviewed-by: Ryan Barnett <ryan.barnett@rockwellcollins.com> Tested-by: Ryan Barnett <ryan.barnett@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This version comes with a new build system based on autoconf/automake,
so we switch from generic-package to autotools-package. However, since
the tarball does not contain a pre-generated configure script, we have
to set LOGROTATE_AUTORECONF = YES.
[Thomas:
- add comment explaining why AUTORECONF = YES is needed
- expand commit log
- use --without/--with instead of --with=yes/--with=no
- fix indentation in the ACL condition]
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>