Currently, it is possible that more than one provider of a virtual package
is selected in the menuconfig.
This leads to autobuild failures, and we do not protect the user from
making a mistake in the configuration. The failure is then hard to
troubleshoot in any case.
We can't use kconfig constructs to prevent this, since kconfig does not
tell how many options did a select on another option.
This change introduces a new variable a provider *must* define to include
all the virtual packages it is an implementation of. Then, when evaluating
the package's rules, we check that the provider is indeed the declared one
for each virtual package it claims to be an implementation of.
This works by taking advantage that when more than one provider is
selected, only one of them will 'win' in setting the _PROVIDES_FOO
option. Thus any provider just has to check it is indeed the declared
provider. If not, it means that one or more other provider is selected.
This gives the opportunity to the user to change its configuration, and
we can match the error message in the autobuilders to skip those failures
(we can skip them instead of reporting them, since they are obviously
configuration errors that should not happen in the first place.)
[Note: kudos to Arnout for suggesting this actual implementation. :-)]
Fixes:
http://autobuild.buildroot.org/results/285/2851069d6964aa46d26b4aabe7d84e8c0c6c72cehttp://autobuild.buildroot.net/results/9b7/9b7870354d70e27e42d3d9c1f131ab54706bf20e
[...]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Quoting Thomas on IRC:
> sstrip is a piece of crap that we should exterminate
> from the surface of the planet
sstrip is now unmaintained, has a long history of generating butchered
binaries in some cases, and does not gain that much space in the end.
We'd like to obliviate sstrip from the strip options, anihilate the
sstrip package, scorch any reference in fire, and cleanse our tree
free of any remnants...
But first, let's just deprecate it for now.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Following the issues reported by Jerry <g4@novadsp.com>, it appears
that there are a number of U-Boot configuration variables we are not
checking properly, leaving users with weird behavior at build time.
This commit extends the existing U-Boot checks to verify that when a
custom version, custom tarball, or custom Git or Mercurial
repositories are selected, the appropriate fields are not empty in the
configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
ipsec-tools currently fails to build for Blackfin due to GLOB_TILDE
not being supported in Blackfin external toolchains. However, after
fixing this problem (which will be fixed in later versions of the
Blackfin external toolchains) allows to discover that ipsec-tools uses
fork() anyway.
Therefore, this patch simply marks ipsec-tools as not available on
non-MMU systems.
Consequently, it fixes:
http://autobuild.buildroot.org/results/fc4/fc4ef4101a20e64eb52da56557d6996dd73b3d86/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Even though some Blackfin processors have PCI interfaces, the PCI
support is not supported by the Linux kernel: it has been marked as
broken since 2008. This means there's probably little interest for PCI
on Blackfin, and consequently little interest about getting pciutils
to build.
Fixes http://autobuild.buildroot.net/results/a27/a27ce61967ef8f780887f7681c8b0edd91656be6/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
samba produces particularly large binaries, and the relocations needed
for it do not fit in the possible relocation mechanisms available on
AVR32. Since samba is very unlikely to be used on AVR32, let's just
disable it, as we've already done for samba4.
Fixes:
http://autobuild.buildroot.net/results/0142b1d5b8c3f20f1bff76ece646d901407f7490/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
fixes
http://autobuild.buildroot.net/results/27a/27a674c6a19a729fae5cc33de0360b2a061930c1/
This patch indeed fixes several problems based on the autobuilder-defconfig used.
1) Add missing dependencies when opengl is detected by webkit to satisfy autobuilder:
checking which GPU acceleration backend to use... opengl
checking for XCOMPOSITE... yes
checking for XDAMAGE... no
configure: error: Package requirements (xdamage) were not met:
2) ... but opengl should not have been detected with the used defconfig:
$ grep MESA .config
BR2_PACKAGE_MESA3D=y
which will lead to a link error although webkit configure found all dependencies:
/home/br2/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/4.7.3/../../../../mips-linux-gnu/bin/ld: cannot find -lGL
3) same is valid for glx, having GL/glx.h means nothing
4) add some configure options for gles/egl as well, just to make sure ;)
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For some reason, we were keeping gdb version 6.6a specially for
Blackfin. However, it turns out that support for Blackfin was merged
in gdb 7.4 (cross-gdb and gdbserver, not native gdb on the
target). Therefore, we can simply remove the support for version 6.6a
and use 7.5 as the default.
Both 7.4 and 7.5 were built tested, including cross-gdb and gdbserver.
The original reason to switch to 7.x is that 6.6a doesn't build for
Blackfin FLAT, and while it builds for Blackfin FDPIC, it only builds
libiberty.a and does not actually build a cross debugger.
Fixes:
http://autobuild.buildroot.org/results/b47/b47f85553336b7f63ee4ecdf8598374ce4a225a3/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The build of host-gdb 7.4 fails due to some texinfo issue. To avoid
that, use the same trick as is used for the target variant of gdb:
tell gdb that makeinfo is missing.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The file external.mk was included before fs/common.mk, so it was impossible
to add rootfs targets using the BR2_EXTERNAL mechanism.
This change moves the inclusion of fs/common.mk before external.mk to allow
this.
Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
[ThomasDS: rebased, update commit message]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Makefile's target "install-magickincarchHEADERS" and "magick-install-data-local"
install both the same file (magick-baseconfig.h) in the same time...
The problem can be reproduced with:
mkdir /tmp/bar
/usr/bin/install -c -m 644 foo /tmp/bar &
/usr/bin/install -c -m 644 foo /tmp/bar/foo
/usr/bin/install: cannot create regular file '/tmp/bar/foo' : File exists
So, remove one of them.
Fixes:
http://autobuild.buildroot.net/results/d34/d34077ce582866c50bbd90de10bbe593e39463f1/build-end.log
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
By design, building duma on Blackfin and other non-MMU platforms is
quite useless: it uses page mappings to detect buffer overrun and
use-after-free programming errors. Therefore, this commit simply marks
duma as not available on non-MMU platforms.
Fixes:
http://autobuild.buildroot.org/results/951/9519d7abb45c6a789874ec6bb84418c31a98916b/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
There will soon be new options to the graph-depends script, which we
can only sanely pass via environment variables.
Currently, we use such an environment variable to pass the maximum depth
of the dependency graph; the name of that variable is explicit that it
contains just the depth.
However, there has been so far no release of Buildroot which would make
use of that variable, so no user should have come to rely on it.
Rename that variable so it is less specific, and more generic, so it can
be used to pass more options to graph-depends.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
We need to tell the duma Makefile what OS we're gonna run on, or it
uses default values.
It turns out the default values are the same as for OS=linux (and so
this change should be a no-op), but it's just better to force it, and
it avoids a warning during the build.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Even though pulseaudio has some HAVE_FORK compile-time conditionals to
avoid using fork(), those parts of pulseaudio are not using it. Since
using pulseaudio on !MMU platforms is fairly unlikely, we simply
disable it when no MMU is available, and propagate this dependency to
the appropriate locations.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
fluxbox uses the fork() system call, not available on noMMU
platforms. It's also fairly unlikely to have to use a full-blown
X.org window manager on such platforms.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
php-imagick selects imagemagick, and imagemagick 'depends on
BR2_USE_MMU', but this dependency was not propagated to
php-imagick. This commit fixes that.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
zyre selects filemq, and filemq 'depends on BR2_USE_MMU', but this
dependency was not propagated to zyre. This commit fixes that.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
sane-backends currently doesn't build with the ADI external
toolchains, due to an internal compiler failure. However, using the
internal toolchain backend for Blackfin goes past this internal
compiler failure, but raises the problem that sane-backends uses
fork(). Sane-backends has a --enable-pthreads option that allows to
use threads instead of forking in some parts of sane, but there are
still some other areas of sane-backends that continue to use fork().
Since the probability of using sane-backends on a noMMU system is
fairly small, we'll just disable this package for now on such
architectures, until someone cares enough to investigate deeper.
Fixes:
http://autobuild.buildroot.org/results/136/136100c3a2d843b7915fdd83d23d8b301fee577e/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
elfutils depends on !BR2_avr32, but this dependency was not properly
propagated to the comment about toolchain options. This commit fixes
that.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
printf is POSIX-compliant, echo -e/n is not.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
printf is POSIX-compliant, echo -e/n is not.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
No functional change, but cleaner.
Remove the double --disable-manuals and move the debug handling together
with the other optional configure flags.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
ldconfig breaks links created by gpu-viv-bin-mx6q.
fixes
http://autobuild.buildroot.net/results/ab5/ab57dd3729d529366808cbfc802f49360b2ec2b9/
[Peter: use NETSNMP_INSTALL_*_OPT, only install initscript for sysv init]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Qt5Quick1 module doesn't need OpenGL libs and declarative module.
This module can be used to port qt4 qml apps to qt5. Patch has been tested
with linuxfb output plugin.
Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com>
Reviewed-by: Fatih Aşıcı <fatih.asici@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This package fails to compile for MIPS64 n32 platforms. We are in
conversations with upstream to fix this problem. Meanwhile we disable
this package until we fix it.
Fixes:
http://autobuild.buildroot.net/results/0e3/0e3f1482d6f2f9bddc53d4e78b575120a2729e1d/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The --with-fontdir switch has been substituted by the --with-fontrootdir
switch a few versions ago. The use of the old configuration switch was
causing error messages like the following:
_FontTransOpen: Unable to Parse address ${prefix}/share/fonts/X11/*/
[dix] Could not init font path element ${prefix}/share/fonts/X11/*/, removing from list!
Signed-off-by: Filippo Sironi <filippo.sironi@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
this patch fixes :
luajit: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>