buildroot.git
5 years agotoolchain/toolchain-external-codescape-img-mips: rewrap Config.in help text
Thomas Petazzoni [Sat, 1 Dec 2018 21:58:36 +0000 (22:58 +0100)]
toolchain/toolchain-external-codescape-img-mips: rewrap Config.in help text

Fixes the following check-package warnings:

toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in:13: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)
toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in:14: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)
toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in:15: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agotoolchain/toolchain-external-codescape-mti-mips: rewrap Config.in.help text
Thomas Petazzoni [Sat, 1 Dec 2018 21:57:40 +0000 (22:57 +0100)]
toolchain/toolchain-external-codescape-mti-mips: rewrap Config.in.help text

Fix the following check-package warnings:

toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in:14: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)
toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in:15: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)
toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in:16: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/luarocks: rework configuration file for per-package directories
Thomas Petazzoni [Fri, 30 Nov 2018 10:38:29 +0000 (11:38 +0100)]
package/luarocks: rework configuration file for per-package directories

Currently, luarocks.mk generates a configuration file with hardcoded
STAGING_DIR, TARGET_DIR, TARGET_CC, LUAROCKS_CFLAGS and TARGET_LDFLAGS
values. This is not compatible with per-package directories, where the
value of STAGING_DIR, TARGET_DIR, TARGET_CC and possibly
TARGET_CFLAGS/TARGET_LDFLAGS may be different from one package to the
other.

Based on input from François Perrad, this commit:

 - Changes the Luarocks configuration file to use os_getenv() for the
   appropriate variables. Since the contents of this file is not
   fixed, it is no longer generated by luarocks.mk using a series of
   'echo' but simply concatenated with the rest of the Luarocks
   configuration file.

 - Adjusts LUAROCKS_RUNV_ENV so that the necessary environment
   variables are now passed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agofs/common: allow filesystems to set the name of their output file
Carlos Santos [Sat, 1 Dec 2018 09:14:36 +0000 (10:14 +0100)]
fs/common: allow filesystems to set the name of their output file

Some filesystems may want to tweak their output names, rather than using
the fixed "rootfs.foo" scheme. Add a ROOTFS_FOO_IMAGE_NAME variable for
this purpose.

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
[yann.morin.1998@free.fr: fix the patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/quagga: add nhrpd option
Fabrice Fontaine [Sat, 1 Dec 2018 20:40:48 +0000 (21:40 +0100)]
package/quagga: add nhrpd option

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/quagga: bump to version 1.2.3
Fabrice Fontaine [Sat, 1 Dec 2018 20:40:47 +0000 (21:40 +0100)]
package/quagga: bump to version 1.2.3

- Remove all patches except the first one as they are already in this
  version
- Remove AUTORECONF = YES as we're not patching any *.ac files anymore
- Disable new nhrpd option
- Add hash for license file

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/c-ares: bump to version 1.15.0
Fabrice Fontaine [Sat, 1 Dec 2018 20:42:46 +0000 (21:42 +0100)]
package/c-ares: bump to version 1.15.0

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/c-ares: use LICENSE.md
Fabrice Fontaine [Sat, 1 Dec 2018 20:42:45 +0000 (21:42 +0100)]
package/c-ares: use LICENSE.md

c-ares has a LICENSE.md file since version 1.12 and
https://github.com/c-ares/c-ares/commit/4e861351d9deaef7b78aee50ce9229325f4fc59a

So use it instead of one of the source file and add its hash

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/fontconfig: add util-linux mandatory dependency
Fabrice Fontaine [Fri, 30 Nov 2018 20:19:00 +0000 (21:19 +0100)]
package/fontconfig: add util-linux mandatory dependency

uuid from util-linux is a mandatory dependency since version 2.12.91 and
https://cgit.freedesktop.org/fontconfig/commit/configure.ac?id=7b48fd3dd406b926f0e5240b211f72197ed538a9

Fixes:
 - http://autobuild.buildroot.org/results/49fa1d2da97be979cbc2cb4f83b40f5c2ad8c764

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-msgpack: bump to version 0.6.0
Asaf Kahlon [Fri, 30 Nov 2018 14:22:34 +0000 (16:22 +0200)]
package/python-msgpack: bump to version 0.6.0

Archive file name changed from msgpack-python to msgpack

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-jsonmodels: bump to version 2.4
Asaf Kahlon [Sat, 1 Dec 2018 15:47:59 +0000 (17:47 +0200)]
package/python-jsonmodels: bump to version 2.4

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agotoolchain/toolchain-external-codescape-mti-mips: bump to 2018.09-02
Paul Burton [Fri, 30 Nov 2018 16:55:22 +0000 (16:55 +0000)]
toolchain/toolchain-external-codescape-mti-mips: bump to 2018.09-02

The 2016.05-06 toolchain we've had support for is pretty outdated at
this point, so update to the latest 2018.09-02 version.

Of note besides the typical component version bumps:

 - The toolchains are now provided by MIPS Tech LLC after its departure
   from Imagination Technologies.

 - The download site changed as a result of that.

 - The toolchains are now built targeting CentOS 6 rather than CentOS 5.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agotoolchain/toolchain-external-codescape-img-mips: bump to 2018.09-02
Paul Burton [Fri, 30 Nov 2018 16:55:21 +0000 (16:55 +0000)]
toolchain/toolchain-external-codescape-img-mips: bump to 2018.09-02

The 2016.05-06 toolchain we've had support for is pretty outdated at
this point, so update to the latest 2018.09-02 version.

Of note besides the typical component version bumps:

 - The toolchains are now provided by MIPS Tech LLC after its departure
   from Imagination Technologies.

 - The download site changed as a result of that.

 - The toolchains are now built targeting CentOS 6 rather than CentOS 5.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/shadowsocks-libev: bump to version 3.2.3
DUPONCHEEL Sébastien [Fri, 30 Nov 2018 16:39:43 +0000 (17:39 +0100)]
package/shadowsocks-libev: bump to version 3.2.3

Signed-off-by: DUPONCHEEL Sébastien <sebastien.duponcheel@corp.ovh.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/qt5/qt5base: use ccache for building host code
Thomas Petazzoni [Sat, 20 Oct 2018 13:25:35 +0000 (15:25 +0200)]
package/qt5/qt5base: use ccache for building host code

qt5 currently doesn't use HOSTCC/HOSTCXX, so it doesn't use ccache
when building all its host code (especially qmake). This means that
even with ccache enabled and a hot cache, it still takes a long time
to build qt5base.

Before this patch, building qt5base takes:

 - 446 seconds with a cold ccache
 - 185 seconds with a hot ccache

This is because the ccache is not used for host code.

After this patch, building qt5base takes:

 - 450 seconds with a cold ccache
 - 15 seconds with a hot ccache

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/mini-snmpd: new package
Alexander Sverdlin [Thu, 22 Nov 2018 18:36:09 +0000 (19:36 +0100)]
package/mini-snmpd: new package

Mini SNMPd is a minimal implementation targeted at small or embedded
UNIX systems with limited resources.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
[Thomas: add hash file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/libtool: reduce target package to libltdl only
Alexander Sverdlin [Mon, 26 Nov 2018 19:37:46 +0000 (20:37 +0100)]
package/libtool: reduce target package to libltdl only

This will save 1700K on target filesystem (as tested on ARM, i686).

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/fontconfig: bump version to 2.13.1
Peter Seiderer [Wed, 28 Nov 2018 19:11:26 +0000 (20:11 +0100)]
package/fontconfig: bump version to 2.13.1

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/civetweb: fix lua build
Fabrice Fontaine [Thu, 29 Nov 2018 20:52:13 +0000 (21:52 +0100)]
package/civetweb: fix lua build

dlfcn.h must be included in modlua.ini to be able to use dlopen
otherwise build will fail on:
src/mod_lua.inl:2845:41: error: 'RTLD_LAZY' undeclared (first use in this function)
  lib_handle_uuid = dlopen("libuuid.so", RTLD_LAZY);

Fixes:
 - http://autobuild.buildroot.org/results/7a189f49c5a8b6f7b3d4c57cda5982adc65dbc19

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-pathlib2: bump to version 2.3.3
Asaf Kahlon [Fri, 30 Nov 2018 06:51:55 +0000 (08:51 +0200)]
package/python-pathlib2: bump to version 2.3.3

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-certifi: bump to version 2018.11.29
Asaf Kahlon [Fri, 30 Nov 2018 06:51:54 +0000 (08:51 +0200)]
package/python-certifi: bump to version 2018.11.29

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-pydal: bump to version v18.09
Angelo Compagnucci [Sun, 25 Nov 2018 15:32:31 +0000 (16:32 +0100)]
package/python-pydal: bump to version v18.09

This patch bumps pydal to version v18.09 and moves its download location
to github cause the version on pypi is not updated anymore.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-web2py: bump to version R-2.17.2
Angelo Compagnucci [Sun, 25 Nov 2018 14:53:28 +0000 (15:53 +0100)]
package/python-web2py: bump to version R-2.17.2

This patch bumps web2py to version R-2.17.2

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/pkg-generic: ensure absolute paths in config-script fixups
Yann E. MORIN [Wed, 28 Nov 2018 20:44:04 +0000 (21:44 +0100)]
package/pkg-generic: ensure absolute paths in config-script fixups

In case a config script is called from a relative path, the $(dirname
$0) would return a relative path too.

Those paths are usually parts of includes or libraries search
directories, and the packagfes buildsystems may chdir() anywhere, and
thus the relative path will no longer be valid. For example:

  $ ./host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/net-snmp-config --cflags
  [...] -I./host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../.././bin/../powerpc-buildroot-linux-uclibc/sysroot/usr/include/libnl3 [...]

Canonicalise the path to be sure we use absolute paths.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/setools: drop path prefix from man install
Matt Weber [Thu, 29 Nov 2018 03:11:58 +0000 (21:11 -0600)]
package/setools: drop path prefix from man install

For this man file install scenario, joining the sys.prefix makes the
path absolute (this was previously working by accident).  It was
found when e94280e5a537b "package/pkg-python: use proper --prefix
and --root values" was merged.

Fixes:
http://autobuild.buildroot.net/results/e214e1a539cdac07028fb58c3822f89886d86f1f

Upstream:
https://github.com/SELinuxProject/setools/pull/13/commits/bc36cba1393120e65bfe4d0f642fd8d38010c0f7

Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/squid: needs atomic
Fabrice Fontaine [Sat, 24 Nov 2018 14:54:50 +0000 (15:54 +0100)]
package/squid: needs atomic

Since https://github.com/squid-cache/squid/commit/4b0f89121135aae68fbaf2aa33b5fb2e0da66d3e
squid tries to find if latomic is needed through:
AC_SEARCH_LIBS([__atomic_load_8],[atomic],[ATOMICLIB="-latomic"],[])

However, this can fails on:
configure:21147: /home/fabrice/buildroot/output/host/bin/arc-buildroot-linux-gnu-g++ -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -matomic -Os   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g conftest.cpp -latomic   >&5
conftest.cpp:55:6: error: new declaration 'char __atomic_load_8()' ambiguates built-in declaration 'long long unsigned int __atomic_load_8(const volatile void*, int)' [-fpermissive]
 char __atomic_load_8 ();
      ^~~~~~~~~~~~~~~
conftest.cpp: In function 'int main()':
conftest.cpp:59:25: error: too few arguments to function 'long long unsigned int __atomic_load_8(const volatile void*, int)'
 return __atomic_load_8 ();

So add -latomic to LIBS if BR2_TOOLCHAIN_HAS_LIBATOMIC is set

Fixes:
 - http://autobuild.buildroot.org/results/13082cea836a12ac8bf85cbdb53a56a5d30c70b1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/squid: remove gnu atomics handling
Fabrice Fontaine [Sat, 24 Nov 2018 14:54:49 +0000 (15:54 +0100)]
package/squid: remove gnu atomics handling

gnu atomics has been removed since version 3.5.27:
https://github.com/squid-cache/squid/commit/ddd4edb743d82be97fc651d529e04bf55329a50d
So remove squid_cv_gnu_atomics handling

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/dbus-python: bump to version 1.2.8
Joseph Kogut [Wed, 28 Nov 2018 18:17:47 +0000 (10:17 -0800)]
package/dbus-python: bump to version 1.2.8

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/libdrm: add optional cunit dependency
Matt Weber [Thu, 1 Nov 2018 18:58:16 +0000 (13:58 -0500)]
package/libdrm: add optional cunit dependency

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>
5 years agopackage/cunit: new package
Matt Weber [Thu, 1 Nov 2018 18:58:15 +0000 (13:58 -0500)]
package/cunit: new package

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>
5 years agopackage/libnfs: bump to version 3.0.0
Jörg Krause [Mon, 5 Nov 2018 17:11:41 +0000 (18:11 +0100)]
package/libnfs: bump to version 3.0.0

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>
5 years agopackage/wolfssl: enable ARMv8 hardware acceleration
Sergio Prado [Sun, 25 Nov 2018 09:20:27 +0000 (07:20 -0200)]
package/wolfssl: enable ARMv8 hardware acceleration

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>
5 years agopackage/wolfssl: bump to version 3.15.5
Sergio Prado [Sun, 25 Nov 2018 08:36:19 +0000 (06:36 -0200)]
package/wolfssl: bump to version 3.15.5

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/perl-time-hires: remove package
Francois Perrad [Thu, 22 Nov 2018 18:22:15 +0000 (19:22 +0100)]
package/perl-time-hires: remove package

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>
5 years agopackage/gcc: enable __cxa_atexit
Alexey Brodkin [Fri, 16 Nov 2018 11:26:18 +0000 (14:26 +0300)]
package/gcc: enable __cxa_atexit

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>
5 years agopackage/grpc: new package
Robert Rose [Thu, 29 Nov 2018 06:21:40 +0000 (22:21 -0800)]
package/grpc: new package

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>
5 years agopackage/c-ares: support host build
Robert Rose [Thu, 29 Nov 2018 06:21:39 +0000 (22:21 -0800)]
package/c-ares: support host build

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>
5 years agotoolchain: bump ARC prebuild toolchain to arc-2018.09
Evgeniy Didin [Tue, 27 Nov 2018 12:55:29 +0000 (15:55 +0300)]
toolchain: bump ARC prebuild toolchain to arc-2018.09

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>
5 years agotoolchain: bumb ARC tools to arc-2018.09 release
Evgeniy Didin [Tue, 27 Nov 2018 11:04:11 +0000 (14:04 +0300)]
toolchain: bumb ARC tools to arc-2018.09 release

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>
5 years agopackage/netsnmp: drop our custom config script fixups
Yann E. MORIN [Wed, 28 Nov 2018 20:44:23 +0000 (21:44 +0100)]
package/netsnmp: drop our custom config script fixups

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>
5 years agopackage/ejabberd: bump to version 18.09
Johan Oudinet [Mon, 26 Nov 2018 11:08:07 +0000 (12:08 +0100)]
package/ejabberd: bump to version 18.09

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>
5 years agopackage/erlang-p1-eimp: new package
Johan Oudinet [Mon, 26 Nov 2018 11:08:06 +0000 (12:08 +0100)]
package/erlang-p1-eimp: new package

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
[Thomas: add entry in DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-iconv: bump to version 1.0.10
Johan Oudinet [Mon, 26 Nov 2018 11:08:05 +0000 (12:08 +0100)]
package/erlang-p1-iconv: bump to version 1.0.10

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-sip: bump to version 1.0.26
Johan Oudinet [Mon, 26 Nov 2018 11:08:04 +0000 (12:08 +0100)]
package/erlang-p1-sip: bump to version 1.0.26

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-stun: bump to version 1.0.25
Johan Oudinet [Mon, 26 Nov 2018 13:41:05 +0000 (14:41 +0100)]
package/erlang-p1-stun: bump to version 1.0.25

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-oauth2: bump to version 0.6.3
Johan Oudinet [Mon, 26 Nov 2018 11:08:02 +0000 (12:08 +0100)]
package/erlang-p1-oauth2: bump to version 0.6.3

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-yaml: bump to version 1.0.17
Johan Oudinet [Mon, 26 Nov 2018 11:08:01 +0000 (12:08 +0100)]
package/erlang-p1-yaml: bump to version 1.0.17

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-xmpp: bump to version 1.2.5
Johan Oudinet [Mon, 26 Nov 2018 11:08:00 +0000 (12:08 +0100)]
package/erlang-p1-xmpp: bump to version 1.2.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>
5 years agopackage/erlang-p1-zlib: bump to version 1.0.4
Johan Oudinet [Mon, 26 Nov 2018 11:07:59 +0000 (12:07 +0100)]
package/erlang-p1-zlib: bump to version 1.0.4

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-xml: bump to version 1.1.34
Johan Oudinet [Mon, 26 Nov 2018 11:07:58 +0000 (12:07 +0100)]
package/erlang-p1-xml: bump to version 1.1.34

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-stringprep: bump to version 1.0.14
Johan Oudinet [Mon, 26 Nov 2018 11:07:57 +0000 (12:07 +0100)]
package/erlang-p1-stringprep: bump to version 1.0.14

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-tls: bump to version 1.0.25
Johan Oudinet [Mon, 26 Nov 2018 11:07:56 +0000 (12:07 +0100)]
package/erlang-p1-tls: bump to version 1.0.25

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-cache-tab: bump to version 1.0.16
Johan Oudinet [Mon, 26 Nov 2018 11:07:55 +0000 (12:07 +0100)]
package/erlang-p1-cache-tab: bump to version 1.0.16

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/erlang-p1-utils: bump to version 1.0.13
Johan Oudinet [Mon, 26 Nov 2018 11:07:54 +0000 (12:07 +0100)]
package/erlang-p1-utils: bump to version 1.0.13

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/pkg-rebar.mk: remove dependencies from rebar.config
Johan Oudinet [Mon, 26 Nov 2018 11:07:53 +0000 (12:07 +0100)]
package/pkg-rebar.mk: remove dependencies from rebar.config

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>
5 years agopython-networkmanager: bump to version 2.1
Joseph Kogut [Wed, 28 Nov 2018 18:08:32 +0000 (10:08 -0800)]
python-networkmanager: bump to version 2.1

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>
5 years agopackage/python-multidict: bump to version 4.5.2
Asaf Kahlon [Wed, 28 Nov 2018 19:33:27 +0000 (21:33 +0200)]
package/python-multidict: bump to version 4.5.2

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/python-pycryptodomex: bump to version 3.7.1
Asaf Kahlon [Sun, 25 Nov 2018 19:55:23 +0000 (21:55 +0200)]
package/python-pycryptodomex: bump to version 3.7.1

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>
5 years agopackage/python-engineio: bump to version 3.0.0
Asaf Kahlon [Sun, 25 Nov 2018 19:55:22 +0000 (21:55 +0200)]
package/python-engineio: bump to version 3.0.0

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/msgpack: bump to version 3.1.1
Fabrice Fontaine [Sun, 25 Nov 2018 19:21:45 +0000 (20:21 +0100)]
package/msgpack: bump to version 3.1.1

Add hash for license files

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agotslib: update to 1.18
Martin Kepplinger [Tue, 27 Nov 2018 08:37:14 +0000 (09:37 +0100)]
tslib: update to 1.18

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>
5 years agopackage/strace: bump to version 4.25
Baruch Siach [Tue, 27 Nov 2018 10:17:45 +0000 (12:17 +0200)]
package/strace: bump to version 4.25

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>
5 years agopackage/strace: don't remove strace-graph unconditionally
Baruch Siach [Tue, 27 Nov 2018 10:16:56 +0000 (12:16 +0200)]
package/strace: don't remove strace-graph unconditionally

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>
5 years agopackage/libid3tag: add .pc file and install to staging hook
Jörg Krause [Mon, 5 Nov 2018 18:27:01 +0000 (19:27 +0100)]
package/libid3tag: add .pc file and install to staging hook

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>
5 years agopackage/civetweb: add hash for license file
Thomas Petazzoni [Mon, 26 Nov 2018 21:20:10 +0000 (22:20 +0100)]
package/civetweb: add hash for license file

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/civetweb: bump version to 1.11
John Faith [Tue, 25 Sep 2018 23:29:42 +0000 (23:29 +0000)]
package/civetweb: bump version to 1.11

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>
5 years agogrub2: add usage notes for grub2 arm and aarch64
Erico Nunes [Wed, 26 Sep 2018 22:37:19 +0000 (00:37 +0200)]
grub2: add usage notes for grub2 arm and aarch64

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>
5 years ago.gitlab-ci.yml: refresh with aarch64_efi_defconfig
Thomas Petazzoni [Mon, 26 Nov 2018 21:01:44 +0000 (22:01 +0100)]
.gitlab-ci.yml: refresh with aarch64_efi_defconfig

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agoconfigs/aarch64_efi_defconfig: new defconfig
Erico Nunes [Wed, 26 Sep 2018 22:37:18 +0000 (00:37 +0200)]
configs/aarch64_efi_defconfig: new defconfig

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>
5 years agoboot/grub2: enable support for arm and aarch64 targets
Erico Nunes [Wed, 26 Sep 2018 22:37:17 +0000 (00:37 +0200)]
boot/grub2: enable support for arm and aarch64 targets

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>
5 years agoboot/grub2: add option to install tools
Erico Nunes [Wed, 26 Sep 2018 22:37:16 +0000 (00:37 +0200)]
boot/grub2: add option to install tools

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>
5 years agoboot/grub2: separate target and host builds
Erico Nunes [Wed, 26 Sep 2018 22:37:15 +0000 (00:37 +0200)]
boot/grub2: separate target and host builds

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>
5 years agopackage/pkg-generic: adjust config scripts tweaks for per-package directories
Thomas Petazzoni [Fri, 23 Nov 2018 14:58:11 +0000 (15:58 +0100)]
package/pkg-generic: adjust config scripts tweaks for per-package directories

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>
5 years agoMakefile: define TARGET_DIR_WARNING_FILE relative to TARGET_DIR
Thomas Petazzoni [Fri, 23 Nov 2018 14:58:10 +0000 (15:58 +0100)]
Makefile: define TARGET_DIR_WARNING_FILE relative to TARGET_DIR

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>
5 years agoMakefile: move .NOTPARALLEL statement after including .config file
Thomas Petazzoni [Fri, 23 Nov 2018 14:58:09 +0000 (15:58 +0100)]
Makefile: move .NOTPARALLEL statement after including .config file

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>
5 years agoMakefile: rework main directory creation logic
Thomas Petazzoni [Fri, 23 Nov 2018 14:58:08 +0000 (15:58 +0100)]
Makefile: rework main directory creation logic

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>
5 years agosupport/scripts/check-host-rpath: split condition on two statements
Thomas Petazzoni [Fri, 23 Nov 2018 14:58:07 +0000 (15:58 +0100)]
support/scripts/check-host-rpath: split condition on two statements

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>
5 years agoMakefile: evaluate CCACHE and HOST{CC, CXX} at time of use
Thomas Petazzoni [Fri, 23 Nov 2018 14:58:06 +0000 (15:58 +0100)]
Makefile: evaluate CCACHE and HOST{CC, CXX} at time of use

As we are going to move to per-package SDK, the location of CCACHE and
therefore the definitions of HOSTCC and HOSTCXX need to be evaluated
at the time of use and not at the time of assignment. Indeed, the
value of HOST_DIR changes from one package to the other.

Therefore, we need to change from := to =.

In addition, while doing A := $(something) $(A) is possible, doing A =
$(something) $(A) is not legal. So, instead of defining HOSTCC in
terms of the current HOSTCC variable, we re-use HOSTCC_NOCCACHE
instead.

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>
5 years agommc-utils: drop 1/1 from [PATCH] header in 0002-fix-overlapping-with-strncpy.patch
Peter Korsgaard [Sun, 25 Nov 2018 20:59:38 +0000 (21:59 +0100)]
mmc-utils: drop 1/1 from [PATCH] header in 0002-fix-overlapping-with-strncpy.patch

check-package (rightly so) complains about it:

package/mmc-utils/0002-fix-overlapping-with-strncpy.patch:4: generate your
patches with 'git format-patch -N'

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
5 years agopackage/keepalived: fix build with uclibc
Fabrice Fontaine [Sat, 24 Nov 2018 21:27:22 +0000 (22:27 +0100)]
package/keepalived: fix build with uclibc

Retrieve patch from upstream to fix build on uclibc

Fixes:
 - http://autobuild.buildroot.org/results/067ef9ae106b3e0740a70f6f9591b9da00d3da6a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopython-crossbar: bump to version 18.11.2
Asaf Kahlon [Sat, 24 Nov 2018 17:50:49 +0000 (19:50 +0200)]
python-crossbar: bump to version 18.11.2

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/fail2ban: new package
Angelo Compagnucci [Sat, 24 Nov 2018 23:24:22 +0000 (00:24 +0100)]
package/fail2ban: new package

Fail2ban scans log files (e.g. /var/log/apache/error_log)
and bans IPs that show malicious behaviours.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
[Thomas: simplify $(SED) expression by using comma as a separator
instead of slash.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/pkg-python: use proper --prefix and --root values
Angelo Compagnucci [Sat, 24 Nov 2018 23:21:39 +0000 (00:21 +0100)]
package/pkg-python: use proper --prefix and --root values

Some python software refers to setuptool/distutils options
to install files in python root directory (like data_files option).
To use this type of option, python root should point to the real python
root in buildroot folder and not to the guest os /.
Prefix path is always built starting from the python root, so it should
be simply /usr.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agostress-ng: bump to version 0.09.47
Carlos Santos [Sun, 25 Nov 2018 00:14:08 +0000 (22:14 -0200)]
stress-ng: bump to version 0.09.47

- Enable for uClibc, which is supported now.
- Keep microblaze, nios2 and arc restrictions, since it was not possible
  to test on those architectures (no hardware available).
- Keep musl restriction, since it was possible to compile the code (with
  some patches) but it failed at run time with

    Cannot set scheduler: errno=38 (Function not implemented)

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/stress-ng: really remove patch merged upstream
Carlos Santos [Sun, 25 Nov 2018 01:59:36 +0000 (23:59 -0200)]
package/stress-ng: really remove patch merged upstream

Should have been removed in commit 27bce5fc8e (package/stress-ng: bump
to version 0.09.39) but was left as an empty file.

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agoiptables: fix build with kernel headers < 3.12
Baruch Siach [Sun, 25 Nov 2018 05:46:39 +0000 (07:46 +0200)]
iptables: fix build with kernel headers < 3.12

Extend the workaround that was added in patch 0003 to cover ipv6
definitions.

Fixes:
http://autobuild.buildroot.net/results/23f/23ff396a568a865751471bf1f9e5dff2b73c8ab0/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agoqemu: enable seccomp if libseccomp is selected
Carlos Santos [Sun, 25 Nov 2018 01:21:22 +0000 (23:21 -0200)]
qemu: enable seccomp if libseccomp is selected

It is required to use qemu with libvirt and allows us to resume working
on the libvirt package (https://patchwork.ozlabs.org/patch/841613).

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
5 years agopackage/uclibc: bump to version 1.0.31
Carlos Santos [Sat, 24 Nov 2018 23:49:29 +0000 (21:49 -0200)]
package/uclibc: bump to version 1.0.31

Remove all patches, since they were already applied upstream.
Add license file hash.

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/dependencies: add a check for a suitable gzip
Yann E. MORIN [Sat, 17 Nov 2018 17:15:51 +0000 (18:15 +0100)]
support/dependencies: add a check for a suitable gzip

Recently, some hash mismatch have been reported, both by users as well
as autobuilder failures, about tarballs generated from git repositories.

This turned out to be caused by users having the 'gzip' command somehow
aliased to 'pigz' (which stand for: parallel implementation of gzip,
which takes advantage of multi-processor system to parallelise the
compression).

Unfortunately, the output of pigz-compressed archives differ from that
of gzip (even though they *are* valid gzip-compressed streams).

Add a dependency check that ensures that gzip is not pigz. If that is
the case, define a conditional dependency to host-gzip, that is used as
a download dependency for packages that will generate compressed files,
i.e. cvs, git, and svn.

Fixes:
    http://autobuild.buildroot.org/results/330/3308271fc641cadb59dbf1b5ee529a84f79e6d5c/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Marcin Niestrój <m.niestroj@grinn-global.com>
Cc: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/gzip: add host variant
Yann E. MORIN [Sat, 17 Nov 2018 17:15:50 +0000 (18:15 +0100)]
package/gzip: add host variant

In case someone is building on a musl-based distro (Alpine), we do as
for the target variant, and force the fflush_stdin detection.

We however do not do the /bin/sh trick, because we are building
natively, so the shell check is working.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/dependencies: treat BSD-tar like the other cases
Yann E. MORIN [Sat, 17 Nov 2018 17:15:49 +0000 (18:15 +0100)]
support/dependencies: treat BSD-tar like the other cases

Currently, when we detect that tar is BSD-tar, we fake an unsupported
version (major, minor) and rely on the version check to reject BSD-tar.

There is no reason to use such shenanigans, when we can simply reject it
from the onset.

Simplify the logic:
  - use positive logic in the condition
  - directly exit in error

Also, comment that case like the other cases are commented.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/tpm2-tss: force libopenssl as openssl provider
Carlos Santos [Wed, 21 Nov 2018 02:44:37 +0000 (00:44 -0200)]
package/tpm2-tss: force libopenssl as openssl provider

Select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL and drop the patch to
compile with libressl.

The discussion with the tpm2-tss developers led to the conclusion that
libressl lacks some required functionalities. Quoting Andreas Fuchs[1]:
"LibreSSL does not support OAEP-mode with labels at all, even though the
internal OAEP-padding-function includes the parameters already. [...]
Further, the internal OAEP-padding-function does not support variable
hash algs, but staticly uses SHA1."

Notice that there will NOT be an option to use libgcrypt. OpenSSL will
soon become the default ESAPI crypto backend to prevent the problem of
forcing applications to link against both libgcrypt and libssl[2].

1. https://github.com/tpm2-software/tpm2-tss/pull/1207#issuecomment-440217659
2. https://github.com/tpm2-software/tpm2-tss/issues/1169

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/qemu: add option to enable virtual filesystem in host qemu
Etienne Carriere [Thu, 22 Nov 2018 15:21:40 +0000 (16:21 +0100)]
package/qemu: add option to enable virtual filesystem in host qemu

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
[Thomas: tweak option prompt]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agodante: add linux-pam optional dependency
Fabrice Fontaine [Thu, 22 Nov 2018 17:49:14 +0000 (18:49 +0100)]
dante: add linux-pam optional dependency

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agodante: disable pam
Fabrice Fontaine [Thu, 22 Nov 2018 17:49:13 +0000 (18:49 +0100)]
dante: disable pam

Fixes:
 - http://autobuild.buildroot.org/results/5222592f2052e18c184fae42214c112e7f39be6e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopython-sortedcontainers: bump to version 2.1.0
Asaf Kahlon [Thu, 22 Nov 2018 19:14:30 +0000 (21:14 +0200)]
python-sortedcontainers: bump to version 2.1.0

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopython-autobahn: bump to version 18.11.2
Asaf Kahlon [Thu, 22 Nov 2018 19:14:29 +0000 (21:14 +0200)]
python-autobahn: bump to version 18.11.2

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopython-cython: bump to version 0.29.1
Asaf Kahlon [Sat, 24 Nov 2018 10:14:41 +0000 (12:14 +0200)]
python-cython: bump to version 0.29.1

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/linuxptp: bump to version 2.0
Fabrice Fontaine [Fri, 23 Nov 2018 21:04:25 +0000 (22:04 +0100)]
package/linuxptp: bump to version 2.0

Add hash for license file

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/android-tools: add option to build ext4 utils for the host
Alex Kaplan [Sun, 11 Nov 2018 05:38:34 +0000 (21:38 -0800)]
package/android-tools: add option to build ext4 utils for the host

This patch adds an option to build and install the ext4_utils for the
host, i.e. make_ext4fs, ext4fixup, ext2simg, img2simg, simg2img and
simg2simg.

Signed-off-by: Alex Kaplan <kaplan2539@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas:
 - simplify a bit the installation logic by using a single
   HOST_ANDROID_TOOLS_INSTALL_TARGETS variable, instead of having one
   specific for ext4 tools
 - drop "default n" from Config.in.host]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>