43568 Commits

Author SHA1 Message Date
Thomas Petazzoni
d7ed6c7ce7 package/gcc: disable libcilkrts when there is no thread support
The libcilkrts configure script errors out with "Pthreads are required
to build libcilkrts" if the C library doesn't have thread support. To
fix that, we disable libcilkrts when thread support is not available.

This issue was not noticed until now, because we only regularly build
a no-thread toolchain for ARM, and libcilkrts was enabled on ARM only
starting in gcc 7.x.

This fixes the build of no-thread toolchains on architectures where
libcilkrts is supported, i.e x86/x86-64, ARM and Sparc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 076fd27da721971f44f681d5a06f68496371d96a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:35:56 +02:00
Thomas Petazzoni
6e2e798242 package/gcc: disable libcilkrts when there is no thread support
The libcilkrts configure script errors out with "Pthreads are required
to build libcilkrts" if the C library doesn't have thread support. To
fix that, we disable libcilkrts when thread support is not available.

This issue was not noticed until now, because we only regularly build
a no-thread toolchain for ARM, and libcilkrts was enabled on ARM only
starting in gcc 7.x.

This fixes the build of no-thread toolchains on architectures where
libcilkrts is supported, i.e x86/x86-64, ARM and Sparc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 076fd27da721971f44f681d5a06f68496371d96a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:35:42 +02:00
Martin Bark
df81782687 package/ca-certificates: create ca-certificates.crt reproducibly
Sort the certificates into alphabetical order so the contents of
ca-certificates.crt can be built reproducibly.

Note: The certificates are sorted uppercase then lowercase filenames
so the contents of ca-certificates.crt matches the source debian package.

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit c61b49e5b5c83237c8895d8caf76a9c448c41241)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:34:06 +02:00
Martin Bark
1a33cfffc4 package/ca-certificates: create ca-certificates.crt reproducibly
Sort the certificates into alphabetical order so the contents of
ca-certificates.crt can be built reproducibly.

Note: The certificates are sorted uppercase then lowercase filenames
so the contents of ca-certificates.crt matches the source debian package.

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit c61b49e5b5c83237c8895d8caf76a9c448c41241)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:33:56 +02:00
Martin Bark
b557259ab4 package/ca-certificates: fix rebuilds
Rebuilding ca-certificates using make ca-certificates-rebuild
caused duplicate certificates to be installed in the target. Its build
system is broken: it doesn't detect that the output file already exists,
and instead of overwriting it, a duplicate is generated under a
different name. The net effect is that all certificates are installed
twice after rebuild.

Fix this by cleaning the build directory before building the package.

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit 42b10634c628918c753bfb1aad4f950fa5d41299)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:33:16 +02:00
Martin Bark
89500d4219 package/ca-certificates: fix rebuilds
Rebuilding ca-certificates using make ca-certificates-rebuild
caused duplicate certificates to be installed in the target. Its build
system is broken: it doesn't detect that the output file already exists,
and instead of overwriting it, a duplicate is generated under a
different name. The net effect is that all certificates are installed
twice after rebuild.

Fix this by cleaning the build directory before building the package.

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit 42b10634c628918c753bfb1aad4f950fa5d41299)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:33:02 +02:00
Martin Bark
8ca7134eca package/ca-certificates: don't hash certificates.crt
c_rehash looks at all files in /etc/ssl/certs, generates the hash for
the certificates in them, and makes a symlink from the hash to the
certificate file.

However, ca-certificates.crt is also installed in /etc/ssl/certs and
it contains all the certificates. c_rehash will take one of them (the
first?) and create a symlink from that hash to ca-certificates.crt.
Usually, this results in an error like:

WARNING: Skipping duplicate certificate ca-certificates.crt

and all is well. However, depending on filesystem order,
ca-certificates.crt may come first, and the actual certificate is
not symlinked.

To fix this install certificates.crt to /etc/ssl/certs *after* we run
c_rehash to prevent it getting hashed by mistake.

Note: $(TARGET_DIR)/etc/ssl/certs/ is already removed during install so
this fix also works for rebuilds.

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit d07ddd8e4ed576dbce4c33ab006f342e24d3bd6b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:31:49 +02:00
Martin Bark
c9bb8015f4 package/ca-certificates: don't hash certificates.crt
c_rehash looks at all files in /etc/ssl/certs, generates the hash for
the certificates in them, and makes a symlink from the hash to the
certificate file.

However, ca-certificates.crt is also installed in /etc/ssl/certs and
it contains all the certificates. c_rehash will take one of them (the
first?) and create a symlink from that hash to ca-certificates.crt.
Usually, this results in an error like:

WARNING: Skipping duplicate certificate ca-certificates.crt

and all is well. However, depending on filesystem order,
ca-certificates.crt may come first, and the actual certificate is
not symlinked.

To fix this install certificates.crt to /etc/ssl/certs *after* we run
c_rehash to prevent it getting hashed by mistake.

Note: $(TARGET_DIR)/etc/ssl/certs/ is already removed during install so
this fix also works for rebuilds.

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit d07ddd8e4ed576dbce4c33ab006f342e24d3bd6b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:31:38 +02:00
Yann E. MORIN
8a645fb03b core: detect and reject build paths which contain an '@'
gcc does not build when the srcdir path contains a '@', because that
path is then substitued in a texi file as argument to an @include
directive. But then, the '@' in the path will start a command evaluation
of its own, thus breaking the build. For example, with a $(O) path set
to /home/ymorin/dev/buildroot/O/to@ti :

    perl ../../gcc/../contrib/texi2pod.pl ../../gcc/doc/invoke.texi > gcc.pod
    ../../gcc/doc/invoke.texi:1678: unknown command `ti'
    ../../gcc/doc/invoke.texi:1678: @include: could not find /home/ymorin/dev/buildroot/O/to/build/host-gcc-initial-7.3.0/build/gcc/../../gcc/../libiberty/at-file.texi

[Peter: use findstring instead of subst/compare]
Reported-by: c32 on IRC
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

(cherry picked from commit 7007dc2bc99ad191c418c468707cdc3980273cda)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:30:02 +02:00
Yann E. MORIN
2fcf3e1295 core: detect and reject build paths which contain an '@'
gcc does not build when the srcdir path contains a '@', because that
path is then substitued in a texi file as argument to an @include
directive. But then, the '@' in the path will start a command evaluation
of its own, thus breaking the build. For example, with a $(O) path set
to /home/ymorin/dev/buildroot/O/to@ti :

    perl ../../gcc/../contrib/texi2pod.pl ../../gcc/doc/invoke.texi > gcc.pod
    ../../gcc/doc/invoke.texi:1678: unknown command `ti'
    ../../gcc/doc/invoke.texi:1678: @include: could not find /home/ymorin/dev/buildroot/O/to/build/host-gcc-initial-7.3.0/build/gcc/../../gcc/../libiberty/at-file.texi

[Peter: use findstring instead of subst/compare]
Reported-by: c32 on IRC
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

(cherry picked from commit 7007dc2bc99ad191c418c468707cdc3980273cda)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:29:53 +02:00
Francois Gerin
7b02eb66cd qt download site update
The download link was broken, former qt versions are stored into a
distinct location.

Signed-off-by: Francois Gerin <francois.gerin@essensium.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2e6cd5c2d622eb1d092c1639b129a24e79c84367)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:28:32 +02:00
Francois Gerin
73ea45a608 qt download site update
The download link was broken, former qt versions are stored into a
distinct location.

Signed-off-by: Francois Gerin <francois.gerin@essensium.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2e6cd5c2d622eb1d092c1639b129a24e79c84367)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:28:22 +02:00
Peter Korsgaard
b5c0f5967b spice: security bump to version 0.14.1
Fixes CVE-2018-10873: A vulnerability was discovered in SPICE before version
0.14.1 where the generated code used for demarshalling messages lacked
sufficient bounds checks.  A malicious client or server, after
authentication, could send specially crafted messages to its peer which
would result in a crash or, potentially, other impacts.

Drop patches as they are now upstream.

Add host-pkgconf as the configure script uses pkg-config.  Drop removed
--disable-automated-tests configure flag.

Add optional opus support, as that is now supported and needs to be
explicitly disabled to not use.  Explicitly disable optional gstreamer
support for now as the dependency tree is fairly complicated.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit f33f7a4f6407f624edb4b4ffe54cb09e029a49b2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:23:50 +02:00
Peter Korsgaard
13ea5c877f spice-protocol: bump version to 0.12.14
Needed by spice 0.14.x

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit de8a4b747fb82f4a260d7d0451eaf99dfc745bc4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:23:19 +02:00
Peter Korsgaard
025ba3e580 spice: security bump to version 0.14.1
Fixes CVE-2018-10873: A vulnerability was discovered in SPICE before version
0.14.1 where the generated code used for demarshalling messages lacked
sufficient bounds checks.  A malicious client or server, after
authentication, could send specially crafted messages to its peer which
would result in a crash or, potentially, other impacts.

Drop patches as they are now upstream.

Add host-pkgconf as the configure script uses pkg-config.  Drop removed
--disable-automated-tests configure flag.

Add optional opus support, as that is now supported and needs to be
explicitly disabled to not use.  Explicitly disable optional gstreamer
support for now as the dependency tree is fairly complicated.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit f33f7a4f6407f624edb4b4ffe54cb09e029a49b2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:23:06 +02:00
Peter Korsgaard
530e6f6827 spice-protocol: bump version to 0.12.14
Needed by spice 0.14.x

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit de8a4b747fb82f4a260d7d0451eaf99dfc745bc4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:22:59 +02:00
Matt Weber
f814dbf522 fs/common: allow custom user table to override package-defined users
Currently, when a custom user table and a package define the same user,
the settings from the package takes precedence over the ones from the
custom user table.

However, it makes sense to allow the settings from the custom user table
take precedence. For example, it would allow redirecting the user's
home directory to an alternate location (e.g. away from tmp and into a
partition that is persistent).

The support/scripts/mkusers script will only retain settings from the
latest definition it finds.

Thus, by passing the custom user table after the package defined users,
it is possible to override the package provided user definitions.

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(cherry picked from commit c3edec0018c22814233838b4e6c11c577993923d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:21:16 +02:00
Baruch Siach
a5c200b9a6 psmisc: correct license
The license heading in source files includes the "or any later"
language.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit cfa3447a7829aed59ce673b22212f5c82f83fc61)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:19:56 +02:00
Baruch Siach
6bbc887846 psmisc: correct license
The license heading in source files includes the "or any later"
language.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit cfa3447a7829aed59ce673b22212f5c82f83fc61)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:19:47 +02:00
Baruch Siach
5d3e778fb9 libarchive: security bump to version 3.3.3
Fixes CVE-2017-14501: An out-of-bounds read flaw exists in
parse_file_info in archive_read_support_format_iso9660.c in libarchive
3.3.2 when extracting a specially crafted iso9660 iso file, related to
archive_read_format_iso9660_read_header.

Drop upstream patches.

Use upstream provided tarball hash.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 946f136fe174efc4560116940c93a84d456c7cfe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:19:02 +02:00
Baruch Siach
eed32a87b3 libarchive: security bump to version 3.3.3
Fixes CVE-2017-14501: An out-of-bounds read flaw exists in
parse_file_info in archive_read_support_format_iso9660.c in libarchive
3.3.2 when extracting a specially crafted iso9660 iso file, related to
archive_read_format_iso9660_read_header.

Drop upstream patches.

Use upstream provided tarball hash.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 946f136fe174efc4560116940c93a84d456c7cfe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:18:02 +02:00
Lothar Felten
b6591bb1b9 package/dtc: fix include guards for older kernel/u-boot
U-Boot has a copy of dtc in-tree. However, it has a bug in its build
system which could result in both one of the in-tree dtc include files
and the same host-installed include file to be #included.

Normally, that wouldn't be a problem, because (a) the two include files
are compatible, so it doesn't matter which one you include, and (b) the
include guards are the same in both, so only one of them really does
get included. However, upstream dtc has changed the include guards,
removing the leading underscore. Therefore, now the header file does
get included twice, which leads to multiple definitions like:

/builds/buildroot.org/buildroot/output/host/include/libfdt.h:1790:19: error: redefinition of 'fdt_appendprop_cell'
 static inline int fdt_appendprop_cell(void *fdt, int nodeoffset,
                   ^~~~~~~~~~~~~~~~~~~
In file included from tools/fdt_host.h:11:0,
                 from tools/imagetool.h:24,
                 from tools/atmelimage.c:8:
tools/../include/libfdt.h:1656:19: note: previous definition of 'fdt_appendprop_cell' was here
 static inline int fdt_appendprop_cell(void *fdt, int nodeoffset,
                   ^~~~~~~~~~~~~~~~~~~

To fix this, patch (host) dtc to accept the old include guard as well,
which restores the old behaviour. This patch is probably not
upstreamable, since it's really a hack to work around an issue in
U-Boot.  Note that it has been fixed upstream, but Buildroot supports
building older versions of U-Boot as well.

Note that the problem may still occur if you have libdtc-dev installed
on the host. However, now there is a simple workaround: enable
BR2_TARGET_UBOOT_NEEDS_DTC.

Note that a similar problem also occurs with the beaglebone fork of the
kernel. It's not clear if it has been fixed there.

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
[Arnout: rewrite commit message, rewrap patch commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

(cherry picked from commit c7ffd8a75d55e24d793106eabbb80964ab91081f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:16:19 +02:00
Bernd Kuhls
9191d78db9 {linux, linux-headers}: bump 4.{4, 9, 14, 18}.x series
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 0064c7b25125a47d0f83075a142a24a92a05faa2)
[Peter: drop 4.18.x, linux.hash]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:12:32 +02:00
Bernd Kuhls
3345d40679 {linux, linux-headers}: bump 4.{4, 9, 14, 18}.x series
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 0064c7b25125a47d0f83075a142a24a92a05faa2)
[Peter: drop 4.18.x, linux.hash]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:11:58 +02:00
Yann E. MORIN
c8aacabc50 package/nodejs: use per-build cache directories
When two Buildroot builds run in parallel, and they both happen to call
npm at roughly the same time, the two npm instances may conflict when
accessing the npm cache, which is by default ~/.npm

Although npm is supposed to lock access to the cache, it seems it does
sometimes fail to do so properly, bailling out in error, when it would
never ever crash at all when not running in parallel. We suspect that
the sequence leading to such failures are something like:

    npm-1                           npm-2
      lock(retry=few, sleep=short)    .
      does-stuff()                    .
      .                               lock(retry=few, sleep=short)
      .                               # can't lock local cache
      .                               download-module()
      .                                 # can't download
      .                                 exit(1)
      unlock()

As per the docs [0], few = 10, short = 10. So if the first npm (npm-1)
takes more than 100s (which can happen behind slow links and/or big
modules that contain native code that is compiled), then the second npm
(npm-2) will bail out (the download would fail if there is no network
access, for example, and only local modules are used).

Point npm to use a per-build cache directory, so they no longer compete
across builds.

That would still need some care when we do top-level parallel builds,
though.

Note also that the conflicts are not totally eliminated: two or more npm
instances may still compete for some other resource that has not yet
been identified.

But, at least, the conflict window has been drastically shortened now,
to the point where it now seldom occurs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 4a16182d5f9f78e7d817f68a6d28449ce9c32e59)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:06:12 +02:00
Yann E. MORIN
10d637e045 package/nodejs: use per-build cache directories
When two Buildroot builds run in parallel, and they both happen to call
npm at roughly the same time, the two npm instances may conflict when
accessing the npm cache, which is by default ~/.npm

Although npm is supposed to lock access to the cache, it seems it does
sometimes fail to do so properly, bailling out in error, when it would
never ever crash at all when not running in parallel. We suspect that
the sequence leading to such failures are something like:

    npm-1                           npm-2
      lock(retry=few, sleep=short)    .
      does-stuff()                    .
      .                               lock(retry=few, sleep=short)
      .                               # can't lock local cache
      .                               download-module()
      .                                 # can't download
      .                                 exit(1)
      unlock()

As per the docs [0], few = 10, short = 10. So if the first npm (npm-1)
takes more than 100s (which can happen behind slow links and/or big
modules that contain native code that is compiled), then the second npm
(npm-2) will bail out (the download would fail if there is no network
access, for example, and only local modules are used).

Point npm to use a per-build cache directory, so they no longer compete
across builds.

That would still need some care when we do top-level parallel builds,
though.

Note also that the conflicts are not totally eliminated: two or more npm
instances may still compete for some other resource that has not yet
been identified.

But, at least, the conflict window has been drastically shortened now,
to the point where it now seldom occurs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 4a16182d5f9f78e7d817f68a6d28449ce9c32e59)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 14:06:04 +02:00
Peter Korsgaard
d8dc74d196 wireshark: security bump to version 2.2.17
Fixes the following security issues:

CVE-2018-16058: Bluetooth AVDTP dissector crash:
https://www.wireshark.org/security/wnpa-sec-2018-44.html

CVE-2018-16056: Bluetooth Attribute Protocol dissector crash:
https://www.wireshark.org/security/wnpa-sec-2018-45.html

CVE-2018-16057: Radiotap dissector crash:
https://www.wireshark.org/security/wnpa-sec-2018-46.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 11f4562cc5fc67679148832448fdd65459054011)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:59:25 +02:00
Peter Korsgaard
12138dea11 wireshark: security bump to version 2.2.17
Fixes the following security issues:

CVE-2018-16058: Bluetooth AVDTP dissector crash:
https://www.wireshark.org/security/wnpa-sec-2018-44.html

CVE-2018-16056: Bluetooth Attribute Protocol dissector crash:
https://www.wireshark.org/security/wnpa-sec-2018-45.html

CVE-2018-16057: Radiotap dissector crash:
https://www.wireshark.org/security/wnpa-sec-2018-46.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 11f4562cc5fc67679148832448fdd65459054011)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:59:05 +02:00
Frank Hunleth
0f148f4a5c erlang: always use Buildroot's zlib
While Erlang includes a version of zlib, it's intended for Windows and
there's an expectation that non-Windows platforms provide it. It's also
not as regularly updated as the one in Buildroot. This change makes
Erlang always use a Buildroot-provided zlib.

Fixes this compile error:

 CC	/home/buildroot/autobuild/run/instance-0/output/build/erlang-21.0/erts/emulator/zlib/obj/x86_64-buildroot-linux-musl/opt/adler32.o
In file included from zlib/adler32.c:11:0:
zlib/zutil.h:172:39: error: "_LFS64_LARGEFILE" is not defined [-Werror=undef]
     (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
                                       ^~~~~~~~~~~~~~~~

See http://autobuild.buildroot.net/results/fc633f80c7c36a90e641487f5a888fbb767c2a54/.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit ec5378038f80f444ce7f5106283c7cccb8faae16)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:58:03 +02:00
Frank Hunleth
138a12ae82 erlang: always use Buildroot's zlib
While Erlang includes a version of zlib, it's intended for Windows and
there's an expectation that non-Windows platforms provide it. It's also
not as regularly updated as the one in Buildroot. This change makes
Erlang always use a Buildroot-provided zlib.

Fixes this compile error:

 CC	/home/buildroot/autobuild/run/instance-0/output/build/erlang-21.0/erts/emulator/zlib/obj/x86_64-buildroot-linux-musl/opt/adler32.o
In file included from zlib/adler32.c:11:0:
zlib/zutil.h:172:39: error: "_LFS64_LARGEFILE" is not defined [-Werror=undef]
     (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
                                       ^~~~~~~~~~~~~~~~

See http://autobuild.buildroot.net/results/fc633f80c7c36a90e641487f5a888fbb767c2a54/.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit ec5378038f80f444ce7f5106283c7cccb8faae16)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:57:42 +02:00
Thomas Petazzoni
a37a50e0b8 boot/uboot: fix environment image generation on big endian systems
As reported by Jeff Wittrock in bug #11396, the U-Boot environment
image checksum is invalid for big endian targets, because the test on
the BR2_ENDIAN Config.in option doesn't take into account that it is
double quoted.

The fix was provided by Jeff himself on bugzilla.

Fixes bug #11396.

Reported-by: Jeff Wittrock <jwittrock@faultrecorder.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d6fcf044a747284df4eddaf106082ebb571976b3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:56:27 +02:00
Thomas Petazzoni
d7749ec247 boot/uboot: fix environment image generation on big endian systems
As reported by Jeff Wittrock in bug #11396, the U-Boot environment
image checksum is invalid for big endian targets, because the test on
the BR2_ENDIAN Config.in option doesn't take into account that it is
double quoted.

The fix was provided by Jeff himself on bugzilla.

Fixes bug #11396.

Reported-by: Jeff Wittrock <jwittrock@faultrecorder.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d6fcf044a747284df4eddaf106082ebb571976b3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:56:13 +02:00
Fabrice Fontaine
323255f36a gvfs: fix activation of http/dav backend
Since gvfs version 1.2.3, http/dav backend needs libxml2:
2ef5b4192f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a78848202b6bb5af178509e0514d5a42b9c4430c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:50:31 +02:00
Fabrice Fontaine
7a4a5a9afa gvfs: fix activation of http/dav backend
Since gvfs version 1.2.3, http/dav backend needs libxml2:
2ef5b4192f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a78848202b6bb5af178509e0514d5a42b9c4430c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:50:01 +02:00
Thomas Petazzoni
08e0f9bb73 ustr: remove source code from target
For some reason, ustr installs its own source code, which means we end
up with 448 KB of source code in /usr/share in the target filesystem:

$ tree output/target/usr/share/
output/target/usr/share/
└── ustr-1.0.4
    ├── malloc-check.h
    ├── ustr-b-code.h
    ├── ustr-b-dbg-code.c
    ├── ustr-b-opt-code.c
    ├── ustr-cmp-code.h
    ├── ustr-cmp-dbg-code.c
    ├── ustr-cmp-internal.h
    ├── ustr-cmp-opt-code.c
    ├── ustr-cntl-code.h
    ├── ustr-fmt-code.h
    ├── ustr-fmt-dbg-code.c
    ├── ustr-fmt-internal.h
    [...]

$ du -sh output/target/usr/share/ustr-1.0.4/
448K	output/target/usr/share/ustr-1.0.4/

So let's drop this source code in a post-install target hook.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit c27484b2efe0b1df57549f48f39e4d08e26c8200)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:45:20 +02:00
Thomas Petazzoni
40efc14bff ustr: remove source code from target
For some reason, ustr installs its own source code, which means we end
up with 448 KB of source code in /usr/share in the target filesystem:

$ tree output/target/usr/share/
output/target/usr/share/
└── ustr-1.0.4
    ├── malloc-check.h
    ├── ustr-b-code.h
    ├── ustr-b-dbg-code.c
    ├── ustr-b-opt-code.c
    ├── ustr-cmp-code.h
    ├── ustr-cmp-dbg-code.c
    ├── ustr-cmp-internal.h
    ├── ustr-cmp-opt-code.c
    ├── ustr-cntl-code.h
    ├── ustr-fmt-code.h
    ├── ustr-fmt-dbg-code.c
    ├── ustr-fmt-internal.h
    [...]

$ du -sh output/target/usr/share/ustr-1.0.4/
448K	output/target/usr/share/ustr-1.0.4/

So let's drop this source code in a post-install target hook.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit c27484b2efe0b1df57549f48f39e4d08e26c8200)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:45:02 +02:00
Baruch Siach
61b2dcb49e libssh: security bump to version 0.8.4
Fixes CVE-2018-10933: authentication bypass vulnerability in the server
code. By presenting the server an SSH2_MSG_USERAUTH_SUCCESS message in
place of the SSH2_MSG_USERAUTH_REQUEST message which the server would
expect to initiate authentication, the attacker could successfully
authenticate without any credentials.

  https://www.libssh.org/security/advisories/CVE-2018-10933.txt

Drop an upstream patch.

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit de24e47d90f64f546978b6ec12f769dc4fd89587)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:15:53 +02:00
Baruch Siach
a1bc7d71d7 libssh: bump to version 0.8.3
Drop GNU glob detection patch; issue fixed upstream.

Add upstream patch that completes the build fix when GNU glob is not
present.

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 540e37bf7457fe41ffb6270ad23bea2fc8a706a4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:15:40 +02:00
Baruch Siach
5ece68f555 libssh: fix build with musl libc
libssh uses GNU extensions to the glob() API. Update the cmake test to
take that into account so that glob() is not used with musl libc.

Fixes:
http://autobuild.buildroot.net/results/0c2/0c2d17316fd6bd2bf1359e23a2a1273fa349cf2a/
http://autobuild.buildroot.net/results/936/936abac5362b33980fd1efe8b830409ee2f86f6b/
http://autobuild.buildroot.net/results/51b/51b1b136ab4209ee443c1b450a932341b2ff81b7/

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 81e33bc77ce659cb0f42e801a449bfdfa6af491a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:15:21 +02:00
Baruch Siach
14d4522783 libssh: fix cross compile with older cmake
Old version of cmake break cross-compilation when FindThreads is used
because of a try_run call. Add a workaround that avoids try_run.

cmake bug report: https://gitlab.kitware.com/cmake/cmake/issues/16920

Should fix:
http://autobuild.buildroot.net/results/8aa/8aa2bd894416a4508ca7140f8947ff46243f8b78/
http://autobuild.buildroot.net/results/f2c/f2cc965bb134bf4fd9e625eb267b67c949c202fc/

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f34f33baa6f94137a78f15cafe0ee0e4ece59f97)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:15:14 +02:00
Bernd Kuhls
f429a69b71 package/libssh: bump version to 0.8.1
Fixed broken _SITE, added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 23430a63a789dccd635d58d699bfa6416340da8a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:15:06 +02:00
Baruch Siach
706ebc2e4c libssh: security bump to version 0.8.4
Fixes CVE-2018-10933: authentication bypass vulnerability in the server
code. By presenting the server an SSH2_MSG_USERAUTH_SUCCESS message in
place of the SSH2_MSG_USERAUTH_REQUEST message which the server would
expect to initiate authentication, the attacker could successfully
authenticate without any credentials.

  https://www.libssh.org/security/advisories/CVE-2018-10933.txt

Drop an upstream patch.

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit de24e47d90f64f546978b6ec12f769dc4fd89587)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:13:11 +02:00
Baruch Siach
c26f59e1a6 libssh: bump to version 0.8.3
Drop GNU glob detection patch; issue fixed upstream.

Add upstream patch that completes the build fix when GNU glob is not
present.

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 540e37bf7457fe41ffb6270ad23bea2fc8a706a4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:12:46 +02:00
Baruch Siach
dc27fae5c2 libssh: fix build with musl libc
libssh uses GNU extensions to the glob() API. Update the cmake test to
take that into account so that glob() is not used with musl libc.

Fixes:
http://autobuild.buildroot.net/results/0c2/0c2d17316fd6bd2bf1359e23a2a1273fa349cf2a/
http://autobuild.buildroot.net/results/936/936abac5362b33980fd1efe8b830409ee2f86f6b/
http://autobuild.buildroot.net/results/51b/51b1b136ab4209ee443c1b450a932341b2ff81b7/

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 81e33bc77ce659cb0f42e801a449bfdfa6af491a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:12:34 +02:00
Baruch Siach
5c4eb517e1 libssh: fix cross compile with older cmake
Old version of cmake break cross-compilation when FindThreads is used
because of a try_run call. Add a workaround that avoids try_run.

cmake bug report: https://gitlab.kitware.com/cmake/cmake/issues/16920

Should fix:
http://autobuild.buildroot.net/results/8aa/8aa2bd894416a4508ca7140f8947ff46243f8b78/
http://autobuild.buildroot.net/results/f2c/f2cc965bb134bf4fd9e625eb267b67c949c202fc/

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f34f33baa6f94137a78f15cafe0ee0e4ece59f97)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:12:25 +02:00
Bernd Kuhls
55fe7b202b package/libssh: bump version to 0.8.1
Fixed broken _SITE, added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 23430a63a789dccd635d58d699bfa6416340da8a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:12:15 +02:00
Fabrice Fontaine
a8f6c9f95d open-plc-utils: fix build with static musl
Pass TARGET_LDFLAGS to EXTRA_LDFLAGS to fix following issue:
/home/buildroot/autobuild/run/instance-3/output/build/host-gcc-final-7.3.0/build/arm-buildroot-linux-musleabihf/libgcc/../../../libgcc/config/arm/lib1funcs.S:1545: undefined reference to `raise'

Also pass TARGET_CFLAGS to EXTRA_CFLAGS and TARGET_CXXFLAGS to
EXTRA_CXXFLAGS and move all these variables to
OPEN_PLC_UTILS_MAKE_OPTS for readability

Fixes:
 - http://autobuild.buildroot.org/results/67bc5e7ac8ae1c49c035b022a394d2f746705cf2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d8738d3b97a1ec1b356143269b293d55c91de860)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:10:17 +02:00
Fabrice Fontaine
c894af75fd open-plc-utils: fix build with static musl
Pass TARGET_LDFLAGS to EXTRA_LDFLAGS to fix following issue:
/home/buildroot/autobuild/run/instance-3/output/build/host-gcc-final-7.3.0/build/arm-buildroot-linux-musleabihf/libgcc/../../../libgcc/config/arm/lib1funcs.S:1545: undefined reference to `raise'

Also pass TARGET_CFLAGS to EXTRA_CFLAGS and TARGET_CXXFLAGS to
EXTRA_CXXFLAGS and move all these variables to
OPEN_PLC_UTILS_MAKE_OPTS for readability

Fixes:
 - http://autobuild.buildroot.org/results/67bc5e7ac8ae1c49c035b022a394d2f746705cf2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d8738d3b97a1ec1b356143269b293d55c91de860)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 13:08:57 +02:00
Thomas Petazzoni
f8d6c8b8eb freetype: drop calling autogen, no longer needed
In commit a31a66802a7a1af76a629b0ba7120424ed547646 ("freetype:
security bump to version 2.5.3"), the freetype package was changed to
call ./autogen.sh to regenerate the autotools stuff, because the
ltmain.sh provided by upstream freetype was not compatible with
Buildroot libtool-patching logic.

Since then, freetype has been bumped several times, and the current
version packaged in Buildroot has an ltmain.sh that is compatible with
our libtool-patching logic.

Therefore, this commit drops the no longer needed autogen stuff.

This autogen stuff was badly breaking per-package host/target
directory, because the autogen happened at the post-patch hook step,
at which point the host-automake/host-autoconf/host-libtool
dependencies have not yet been copied into this package host
directory.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 88c6329521a634a6550f50900f4334b1d2e3473a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 12:39:45 +02:00
Thomas Petazzoni
c9bf7176e7 freetype: drop calling autogen, no longer needed
In commit a31a66802a7a1af76a629b0ba7120424ed547646 ("freetype:
security bump to version 2.5.3"), the freetype package was changed to
call ./autogen.sh to regenerate the autotools stuff, because the
ltmain.sh provided by upstream freetype was not compatible with
Buildroot libtool-patching logic.

Since then, freetype has been bumped several times, and the current
version packaged in Buildroot has an ltmain.sh that is compatible with
our libtool-patching logic.

Therefore, this commit drops the no longer needed autogen stuff.

This autogen stuff was badly breaking per-package host/target
directory, because the autogen happened at the post-patch hook step,
at which point the host-automake/host-autoconf/host-libtool
dependencies have not yet been copied into this package host
directory.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 88c6329521a634a6550f50900f4334b1d2e3473a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-24 12:39:28 +02:00