The prosody configure script defines CFLAGS as -fPIC -Wall, but
because we pass our own CFLAGS, the -fPIC goes away, causing a build
failure when building shared libraries on x86-64:
/home/test/autobuild/run/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-amd-linux-gnu/6.2.0/../../../../x86_64-amd-linux-gnu/bin/ld: encodings.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
So let's pass this -fPIC flag explicitly in CFLAGS. We don't bother
passing it conditionally !BR2_STATIC_LIBS because other packages (e.g
lua) also pass -fPIC unconditionally.
[Peter: only sed if file exists] CC: Jan Kundrát <jan.kundrat@cesnet.cz> CC: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Matt Weber [Mon, 6 Nov 2017 12:13:28 +0000 (06:13 -0600)]
uboot-tools: use local libfdt.h
The use of libfdt.h by u-boot is using the
<system-path>. The libfdt part of uboot
is expriencing a lot of change and this patch
should be overcome by events post uboot-2017.11
release.
Jan submitted the following upstream
https://patchwork.ozlabs.org/patch/833760/
Peter Korsgaard [Sun, 5 Nov 2017 21:34:02 +0000 (22:34 +0100)]
libssh2: revert to previous crypto defaults
The recent crypto handling change (commit 04a1031d3: package/libssh2: Add
selectable crypto libraries) had the unfortunate side effect that it no
longer automatically selects the most suitable crypto backend (E.G. one
where the dependency is already enabled), so all users not wanting to use
the mbedtls backend need to explicitly configure this.
Fix this by inverting the logic so the crypto backend sub options use
'depends on' their dependencies instead of 'select', so only the available
backends are displayed.
Like before, default to openssl if no crypto backend dependencies are
currently enabled.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Gary Bisson [Tue, 15 Aug 2017 16:14:28 +0000 (18:14 +0200)]
qt5base: add qmake.conf fixup for i.MX platforms
As stated in QTBUG-61156 [1], since Qt5.9 all the Qt apps fail to start
on i.MX platforms.
The reason is that the qmake.conf should apparently now specify which
eglfs backend to use.
It can be seen in the qmake.conf example for i.MX [2].
It has also been integrated into the Yocto meta-freescale layer [3].
Although this issue can be worked around by exporting a variable
(QT_QPA_EGLFS_INTEGRATION=eglfs_viv), this patch aims at providing
a more user-friendly approach by modifying qmake.conf when created.
uClibc doesn't implement __register_atfork() on noMMU systems, causing
a build failure of libressl. Since openssl is available as an
alternative on such platforms, we just disable libressl on
uClibc/noMMU systems.
Fixes:
/home/thomas/projets/buildroot/output/build/libressl-2.5.5/crypto/.libs/libcrypto.a(arc4random.o): In function `_rs_init.part.1':
arc4random.c:(.text+0x74): undefined reference to `__register_atfork'
collect2: error: ld returned 1 exit status
This build issue is not visible in the autobuilders, because libressl
is only selectable through a choice, which isn't randomized by the
autobuilder logic.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The configure checks for these use AC_CHECK_DECLS, which define the symbol
to 0 if not available - So adjust the code to match. From the autoconf
manual:
Ethtool has a configure script option allowing the enabling or disabling of
pretty printing for drivers, SFP modules etc which can save a significant
amount of bytes on the root filesystem. Allow selecting that, and turn it on by
default (like ethtool's configure script).
g_cclosure_marshal_VOID__VOID is defined both in libgobject.a and
libgstreamer.a. It is probably possible to fix this, but gstreamer0.10
has been deprecated for a long time now and is anyway unlikely to be
used in static-only situations, so let's just require dynamic linking.
Propagate to the reverse dependencies. opencv3 already did depend on
dynamic libs.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: André Hentschel <nerv@dawncrow.de> Reviewed-by: André Hentschel <nerv@dawncrow.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Otherwise the (handwritten) configure script uses a config.guess script from
2010 to figure out the build host, breaking builds on ppc64le hosts.
The result of --host / --build is only used to detect if we are building for
Windows or not, which is why things are working on x86(-64) build hosts
without specifying --host even though we are cross compiling - But this may
change in the future, so we better pass the correct values.
Passing extra jimtcl configure flags is unfortunately not forseen in the
usb_modeswitch Makefile, so add a small patch making this possible.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Otherwise the (handwritten) configure script uses a config.guess script from
2010 to figure out the build host, breaking builds on ppc64le hosts.
The result of --host / --build is only used to detect if we are building for
Windows or not, which is why things are working on x86(-64) build hosts
without specifying --host even though we are cross compiling - But this may
change in the future, so we better pass the correct values.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This version bump fixes
* CVE-2017-6440
* CVE-2017-6439
* CVE-2017-6438
* CVE-2017-6437
* CVE-2017-6436
* CVE-2017-6435
* CVE-2017-5836
* CVE-2017-5835
* CVE-2017-5834
* CVE-2017-5545
* CVE-2017-5209
... and several others that didn't receive any CVE (yet).
The dependency to libxml2 was removed.
Autoreconf is not needed anymore, the upstream tarball includes a
configure script.
[Peter: also drop host-pkgconf dependency, only used for cython] Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Romain Naour [Sat, 4 Nov 2017 16:01:25 +0000 (17:01 +0100)]
package/mesa3d: remove old patch for uClibc
This patch is no longer necessary since Buildroot is using uClibc-ng
and the patch [1] as been merged upstream.
It's 2017 and uClibc toolchains have been rebuild with uClibc-ng.
Andrey Smirnov [Fri, 3 Nov 2017 18:49:53 +0000 (11:49 -0700)]
fs: add missing $$(sep) to pre- and post-command hooks code
When multiple hooks are registred, both pre-a and post-command hooks'
foreach loops need to have a separator at the end in order for the
code to work as intended. Without the separator all hooks end up as a
one single line command thus making all but the first hook into
no-ops.
Peter Korsgaard [Thu, 2 Nov 2017 10:45:20 +0000 (11:45 +0100)]
qt5webengine: only available on x86(-64) hosts
The -m32 compiler flag is used for 32bit builds and the host tools have
limited architecture support. It may work in some situations (e.g.
on aarch64 host when building a 64-bit target), but it's equally likely
that it breaks and those situations are not tested. So just limit to
x86(-64) hosts.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Arnout: explain that it may work in some situations] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Peter Korsgaard [Thu, 2 Nov 2017 10:45:19 +0000 (11:45 +0100)]
luajit: only available on x86(-64) hosts
The -m32 compiler flag is used for 32bit builds and host-luajit has
limited architecture support. Building for a 32-bit target on a 32-bit
host should always work, but we haven't tested that and it's very
unlikely that someone needs it. So just limit to x86(-64) hosts.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Arnout: clarify that it might work on 32-bit hosts for a 32-bit target] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Matt Weber [Wed, 18 Oct 2017 16:55:23 +0000 (11:55 -0500)]
python-config.sh: don't reassign ${prefix}
When prefix is set to a path like /usr during crossbuild
the sed operations end up executing twice, once for the prefix
reassignment and another for includedir if it is set as a string
including the ${prefix} variable. This results in an issue
when the build directory is under /usr.
This patch updates the remaining location which uses the prefix
variable to also sed and update to use the real path.
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Arnout: refer to autobuild failures that still exist] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Yann E. MORIN [Sun, 5 Nov 2017 09:14:56 +0000 (10:14 +0100)]
core/reproducible: do not override SOURCE_DATE_EPOCH
SOURCE_DATE_EPOCH is currently forcibly set (to either the git commit
date, or the last release date).
However, the spec mandates that it should not be modified if already
set: https://reproducible-builds.org/specs/source-date-epoch/
Build systems MUST NOT overwrite this variable for child
processes to consume if it is already present.
Abide by the rule, and only set it if not already set.
This will allow users to pass it from an upper-layer buildsystem (e.g. a
jenkins or gitlab-ci job, for example), when they have a reson to do so.
Reported-by: Peter Korsgaard <peter@korsgaard.com> Reported-by: Einar Jón Gunnarsson <tolvupostur@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Einar Jón Gunnarsson <tolvupostur@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Sam Voss [Wed, 1 Nov 2017 16:22:56 +0000 (11:22 -0500)]
package/libssh2: Add selectable crypto libraries
Currently, the selection of the backend is based on a priority order,
which is not always desirable: not all features are available for all
backends, as reported upstream:
https://github.com/libssh2/libssh2/issues/213
In that particular case, the problem is that libgcrypt is unable to
read encrypted certificates created with openssl, but it is likely
that other incompatibilities exist as well.
As such, allow a user to select the backend most appropriate to their
use-case.
Note that this changes the defaults: previously, if openssl was already
selected and we additionally select libssh2, openssl would be used as
a backend. Now, mbedtls is the default so if the user doesn't change
it, mbedtls will be used.
Signed-off-by: Sam Voss <sam.voss@rockwellcollins.com>
[Arnout: remove now-unneeded comment in .mk file] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Joseph Kogut [Fri, 3 Nov 2017 22:25:33 +0000 (15:25 -0700)]
python-websockets: new package
[Peter: add license hash, fix Config.in, correct license as pointed out by
Yegor] Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Evgeniy Didin [Wed, 1 Nov 2017 14:04:31 +0000 (17:04 +0300)]
toolchain: Bump ARC tools to arc-2017.09 release
This commit finally bumps ARC tools to the most recent arc-2017.09 release version.
ARC GNU tools of version arc-2017.09 bring some quite significant changes like:
* Binutils v2.29 with additional ARC patches
* GCC 7.1.1 with additional ARC patches
* glibc 2.26 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-2017.09-release
Signed-off-by: Evgeniy Didin <didin@synopsys.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: arc-buildroot@synopsys.com Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Andrey Smirnov [Fri, 3 Nov 2017 00:47:57 +0000 (17:47 -0700)]
package/python-toml: bump to version 0.9.3
Bump package to version 0.9.3 and change _SETUP_TYPE to
'setuptools', since its setup.py now uses 'setuptools' by default and
switches to 'distutils' only as a fallback[1]
Cc: Paul Cercueil <paul.cercueil@analog.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Due to this, the fiber module gets compiled even if
BR2_PACKAGE_BOOST_FIBER is disabled, causing build failures when NPTL
is not available (the fiber library needs NPTL threads).
Signed-off-by: Adam Duskett <aduskett@gmail.com> Tested-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that ARC supports glibc, stress-ng can be built. Unfortunately,
like NIOS2, it doesn't implement FE_INVALID and a bunch of other
<fenv.h> definitions, so let's prevent stress-ng from being built on
ARC.
lua-sdl2 CMakeLists.txt files did not explicitly indicate that it's a
C-only project, and therefore CMake by default tries to find a C++
compiler, causing a build failure when none was available.
This commit fixes that by adding a patch that adjusts the project()
definitions in CMakeLists.txt.
Matt Weber [Wed, 1 Nov 2017 17:18:49 +0000 (12:18 -0500)]
uboot-tools: disable pylibfdt
The current U-Boot build system assumes that if swig is installed on
the host system, it should build pylibfdt, without checking if other
dependencies are available. This causes a number of build failures.
This commit fixes that by using concepts from the future upstream fix
(post 2017.11), which sets up a kconfig variable for pylibfdt and
conditionally enables the swig wrapper creation (default=n).
This patch only affects uboot-tools, in which we never need
pylibfdt. The logic in the uboot package, with its
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT option, remains unchanged.
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Tested-by: Jan Kundrát <jan.kundrat@cesnet.cz> Reviewed-by: Jan Kundrát <jan.kundrat@cesnet.cz>
[Thomas: improved commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Tested-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>