buildroot.git
6 years agoqt5: bump latest version to 5.10.1
Gaël PORTAY [Thu, 15 Mar 2018 19:50:54 +0000 (15:50 -0400)]
qt5: bump latest version to 5.10.1

The tarball filename has changed since 5.10. The module suffix
*opensource-src* has changed to *everywhere-src*. I introduced the
*QT5_SOURCE_TARBALL_PREFIX* variable to set the right filename according
to the Qt version.

qtwebengine:

Select libnss. It is a requirement[1] because OpenSSL
certificate validation[2] and NSS bundle[3] was dropped.

Add host-libnss and host-libpng to satisfy new requirement to
build an internal host-tool.

Set ninja host pkg-config tool using environment variable
$GN_PKG_CONFIG_HOST[4]. The build system uses pkg-config to get
package data for both host and target architectures. Using the
same call to pkg-config for both target and host leads to build
mismatches: it tries to link a host-tool using target libraries.

qt5base:

sqlite plugin now uses sqlite3_column_table_name16() so select
BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA to make sure it is
available.

qt5multimedia:

libqgsttools was renamed to libQtMultimediaGstTools. The latter
name matches the libQt5Multimedia*.so.* pattern so no additional
copy command is needed for it anymore.

qt5xmlpatterns:

Names of the license files have changed: LICENSE.(L)GPLv3 ->
LICENSE.(L)GPL3. The new files in fact already existed in 5.9.4
but the old ones were not removed yet. The new files are
slightly different: there used to be a Qt header in front of it
which is now removed. Also LICENSE.LGPL3 is rewrapped.

qt5location, qt5quickcontrols, qt5serialport:

Same license files issue, and for LICENSE.GPLv2 as well.
LICENSE.GPL2 has the "How to Apply These Terms to Your New
Programs" text appended to it.

qt5script:

Similar license file issues, but the new license files were not
present yet. LICENSE.GPLv21 was removed so there is no longer a
license file for the LGPL-2.1-covered Qt code.

[1]: https://github.com/qt/qtwebengine/commit/9b449045fbd5fd3b58bcaff6cf0c5878cd6e64eb
[2]: https://codereview.chromium.org/2862543003
[3]: https://codereview.chromium.org/1882433002
[4]: https://github.com/qt/qtwebengine/blob/v5.10.1/src/core/config/linux.pri#L111-L125

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
[Peter:
 - fix sqlite plugin support in qt5base;
 - fix target installation of qt5multimedia
]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Arnout:
 - create a local host-pkg-config tool instead of extending pkgconf;
 - pass the same options to host-pkg-config as we do for other packages;
 - carry the EGL mesa3d X11 headers patch;
 - update license file names and hashes
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agopackage: add libnss host package
Gaël PORTAY [Thu, 15 Mar 2018 19:50:52 +0000 (15:50 -0400)]
package: add libnss host package

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agopackage: add libnpsr host package
Gaël PORTAY [Thu, 15 Mar 2018 19:50:51 +0000 (15:50 -0400)]
package: add libnpsr host package

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoqt5script: correct license information
Arnout Vandecappelle (Essensium/Mind) [Mon, 2 Apr 2018 14:14:46 +0000 (16:14 +0200)]
qt5script: correct license information

The license information in qt5script was just copied from all the other
qt5 modules, but it is different (and complicated).

- libQt5Script itself contains the third-party JavaScriptCore source.
  JavaScriptCore has a number of licenses: BSD-2-Clause, BSD-3-Clause,
  LGPL-2.0+, LGPL-2.1+. Since it is all linked together, the end
  result will be BSD-3-Clause and LGPL-2.1+.

  The different BSD licenses are all slightly different (different
  authors, which affects the third clause in particular). Only one
  separate license file is provided, so let's use that one.

  There is an LGPL-2.0 license file, which is slightly different from
  the top-level LICENSE.LGPLv21, so let's add that one as well.

- libQt5Script also contains Qt-specific code which is all licensed
  under LGPL-2.1 only. This is covered by the LICENSE.LGPLv21 file.
  It merges with the LGPL-2.1+ from JavaScriptCore but limits it to
  2.1 only.

- libQt5ScriptTools is a separate libary containing just the script
  debugger. It is covered by the usual Qt license:
  * LGPL-2.1 or LGPL-3.0 with exception for Qt 5.6;
  * LGPL-3.0 or GPL-2.0+ for Qt 5.9 (actually it is GPL-2.0 or GPL-3.0
    or any later version approved by the KDE Qt foundation, but let's
    keep it simple :-). Note that there is no LICENSE.GPLv2 provided,
    only LICENSE.GPLv3. Also, there is an LGPL_EXCEPTION.txt file but
    no mention of an exception anywhere in the sources.

Update the license information with all of the above. Also add hashes
for the new license files from JavaScriptCore.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agosupport/download: make sure the download folder is created
Maxime Hadjinlian [Mon, 2 Apr 2018 13:09:27 +0000 (15:09 +0200)]
support/download: make sure the download folder is created

At the moment, it means that we make sure that BR2_DL_DIR is created, in
the future, it will make sure that BR2_DL_DIR/PKG_NAME/ is created.

[Peter: drop trailing / on mkdir]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopkg-{download, generic, luarocks}: use existing $($(PKG)_DL_DIR)
Maxime Hadjinlian [Mon, 2 Apr 2018 13:09:26 +0000 (15:09 +0200)]
pkg-{download, generic, luarocks}: use existing $($(PKG)_DL_DIR)

Let the infrastructure use the already existing variable $(PKG)_DL_DIR

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoarc/xtensa: store the Xtensa overlay in the per-package DL_DIR
Yann E. MORIN [Mon, 2 Apr 2018 13:09:25 +0000 (15:09 +0200)]
arc/xtensa: store the Xtensa overlay in the per-package DL_DIR

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackages: use new $($PKG)_DL_DIR) variable
Maxime Hadjinlian [Mon, 2 Apr 2018 13:09:24 +0000 (15:09 +0200)]
packages: use new $($PKG)_DL_DIR) variable

Instead of DL_DIR, the package should now use $(PKG)_DL_DIR to ease the
transition into a new directory structure for DL_DIR.

This commit has been generated with the following scripts:

for i in $(find . -iname "*.mk"); do
if ! grep -q "\$(DL_DIR)" ${i}; then
continue
fi
pkg_name="$(basename $(dirname ${i}))"
[ "${pkg_name}" = "package" ] && continue
raw_pkg_name=$(echo ${pkg_name} | tr [a-z] [A-Z] | tr '-' '_')
pkg_dl_dir="${raw_pkg_name}_DL_DIR"
sed -i "s/\$(DL_DIR)/\$($pkg_dl_dir)/" ${i}
done

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/git: bump version to 2.16.3
Bernd Kuhls [Mon, 2 Apr 2018 13:06:34 +0000 (15:06 +0200)]
package/git: bump version to 2.16.3

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocore/pkg-download: fix autobuilder fallout
Maxime Hadjinlian [Mon, 2 Apr 2018 13:33:53 +0000 (15:33 +0200)]
core/pkg-download: fix autobuilder fallout

Some arguments can be empty, so we need to add single quote around them
But since they are sinple quote; double quote inside them are now not
interpreted by the shell and as such must be removed; hence the use of
qstrip.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agonmap: add sub-options for ncat, nping and ndiff
Carlos Santos [Mon, 27 Nov 2017 10:41:29 +0000 (08:41 -0200)]
nmap: add sub-options for ncat, nping and ndiff

The forthcoming "libvirt" package will need a "nc" command with support
for Unix domain sockets in order to permit remote management using the
virt-manager utility. netcat-openbsd provides such command but requires
glibc, so we would not have remote management on uClibc-based systems.

Ncat is a much-improved reimplementation of the venerable Netcat and is
compatible with uClibc and musl. It provides features not available in
the ancient GNU netcat and its Busybox double like IPv6, proxies, and
Unix sockets.

Since 'nmap' itself is a fairly big program (~2.3 MB), we want to be
able to install only ncat. In addition, nmap requires an external
library, pcre.

So this commit adds sub-options to selectively enable/disable the
different programs part of nmap: nmap, nping, ndiff and ncat.

Finally, we symlink 'nc' to ncat if neiter netcat nor netcat-openbsd
is selected, even though ncat does not have the same interface as
netcat-openbsd.  However, since Fedora/RHEL install nmap-ncat as 'nc',
it can be assumed that packages that depend on 'nc' know how to deal
with this diversity.  For example, the virt-manager package does
that. Also user-supplied scripts can be assumed to do the right thing,
since the user also selects whether nmap-ncat, netcat or
netcat-openbsd is installed.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas:
 - don't just handle the ncat case in a special way: create
   sub-options for all nmap tools, and use <pkg>_MAKE_OPTS and
   <pkg>_INSTALL_TARGET_OPTS to select which ones should be
   built/installed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoncmpc: add optional dependency to lirc-tools
Fabrice Fontaine [Mon, 2 Apr 2018 11:10:18 +0000 (13:10 +0200)]
ncmpc: add optional dependency to lirc-tools

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocheck-host-tar.sh: bump minimum tar version to 1.27 for reproducible tar files with...
Peter Korsgaard [Mon, 2 Apr 2018 09:48:08 +0000 (11:48 +0200)]
check-host-tar.sh: bump minimum tar version to 1.27 for reproducible tar files with long paths

Fixes:
http://autobuild.buildroot.net/results/b18/b187e64a61918f17f69588e2355a03286bc5808e

tar 1.27 subtly changed the tar format when a GNU long link entry is added
(which is done for path elements > 100 characters).  The code used to set
the permission mode of the link entry to 0:

  header = start_private_header ("././@LongLink", size, time (NULL));
  FILL (header->header.mtime, '0');
  FILL (header->header.mode, '0');
  FILL (header->header.uid, '0');
  FILL (header->header.gid, '0');
  FILL (header->header.devmajor, 0);
  FILL (header->header.devminor, 0);

This got dropped in 1.27 by commit df7b55a8f6354e3 (Fix some problems with
negative and out-of-range integers), so the settings from
start_private_header() are used directly - Which are:

  TIME_TO_CHARS (t < 0 ? 0 : min (t, MAX_OCTAL_VAL (header->header.mtime)),
 header->header.mtime);
  MODE_TO_CHARS (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, header->header.mode);
  UID_TO_CHARS (0, header->header.uid);
  GID_TO_CHARS (0, header->header.gid);

The end result is that tar >= 1.27 sets mode to 644.

The consequence of this is that we create different tar files when long path
names are encountered (which often happens when a package downloads a
specific sha1 from a git repo) depending on the host tar version used,
causing hash mismatches.

As a workaround, bump our minimum tar version to 1.27.  It would be nicer to
only do this if we have packages from bzr/git/hg enabled, but that is an
exercise for later.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agodownload: put most of the infra in dl-wrapper
Maxime Hadjinlian [Mon, 2 Apr 2018 08:14:23 +0000 (10:14 +0200)]
download: put most of the infra in dl-wrapper

The goal here is to simplify the infrastructure by putting most of the
code in the dl-wrapper as it is easier to implement and to read.

Most of the functions were common already, this patch finalizes it by
making the pkg-download.mk pass all the parameters needed to the
dl-wrapper which in turn will pass everything to every backend.

The backend will then cherry-pick what it needs from these arguments
and act accordingly.

It eases the transition to the addition of a sub directory per package
in the DL_DIR, and later on, a git cache.

[Peter: drop ';' in BR_NO_CHECK_HASH_FOR in DOWNLOAD macro and swap cd/rm
-rf as mentioned by Yann, fix typos]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocore/pkg-download: change all helpers to use common options
Yann E. MORIN [Mon, 2 Apr 2018 08:14:22 +0000 (10:14 +0200)]
core/pkg-download: change all helpers to use common options

Currently all download helpers accepts the local output file, the remote
locations, the changesets and so on... as positional arguments.

This was well and nice when that's was all we needed.

But then we added an option to quiesce their verbosity, and that was
shoehorned with a trivial getopts, still keeping all the existing
positional arguments as... positional arguments.

Adding yet more options while keeping positional arguments will not be
very easy, even if we do not envision any new option in the foreseeable
future (but 640K ought to be enough for everyone, remember? ;-) ).

Change all helpers to accept a set of generic options (-q for quiet and
-o for the output file) as well as helper-specific options (like -r for
the repository, -c for a changeset...).

Maxime:
Changed -R to -r for recurse (only for the git backend)
Changed -r to -u for URI (for all backend)
Change -R to -c for cset (for CVS and SVN backend)
Add the export of the BR_BACKEND_DL_GETOPTS so all the backend wrapper
can use the same option easily
Now all the backends use the same common options.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agomemcached: bump to version 1.5.6
Christopher McCrory [Fri, 2 Mar 2018 18:07:55 +0000 (10:07 -0800)]
memcached: bump to version 1.5.6

From ReleaseNotes156:

"""
This is a bugfix release, but it primarily disables the UDP protocol by
default.

In the last few days reports of UDP amplification attacks utilizing
inesure memcached instances have surfaced. Attackers are able to set
large values into memcached, then send requests via spoofed UDP packets.
Memcached will then send a very large number of very large UDP packets
back in response.
"""

Signed-off-by: Christopher McCrory <chrismcc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoconfigs: switch to a wget download for kernels on github
Yann E. MORIN [Sun, 1 Apr 2018 09:04:55 +0000 (11:04 +0200)]
configs: switch to a wget download for kernels on github

The linux git trees on github can be huge, and takes a long time to
download, which is not very nice nor convenient for newcomers.

Switch them to using a wget, with the github macro.

A nice side effect of this conversion, is that we no longer need to wait
for the git clone to finish to notice that the ref is gone; doing a wget
will instantly fail in that case.

Mechanical patch, obtained by running (hang-on tight):

$ sed -r -i -e 's/BR2_LINUX_KERNEL_CUSTOM_GIT/BR2_LINUX_KERNEL_CUSTOM_TARBALL/; /BR2_LINUX_KERNEL_CUSTOM_REPO_URL/N; s:BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https\://github.com/([^/]+)/(.+)"\nBR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="(.+)":BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,\1,\2,\3)/linux-\3.tar.gz":; s/(call github.*)\.git/\1/;' $(grep -l 'BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com' configs/*)

olimex_a20_olinuxino_lime_mali had a comment in between, so it was
manually fixed thereafter; that comment was also moved.

Except for socrates_cyclone5 which did not work previously (missing tag
in git tree?), all the affected defconfigs still download their sources.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoffmpeg: libcdio support through libcdio-paranoia
Fabrice Fontaine [Mon, 2 Apr 2018 08:46:17 +0000 (10:46 +0200)]
ffmpeg: libcdio support through libcdio-paranoia

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/openvpn: bump version to 2.4.5
Bernd Kuhls [Mon, 2 Apr 2018 08:37:08 +0000 (10:37 +0200)]
package/openvpn: bump version to 2.4.5

Changelog: https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn24

This bump depends on libressl 2.7.2 to avoid a build error with this
defconfig:

BR2_PACKAGE_LIBRESSL=y
BR2_PACKAGE_OPENVPN=y

Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/libressl: bump version to 2.7.2
Bernd Kuhls [Mon, 2 Apr 2018 08:37:07 +0000 (10:37 +0200)]
package/libressl: bump version to 2.7.2

Removed patch 0001, a different version was applied upstream, please
see upstream PR 82 for details. Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoiqvlinux: add patch to support Linux kernel 4.12 and later
Carlos Santos [Fri, 15 Dec 2017 15:38:30 +0000 (13:38 -0200)]
iqvlinux: add patch to support Linux kernel 4.12 and later

Tested on machines with four NIC models:

- Intel(R) Ethernet Connection X553 10 GbE SFP+
- Intel(R) Ethernet Connection X553 1 GbE
- Intel(R) Ethernet Connection I354
- Intel(R) I210 Gigabit Network Connection

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoiqvlinux: bump to version 1.2.0.3
Carlos Santos [Fri, 15 Dec 2017 15:38:29 +0000 (13:38 -0200)]
iqvlinux: bump to version 1.2.0.3

This package is really annoying since the archive name doesn't contain
the version (iqvlinux.tar.gz), so we have added an
iqvlinux-1.2.0.3.tar.gz tarball on sources.buildroot.net. The package
will try to download iqvlinux-1.2.0.3.tar.gz from the upstream
sourceforge location, which will fail, and then fallback to the backup
mirror, where it will successfully find iqvlinux-1.2.0.3.tar.gz.

Also add hashes for license files.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas: don't add custom logic for download, use
iqvlinux-1.2.0.3.tar.gz, which is hosted on sources.buildroot.net.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agolxc: bump to version 3.0.0
Fabrice Fontaine [Sun, 1 Apr 2018 20:19:46 +0000 (22:19 +0200)]
lxc: bump to version 3.0.0

- Remove both patches (applied upstream), and therefore remove
  AUTORECONF = YES.
- Remove --disable-python as python support has been removed
 (https://github.com/lxc/lxc/commit/e144a06bd792f99c96395a9d4c16cf7c656fb99d)
- Remove lua optional dependency as lua support has been removed
 (https://github.com/lxc/lxc/commit/b52a5bef6fa56481a6d817f4c73cb91ed012fe2c)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosnort: avoid detecting the host pcre
Thomas Petazzoni [Mon, 2 Apr 2018 07:12:26 +0000 (09:12 +0200)]
snort: avoid detecting the host pcre

The pcre configure script does this:

if test "x$with_libpcre_libraries" != "xno"; then
    LDFLAGS="${LDFLAGS}  -L${with_libpcre_libraries}"
else
    LDFLAGS="${LDFLAGS} `pcre-config --libs`"
fi

So if you don't pass --with-libpcre-libraries, it calls pcre-config as
available in the PATH. So it picks up pcre-config from $(HOST_DIR) or
the system, which return results inappropriate for cross-compilation.

So, let's explicitly pass --with-libpcre-includes and
--with-libpcre-libraries to avoid those issues.

Fixes:

  http://autobuild.buildroot.net/results/3df11c48c8e2f795f478d1ee666dda9de19133d0/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agouclibc: update to 1.0.29
Waldemar Brodkorb [Mon, 5 Mar 2018 19:46:59 +0000 (20:46 +0100)]
uclibc: update to 1.0.29

This release adds a lot of bugfixes for x86_64 and aarch64.
It integrates gettext-tiny useful to be used with libintl stub.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agompd: add support for libupnp18
Fabrice Fontaine [Sun, 11 Mar 2018 09:33:58 +0000 (10:33 +0100)]
mpd: add support for libupnp18

Instead of selecting BR2_PACKAGE_LIBUPNP, select BR2_PACKAGE_LIBUPNP18
if BR2_PACKAGE_LIBUPNP is not enabled

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agompv: enable cdda support through libcdio-paranoia
Fabrice Fontaine [Sun, 1 Apr 2018 19:36:53 +0000 (21:36 +0200)]
mpv: enable cdda support through libcdio-paranoia

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agodocs/manual: add check-package to "Tips and tricks"
Ricardo Martincoski [Sun, 1 Apr 2018 22:31:56 +0000 (19:31 -0300)]
docs/manual: add check-package to "Tips and tricks"

And add two references to it: in "Submitting patches" and in "Adding new
packages to Buildroot" sections.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoconfigs/qemu_ppc64_e5500: new defconfig
Matt Weber [Sun, 1 Apr 2018 20:01:13 +0000 (15:01 -0500)]
configs/qemu_ppc64_e5500: new defconfig

Adding basic support modeled after the Freescale/NXP T1040RDBD4 board.

This target is used to support testing of the bootlin e5500 toolchain.

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Thomas: update .gitlab-ci.yml.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoncmpc: fix build with ncursesw
Fabrice Fontaine [Sun, 1 Apr 2018 17:56:51 +0000 (19:56 +0200)]
ncmpc: fix build with ncursesw

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

When ncurses is built with wide support, we install libncursesw (plus a
libncurses symlink) but NOT ncursesw.h, only ncurses.h.  This combination
confuses the ncmpc build system as it expects a ncursesw.h when it finds
libncursesw:

meson.build:92:4: ERROR: Problem encountered: No ncursesw header found

The ncurses/ncursesw logic in the build system is only used to know what
header file to #include, and what library to link with.  As we already
provide a libncurses symlink when building with wide support we can simply
force ncmpc to use the ncurses variant.

[Peter: extend commit message]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/qt5/qt5scxml: install missing QML module
Bartosz Bilas [Thu, 1 Mar 2018 14:16:28 +0000 (15:16 +0100)]
package/qt5/qt5scxml: install missing QML module

Fixes:
 qrc:/MainUI.qml:2 module "QtScxml" is not installed

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoRevert "qt5multimedia: fix build issue with mesa3d w/out xcb"
Gaël PORTAY [Thu, 1 Mar 2018 21:34:28 +0000 (16:34 -0500)]
Revert "qt5multimedia: fix build issue with mesa3d w/out xcb"

This reverts commit fadaaabe6f79da130f3e68fca23f12f0ffd6b20f.

Superseded by:

qt5base: fix build issue with mesa3d w/out xcb

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoRevert "qt5webkit: fix build issue with mesa3d w/out xcb"
Gaël PORTAY [Thu, 1 Mar 2018 21:34:27 +0000 (16:34 -0500)]
Revert "qt5webkit: fix build issue with mesa3d w/out xcb"

This reverts commit e46f9fde78e53740bd00c077275d3cd80d7792c7.

Supersede by:

qt5base: fix build issue with mesa3d w/out xcb

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoRevert "qt5wayland: fix build issue with mesa3d w/out xcb"
Gaël PORTAY [Thu, 1 Mar 2018 21:34:26 +0000 (16:34 -0500)]
Revert "qt5wayland: fix build issue with mesa3d w/out xcb"

This reverts commit 85483968bec8c5bb3332f61b22cc9be8f0ad15f7.

Supersede by:

qt5base: fix build issue with mesa3d w/out xcb

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoqt5base: fix build issue with mesa3d w/out xcb
Gaël PORTAY [Thu, 1 Mar 2018 21:34:25 +0000 (16:34 -0500)]
qt5base: fix build issue with mesa3d w/out xcb

The mesa's EGL/eglplatform.h header includes X11 headers unless the flag
MESA_EGL_NO_X11_HEADERS is defined[1].

A build issue happens when mesa3d is selected as then OpenGL EGL backend
but the XCB library is not selected. For instance, with this defconfig:
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_FPU_VFPV3D16=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5WEBKIT=y

Also the odroid-mali EGL backend suffers the same problem.

This commit backports the patch from the Gerrit of Qt which is in
review[5]. It extends the QMAKE_CXXFLAGS with cflags contained in the
egl.pc file.

In this situation, the define MESA_EGL_NO_X11_HEADERS is given to the
compiler that prevent from including the missing X headers.

The issues QTBUG-61712[3] and QTBUG-66233[4] are opened in the Qt
tracker.

Fixes
http://autobuild.buildroot.net/results/8781a561ae1a89e4d70ddaba65d8817eabe3ce69

[1]: https://github.com/mesa3d/mesa/blob/79ee1b2ff0b85f4eeb4165d23a7943c28d3a3d93/include/EGL/eglplatform.h#L109-L125
[2]: https://codereview.qt-project.org/#/c/198906/
[3]: https://bugreports.qt.io/browse/QTBUG-61712
[4]: https://bugreports.qt.io/browse/QTBUG-66233

Cc: Julien CORJON <corjon.j@ecagroup.com>
Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agocoreutils: use single binary in symlink method
Carlos Santos [Sun, 1 Apr 2018 15:39:05 +0000 (17:39 +0200)]
coreutils: use single binary in symlink method

The symlink method is faster, since there is no shell fork/exec, and
provides extra space savings.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas: use the symlinks method not only for the merged /usr case,
but also in the non-merged case to be consistent, and therefore adjust
the logic that was moving the shell wrappers to a logic that recreates
the symlinks.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocoreutils: rewrite for loop with foreach
Thomas Petazzoni [Sun, 1 Apr 2018 15:39:04 +0000 (17:39 +0200)]
coreutils: rewrite for loop with foreach

This brings up error checking at each iteration of the loop for free,
which removes the need for "|| exit 1".

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agocheck-package: support symlinks to the script
Arnout Vandecappelle (Essensium/Mind) [Sun, 1 Apr 2018 20:05:16 +0000 (22:05 +0200)]
check-package: support symlinks to the script

The check-package script finds base_dir (= the Buildroot directory) and
cd's into it. To be able to support relative paths as arguments, it
first recalculates the arguments relative to base_dir.

However, if there is a symlink anywhere on the path to the
check-package script, the relative paths will be wrong. To solve this,
use realpath() instead of abspath(), so symlinks are resolved before
calculating the relative path.

Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/pkg-generic: add <pkg>-show-recursive-(r)depends targets
George Redivo [Sat, 31 Mar 2018 16:35:43 +0000 (18:35 +0200)]
package/pkg-generic: add <pkg>-show-recursive-(r)depends targets

This commit adds the support for <pkg>-show-recursive-depends and
<pkg>-show-recursive-rdepends which respectively show the list of all
dependencies or reverse dependencies for a given package. The existing
show-depends and show-rdepends only show the first-level dependencies,
while show-recursive-depends and show-recursive-rdepends show
recursively the dependencies.

It is worth mentioning that while show-recursive-depends really shows
all dependencies, show-recursive-rdepends is a bit limited because the
reverse dependencies of host packages are not properly accounted
for. But that's a limitation that already exists in show-rdepends, and
that cannot easily be solved.

Signed-off-by: George Redivo <george.redivo@datacom.ind.br>
[Thomas:
 - split from the patch that was also changing graph-depends
 - rename show-rrdepends to show-recursive-rdepends
 - add show-recursive-depends
 - don't create GRAPHS_DIR.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agosupport/scripts/graph-depends: add --flat-list option
George Redivo [Sat, 31 Mar 2018 16:35:42 +0000 (18:35 +0200)]
support/scripts/graph-depends: add --flat-list option

graph-depends currently spits out a graph in .dot format. However, as
part of the upcoming introduction of <pkg>-show-recursive-depends and
<pkg>-show-recursive-rdepends, we need graph-depends to be able to
display a flat list.

Signed-off-by: George Redivo <george.redivo@datacom.ind.br>
[Thomas:
 - Rebase on top of graph-depends changes
 - Do not display the package name itself in the list, only its
   dependencies (or reverse dependencies)
 - Display the result on a single line, instead of one package per
   line, in order to match what <pkg>-show-depends and
   <pkg>-show-rdepends are doing today.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agosupport/scripts/graph-depends: add --quiet option
Peter Korsgaard [Sun, 1 Apr 2018 19:14:49 +0000 (21:14 +0200)]
support/scripts/graph-depends: add --quiet option

This will be useful for the upcoming recursive show-depends and
show-rdepends features.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agosupport/scripts/graph-depends: use the standard python logging module
Peter Korsgaard [Sun, 1 Apr 2018 19:14:48 +0000 (21:14 +0200)]
support/scripts/graph-depends: use the standard python logging module

Instead of hardcoded sys.stderr.write() calls.  No functional change, but
allows us to easily implement a quiet option.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agomotion: fix config file location
Christopher McCrory [Thu, 8 Mar 2018 14:15:36 +0000 (06:15 -0800)]
motion: fix config file location

Install the motion.config file were the program expects it to be. From
the motion source code:

snprintf(filename, PATH_MAX, "%s/motion/motion.conf", sysconfdir);

Signed-off-by: Christopher McCrory <chrismcc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopoco: add new options for Json, CppParser, MongoDB, PDF and Redis
Yegor Yefremov [Thu, 15 Feb 2018 13:32:35 +0000 (14:32 +0100)]
poco: add new options for Json, CppParser, MongoDB, PDF and Redis

New options allow to build following components:

* Json
* Redis
* MongoDB
* CppParser
* PDF

This allows to significantly reduce the size of the POCO
libraries. Even though it breaks backward compatibility because those
features were enabled and are now disable by default, Buildroot's
policy is to build the minimal feature-set by default. And users will
get a very clear build failure, which should be easy to fix.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: add an explanation about backward compatibility.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosqlite: add option for meta-data about tables/queries
Peter Seiderer [Fri, 2 Mar 2018 19:34:35 +0000 (20:34 +0100)]
sqlite: add option for meta-data about tables/queries

Enables SQLITE_ENABLE_COLUMN_METADATA to gain access to:

  - sqlite3_column_database_name()
  - sqlite3_column_database_name16()
  - sqlite3_column_table_name()
  - sqlite3_column_table_name16()
  - sqlite3_column_origin_name()
  - sqlite3_column_origin_name16()

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoi2pd: new package
Fabrice Fontaine [Tue, 27 Mar 2018 21:24:01 +0000 (23:24 +0200)]
i2pd: new package

i2pd (I2P Daemon) is a full-featured C++ implementation of I2P
client.

I2P (Invisible Internet Protocol) is a universal anonymous
network layer.
All communications over I2P are anonymous and end-to-end
encrypted, participants don't reveal their real IP addresses.

http://i2pd.website

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Thomas:
 - Add third patch to not install the license file in /usr/LICENSE and
   the source code in /usr/src instead of using a post-install-target
   hook to remove /usr/LICENSE and /usr/src. Indeed, we're not sure if
   /usr/src contains only stuff installed by this package.
 - Clarify the comment that explains why -DTHREADS_PTHREAD_ARG=OFF is
   passed, especially because it's only needed for older versions of
   CMake, and causes a warning with newer versions of CMake.
 - Propagate architecture dependencies to the Config.in comment about
   the exception_ptr requirement.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoqt5webkit: fix build issue with 32-bits armv8-a
Gaël PORTAY [Fri, 2 Mar 2018 16:28:12 +0000 (11:28 -0500)]
qt5webkit: fix build issue with 32-bits armv8-a

Adds WTF platform support for the 32-bits armv8-a architectures.

Fixes:

In file included from ./config.h:30:0,
                 from ...
./wtf/Platform.h:323:6: error: #error "Not supported ARM architecture"
 #    error "Not supported ARM architecture"
      ^~~~~
from this defconfig:

BR2_arm=y
BR2_cortex_a72=y
BR2_ARM_FPU_VFPV3D16=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5WEBKIT=y

The patch is an adaptation of an upstream fix in version 5.212 of
qtwebkit[1].

Unfortunately, the commit cannot be backported and has to be fixed since
the toolchain does not define __ARM_ARCH_8__ but __ARM_ARCH_8A__.

$ host/bin/arm-buildroot-linux-gnueabihf-g++ -dM -E - < /dev/null | grep ARM_ARCH
#define __ARM_ARCH_ISA_ARM 1
#define __ARM_ARCH_8A__ 1
#define __ARM_ARCH_PROFILE 65
#define __ARM_ARCH_ISA_THUMB 2
#define __ARM_ARCH 8
#define __ARM_ARCH_EXT_IDIV__ 1

[1]: https://github.com/qt/qtwebkit/blob/35655d5f4bad248ead1700b59c381cc568b4e98b/Source/WTF/wtf/Platform.h#L241-L242

Cc: Arnout Vandecappelle <arnout@mind.be>
Reported-by: Brock Williams <brock@cottonwoodcomputer.com>
Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agolibcdio-paranoia: new package
Fabrice Fontaine [Fri, 9 Mar 2018 22:33:37 +0000 (23:33 +0100)]
libcdio-paranoia: new package

CD paranoia on top of libcdio

http://www.gnu.org/software/libcdio/

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/scripts/graph-depends: use colors instead of colours
Thomas Petazzoni [Sat, 31 Mar 2018 16:35:40 +0000 (18:35 +0200)]
support/scripts/graph-depends: use colors instead of colours

The graph-depends was not very consistent in colors vs. colours: some
parts were using colours, some parts were using colors.

Let's settle on the US spelling, colors.

This change the user-visble option --colours to --colors, but it is
unlikely that a lot of users customize the colors through
BR2_GRAPH_DEPS_OPTS, so this user interface change is considered
reasonable.

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>
6 years agosupport/scripts/graph-depends: remove global code and most global variables
Thomas Petazzoni [Sat, 31 Mar 2018 16:35:39 +0000 (18:35 +0200)]
support/scripts/graph-depends: remove global code and most global variables

The graph-depends script had no main() function, and the main code was
actually spread between the function definitions, which was a real
mess.

This commit moves the global code into a main() function, which allows
to more easily follow the flow of the script. The argument parsing
code is moved into a parse_args() function.

Most of the global variables are removed, and are instead passed as
argument when appropriate. This has the side-effect that the
print_pkg_deps() function takes a lot of argument, but this is
considered better than tons of global variables.

The global variables that are removed are: max_depth, transitive,
mode, root_colour, target_colour, host_colour, outfile, dict_deps,
dict_version, stop_list, exclude_list, arrow_dir.

The root_colour/target_colour/host_colour variables are entirely
removed, and instead a single colours array is passed, and it's the
function using the colors that actually uses the different entries in
the array.

The way the print_attrs() function determines if we're display the
root node is not is changed. Instead of relying on the package name
and the mode (which requires passing the root package name, and the
mode), it relies on the depth: when the depth is 0, we're at the root
node.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agotesting/infra/builder: split configure() from build()
Ricardo Martincoski [Sun, 29 Oct 2017 14:06:01 +0000 (12:06 -0200)]
testing/infra/builder: split configure() from build()

Some test cases don't use a full build as setup, so split the build()
method into configure() and build().
It allows a test case to perform configuration at the setup stage and
the build inside the test itself.

Call this new method just before build in the BRTest base class, to keep
the current behavior for existing test cases.

This change will be needed when adding a common class to test the git
download infra.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotesting/infra/builder: call make with empty env
Ricardo Martincoski [Sun, 29 Oct 2017 14:06:00 +0000 (12:06 -0200)]
testing/infra/builder: call make with empty env

Use an empty environment when calling make, but import PATH so the
buildroot tree under test can find binaries from the host machine.

Since environment variables are now ignored, move the handling of
BR2_DL_DIR to the defconfig to keep the current precedence of -d:

    BR2_DL_DIR  | -d DIR   | test downloads   | BR downloads
    ------------+----------+------------------+--------------
    unset       | unset    | [error]          | [error]
    unset       | set      | in $(DIR)        | in $(DIR)
    set         | unset    | in $(BR2_DL_DIR) | in $(BR2_DL_DIR)
    set         | set      | in $(DIR)        | in $(DIR)

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/wayland-protocols: bump version to 1.13
Bernd Kuhls [Wed, 28 Mar 2018 18:13:50 +0000 (20:13 +0200)]
package/wayland-protocols: bump version to 1.13

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoDEVELOPERS: add an entry for gstreamer1-editing-services
Peter Korsgaard [Sun, 1 Apr 2018 17:44:02 +0000 (19:44 +0200)]
DEVELOPERS: add an entry for gstreamer1-editing-services

Add an entry for the recently added gstreamer1-editing-services package for
Peter Seiderer.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/snort: select libdnet package
Romain Naour [Sun, 1 Apr 2018 17:27:39 +0000 (19:27 +0200)]
package/snort: select libdnet package

"libdnet is in the dependency chain of snort that has added it to its
_DEPENDENCIES variable without selecting it or depending on it from
Config.in"

Fixes:
http://autobuild.buildroot.net/results/9cf/9cf5883d1ed95d3d76d529a9a25f0e600adf25cd

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Sergio Prado <sergio.prado@e-labworks.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogstreamer1-editing-services: bump version to 1.12.4
Peter Korsgaard [Sun, 1 Apr 2018 17:34:11 +0000 (19:34 +0200)]
gstreamer1-editing-services: bump version to 1.12.4

To match the other gstreamer1 components.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogstreamer1-editing-services: new package
Peter Seiderer [Fri, 27 Oct 2017 17:44:26 +0000 (19:44 +0200)]
gstreamer1-editing-services: new package

[Peter: select and add to dependencies good/bad plugins,
enable/disable examples if gtk2/3 with x11 backend is available]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agogst1-interpipe: new package
Peter Seiderer [Fri, 27 Oct 2017 17:16:22 +0000 (19:16 +0200)]
gst1-interpipe: new package

[Peter: use a normal config option instead of menuconfig, update DEVELOPERS]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/snort: new package
Sergio Prado [Sun, 1 Apr 2018 15:16:36 +0000 (17:16 +0200)]
package/snort: new package

Tested on Beaglebone Black.

Build-tested with test-pkg.

Patch to fix cross-compilation errors submitted upstream [1].

[1] https://lists.snort.org/pipermail/snort-devel/2018-January/011025.html

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
[Romain:
 - split patch by build issues
 - convert AC_RUN_IFELSE to AC_CHECK_MEMBERS (ThomasP)
 - convert AC_RUN_IFELSE to AC_COMPILE_IFELSE (ThomasP)
 - remove most make variable from SNORT_CONF_ENV
 - remove SNORT_SOURCE default value]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosyslinux: use the host compiler to build extlinux
Carlos Santos [Sat, 30 Sep 2017 23:35:20 +0000 (20:35 -0300)]
syslinux: use the host compiler to build extlinux

Like the utilities, it is meant to run on the host machine, hence must
be built using the host toolchain.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoAllow adding per-package override rsync exclusions
Adrian Perez de Castro [Wed, 8 Nov 2017 13:26:41 +0000 (15:26 +0200)]
Allow adding per-package override rsync exclusions

This allows using <PKG>_SRCDIR_OVERRIDE_RSYNC_EXCLUSIONS in local.mk to
skip copying parts of source trees unneeded for building. For example,
when developing WebKitGTK+, it's handy to skip copying all the tests and
other build directories, which are huge:

    WEBKITGTK_OVERRIDE_SRCDIR = /home/aperez/WebKit
    WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \
        --exclude JSTests --exclude ManualTests \
--exclude PerformanceTests --exclude WebDriverTests \
--exclude WebKitBuild --exclude WebKitLibraries \
--exclude WebKit.xcworkspace --exclude Websites \
--exclude Examples

This saves a good chunk of time when rsync is used for the first time to
copy the source tree over before building.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[Arnout: move documentation to the end of the section]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agopackage/pkg-golang: drop the fixed <pkg>_BINDIR variable
Thomas Petazzoni [Sun, 1 Apr 2018 11:51:36 +0000 (13:51 +0200)]
package/pkg-golang: drop the fixed <pkg>_BINDIR variable

Now that <pkg>_BINDIR is always "bin", having it as a package variable
doesn't make much sense, so get rid of this variable completely, and
use "bin".

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>
6 years agopackage/pkg-golang: use 'build' instead of 'install'
Thomas Petazzoni [Sun, 1 Apr 2018 11:51:35 +0000 (13:51 +0200)]
package/pkg-golang: use 'build' instead of 'install'

So far, we were using the 'go install' mechanism to build a package
and have its binary installed in
$$($(2)_WORKSPACE)/bin/linux_$$(GO_GOARCH). This worked fine when
building on x86-64 for ARM, but failed when building on x86-64 for
x86-64 because the binaries were installed in $$($(2)_WORKSPACE)/bin/.

Instead of doing some complicated logic to guess whether Go is going
to put our binaries in $$($(2)_WORKSPACE)/bin/ or in
$$($(2)_WORKSPACE)/bin/linux_$$(GO_GOARCH), we revert back to using
"go build", as it was done before the introduction of the golang
package infrastructure. "go build" lets us pass explicitly the
destination path of the binary to be generated.

There's just one complexity with how to decide on the name of the
binary that should be produced, and we have two cases:

 - <pkg>_BUILD_TARGETS is the default, i.e ".". In this case we assume
   a single binary is produced by "go build", and we name if after the
   lower case package name. We allow this to be overridden thanks to
   <pkg>_BIN_NAME.

 - <pkg>_BUILD_TARGETS is non-default, and typically contains
   something like "foo bar" or "cmd/foo cmd/bar". In this case, we
   assume the binaries to be produced are "foo" and "bar", i.e we take
   the non-directory part of the build target to name the binaries.

Because we're using this -o option, we no longer need to explicitly
create the binary directory, it is done by "go build".

Fixes:

  http://autobuild.buildroot.net/results/1f9cd7c48e8c8f41326632a9c0de83915d72c45b/

[Peter: use $(or instead of $(if as suggested by Arnout]
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>
6 years agodocs/manual: update the documentation about test-pkg
Thomas Petazzoni [Fri, 23 Mar 2018 21:48:15 +0000 (22:48 +0100)]
docs/manual: update the documentation about test-pkg

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotest-pkg: test a subset of toolchains by default, add -a and -n options
Thomas Petazzoni [Fri, 23 Mar 2018 21:48:14 +0000 (22:48 +0100)]
test-pkg: test a subset of toolchains by default, add -a and -n options

During the latest Buildroot Developers meeting, we discussed that
test-pkg would perhaps be more widely used if it tested a smaller
subset of toolchains. Indeed, it currently tests 47 toolchains, which
takes very long to build. Several of the toolchain configurations are
quite similar, and it is perhaps not necessary for contributors to
test them all before submitting a package.

Therefore, this commit changes the test-pkg script to only test a
subset of the toolchain configurations by default. The N first
configurations of the CSV files are tested, where N is hard-coded in
the script. The CSV file has therefore been re-organized to have the
first N toolchains be the most important ones.

A -a/--all option is added to test with all toolchains, while a
-n/--number option is added to test with the first N toolchains, N
being passed on the command line.

Note that the list of toolchains (built in the "toolchains" shell
variable) is no longer sorted. Indeed, when the first N toolchains are
tested, we want them to be tested in the same order as they are listed
in the CSV file, as we are careful to order them in an interesting
order. We only sort when all toolchains are tested.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotoolchain-configs.csv: re-organize for test-pkg
Thomas Petazzoni [Fri, 23 Mar 2018 21:48:13 +0000 (22:48 +0100)]
toolchain-configs.csv: re-organize for test-pkg

This commit reorganizes the toolchain-configs.csv so that the first
toolchains are a subset of "useful" toolchains to be tested by
contributors to validate a package. This subset is the one that will
be used by default by test-pkg.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotoolchain-wrapper: use -ffp-contract=off on MIPS Xburst for gcc >= 4.6
Waldemar Brodkorb [Sat, 31 Mar 2018 17:54:20 +0000 (19:54 +0200)]
toolchain-wrapper: use -ffp-contract=off on MIPS Xburst for gcc >= 4.6

Since gcc 4.6, GCC deprecated -mfused-madd, -ffp-contract=off should
be used for the Xburst workaround.

Tested with the MIPS Sourcery 2011.03 toolchain (based on gcc 4.5),
the toolchain wrapper uses -mno-fused-madd, as expected:

$ BR2_DEBUG_WRAPPER=2 ./output/host/bin/mips-linux-gnu-gcc -o toto toto.c
Toolchain wrapper executing:
    '/home/thomas/toolchains/mips-2011.03/bin/mips-linux-gnu-gcc'
    '--sysroot'
    '/home/thomas/projets/buildroot/output/host/mipsel-buildroot-linux-gnu/sysroot'
    '-mabi=32'
    '-msoft-float'
    '-mno-fused-madd'
    '-EL'
    '-march=mips32r2'
    '-o'
    'toto'
    'toto.c'

And with the MIPS Sourcery 2012.09 toolchain (based on gcc 4.7), the
toolchain wrapper uses -ffp-contract=off, as expected:

$ BR2_DEBUG_WRAPPER=2 ./output/host/bin/mips-linux-gnu-gcc -o toto toto.c
Toolchain wrapper executing:
    '/home/thomas/toolchains/mips-2012.09/bin/mips-linux-gnu-gcc'
    '--sysroot'
    '/home/thomas/projets/buildroot/output/host/mipsel-buildroot-linux-gnu/sysroot'
    '-mabi=32'
    '-msoft-float'
    '-ffp-contract=off'
    '-EL'
    '-march=mips32r2'
    '-o'
    'toto'
    'toto.c'

Fixes the ci20_defconfig build:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/60303132

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: rework to continue supporting pre-gcc-4.6 toolchains, extend
the commit log after doing more testing.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/apache: fix lua detection
Bernd Kuhls [Sun, 1 Apr 2018 12:26:40 +0000 (14:26 +0200)]
package/apache: fix lua detection

Patch suggested by Thomas: Adding a path to --with-lua disables
pkgconf-based detection of lua, which in some cases needs libdl.

This patch removes --with-lua which fixes
http://autobuild.buildroot.net/results/cc1/cc13f4cef9cf6f18615d58f1d83b233812f19fa0/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/kodi-inputstream-adaptive: bump version
Bernd Kuhls [Sun, 1 Apr 2018 14:00:45 +0000 (16:00 +0200)]
package/kodi-inputstream-adaptive: bump version

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/kodi-adsp-*: remove packages
Bernd Kuhls [Sun, 1 Apr 2018 13:58:08 +0000 (15:58 +0200)]
package/kodi-adsp-*: remove packages

Those packages are unmaintained and not in a working state, for
details see https://github.com/xbmc/xbmc/pull/13723

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agosupport/download: keep files downloaded without hash
Gaël PORTAY [Mon, 6 Nov 2017 00:46:50 +0000 (19:46 -0500)]
support/download: keep files downloaded without hash

In the situation where the hash is missing from the hash file, the
dl-wrapper downloads the file again and again until the developer
specifies the hash to complete the download step.

To avoid this situation, the freshly-downloaded file is not removed
anymore after a successful download.

After this change, the behaviour is as follows:

- Hash file doesn't exist, or file is in BR_NO_CHECK_HASH_FOR
  => always succeeds.

- Hash file exists, but file is not present
  => file is NOT removed, build is terminated immediately (i.e.
     secondary site is not tried).

- Hash file exists, file is present, but hash mismatch
  => file is removed, secondary site is tried.
  => If all primary/secondary site downloads or hash checks fail, the
     build is terminated.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
[Arnout: extend commit log]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agohackrf: new package
Jason Pruitt [Sat, 31 Mar 2018 20:57:58 +0000 (22:57 +0200)]
hackrf: new package

This patch adds hackrf/host tools for HackRF, a low cost, open source
Software Defined Radio platform.

Sources of host tools are available on GitHub here:
https://github.com/mossmann/hackrf/tree/master/host

Signed-off-by: Jason Pruitt <jrspruitt@gmail.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
[Arnout:
 - Rename package to hackrf to match upstream name;
 - Reorder dependencies and remove empty line (check-package);
 - Use only sha256 hash;
 - Add hash for license file;
 - Bump to 2018.01.1;
 - Use uploaded tarball rather than github-generated one;
 - Fix dependencies of comment (|| instead of &&)
 - Add UDEV_RULES_GROUP=plugdev in case the build host doesn't have
   this group;
 - Add patch fixing build without C++ compiler.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopackage/erlang: bump version to 20.3
Bernd Kuhls [Sat, 31 Mar 2018 16:20:23 +0000 (18:20 +0200)]
package/erlang: bump version to 20.3

Removed patch 0001, not needed anymore after upstream commit
https://github.com/erlang/otp/commit/aa9054e0ea48a127f2aeafcdce1df4d1aec09574

Renumbered remaining patches, added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoquotatool: new package
Peter Seiderer [Sat, 3 Feb 2018 22:07:33 +0000 (23:07 +0100)]
quotatool: new package

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: as suggested by Romain Naour, use
QUOTATOOL_INSTALL_TARGET_OPTS to avoid installing man pages, as it
fails due to a bug in the upstream package Makefile]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocore: rename FOO_BASE_NAME to FOO_BASENAME to avoid clashes
Thomas De Schampheleire [Tue, 6 Feb 2018 12:59:23 +0000 (13:59 +0100)]
core: rename FOO_BASE_NAME to FOO_BASENAME to avoid clashes

In current Buildroot, clashes occur between the variables _NAME and
_BASE_NAME for two packages called foo and foo-base, i.e.

Package foo:
FOO_NAME = foo
FOO_BASE_NAME = foo-1.2.3

Package foo-base:
FOO_BASE_NAME = foo-base
FOO_BASE_BASE_NAME = foo-base-4.5.6

where variable FOO_BASE_NAME is clashing between these two packages.
Specific cases where this clash is already existing are:
- alljoyn-base
- alljoyn-tcl-base
- perl-xml-sax-base

The problem is generic and can occur for a number of variables in Buildroot.
A non-exhaustive list:
    <pkg>_BASE and <pkg>_BASE_NAME
    <pkg>_BASE_NAME and <pkg>_RAW_BASE_NAME
    <pkg>_DIR and <pkg>_DL_DIR
    <pkg>_VERSION and <pkg>_DL_VERSION
    <pkg>_SOURCE and <pkg>_TARGET_SOURCE
    <pkg>_INSTALL_IMAGES and <pkg>_TARGET_INSTALL_IMAGES  (same for _STAGING and _TARGET)
    <pkg>_LICENSE_FILES and <pkg>_MANIFEST_LICENSE_FILES
    <pkg>_DEPENDENCIES and <pkg>_FINAL_DEPENDENCIES

One solution is to use another separator than '_' to separate the
package name from the rest of the variable name. For example, a double
underscore:
FOO__NAME
FOO__BASE_NAME
FOO_BASE__NAME
FOO_BASE__BASE_NAME

However, making that change for only this case means that the variable
naming is no longer consistent. And making the change for all variables has
a large impact, also on certain user scripts.

For now, keep it simple, and rename FOO_BASE_NAME into FOO_BASENAME, so that
the variables become:
FOO_NAME
FOO_BASENAME
FOO_BASE_NAME
FOO_BASE_BASENAME

For consistency, also adapt FOO_RAW_BASE_NAME. Since FOO_RAW_BASENAME would
still pose a conflict with a package called 'foo-raw', take the opportunity
to rename it into FOO_BASENAME_RAW instead, which does not pose a conflict
as we have no variable called FOO_RAW.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Sam Voss <sam.voss@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agopython-xlrd: add as host package
Lothar Felten [Fri, 20 Oct 2017 20:34:34 +0000 (22:34 +0200)]
python-xlrd: add as host package

Post-build/image scripts may need to extract information from Microsoft
Excel (tm) spreadsheet files.

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
[Arnout: add package/Config.in.host entry]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agognupg: fix prompt of Config.in.host
Thomas Petazzoni [Sun, 1 Apr 2018 11:53:59 +0000 (13:53 +0200)]
gnupg: fix prompt of Config.in.host

It should be "host gnupg" and not "host-gnupg" to be consistent with
all other Config.in.host options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/freetype: bump version to 2.9
Bernd Kuhls [Sun, 1 Apr 2018 07:48:22 +0000 (09:48 +0200)]
package/freetype: bump version to 2.9

Changelog:
https://sourceforge.net/projects/freetype/files/freetype2/2.9/

Upstream changed its project URL to https in docs/FTL.TXT. We do the
same in Config.in and update the license hash for docs/FTL.TXT.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoNew board: SolidRun ClearFog Base
Jan Kundrát [Mon, 4 Sep 2017 20:30:08 +0000 (22:30 +0200)]
New board: SolidRun ClearFog Base

My goal was to rely on upstreamed features as much as possible, which
means that some bits are only half-baked for now:

- Due to the DTS restructuring in upstream kernel, we require 4.11+. The
latest LTS or CIP kernels do not know about the -Base model.

- Linux has no generic support for SFP cages (yet). It seems that this
has hit the net-next tree in August 2017, but there's been no release
(it's probably targettting 4.14). Also, the merge only included the
required infrastructure; the mvneta driver conversion is not included.
Patches which finalize this exist in Russel King's tree and also in
random vendor trees.

- There's no access to the SPI flash in these versions of
uboot/linux/dts.

Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
[Arnout:
 - rename to solidrun_clearfog_defconfig;
 - specify kernel headers version (default is now 4.15);
 - remove ext2 fs size override, the 4 extra MB are not needed;
 - U-Boot needs dtc and openssl;
 - add comments to defconfig;
 - update .gitlab-ci.yml;
 - mention in readme.txt that SFP support is missing;
 - add Jan to DEVELOPERS.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
6 years agoopenblas: bump version to v0.2.20
Peter Korsgaard [Sun, 1 Apr 2018 08:46:42 +0000 (10:46 +0200)]
openblas: bump version to v0.2.20

Drop 0001-Complete-support-for-MIPS-n32-ABI.patch as it is now upstream and rebase
0002-Makefile.arm-remove-march-flags.patch.

Also add a hash for the license file.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoopenblas: drop SSE_GENERIC target
Peter Korsgaard [Sun, 1 Apr 2018 08:46:41 +0000 (10:46 +0200)]
openblas: drop SSE_GENERIC target

Fixes #10856

The SSE_GENERIC target fails to build with a "sgemm_kernel.o: No such file
or directory" error. Several upstream bug reports exist for this:

https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685

In both cases, upstream suggests using a different target definition
instead.  E.G.  from issue 685:

You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2
instructions.  It's very hard to find non-SSE2 x86 CPUs today.  For x86-64
use the PRESCOTT target

So drop the SSE_GENERIC target.  The only x86_64 variant we support not
covered by a more specific openblas target is the default variant, nocona
and jaguar.

Nocona was a Xeon variant of the P4 "Prescott" architecture, so use the
PRESCOTT openblas target:

https://en.wikipedia.org/wiki/Xeon#Nocona_and_Irwindale

Jaguar is from the Bobcat family, so use the BOBCAT openblas target:

https://en.wikipedia.org/wiki/List_of_AMD_microprocessors#Bobcat_core_architecture_(APU)

[Peter: add Jaguar as pointed out by Arnout]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
6 years agoopencv3: fix Python module build for Python 3.x
Sasha Shyrokov [Tue, 6 Mar 2018 15:58:10 +0000 (10:58 -0500)]
opencv3: fix Python module build for Python 3.x

When the OpenCV3 Python support is enabled with Python 3.x, it builds
properly, and the resulting .so file is built for the target
architecture, but its name is wrong:

  output/target/usr/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so

This prevents Python 3.x from importing the module:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'

In order to fix this, we simply need to pass PKG_PYTHON_DISTUTILS_ENV
in the environment. The Python module then gets named:

  output/target/usr/lib/python3.6/site-packages/cv2.cpython-36m-arm-linux-gnueabi.so

And can be imported properly:

>>> import cv2
>>>

This solution was suggested by Arnout Vandecappelle in
https://stackoverflow.com/questions/49059035/buildroot-opencv3-python-package-builds-for-the-wrong-target.

With Python 2.x, the module is named just cv2.so so this problem isn't
visible. However, for consistency, we also pass
PKG_PYTHON_DISTUTILS_ENV when building against Python 2.x, by putting
the OPENCV3_CONF_ENV assignment inside the
BR2_PACKAGE_OPENCV3_LIB_PYTHON condition, but outside the
BR2_PACKAGE_PYTHON3/BR2_PACKAGE_PYTHON condition.

Signed-off-by: Sasha Shyrokov <alexander-shyrokov@idexx.com>
[Thomas: extend the commit log, apply the solution to Python 2.x.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years ago.gitlab-ci.yml: extend check-package test to Config.* files
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:50 +0000 (02:08 -0300)]
.gitlab-ci.yml: extend check-package test to Config.* files

Now that all issues in Config.in files have been fixed, let's try to
make sure we don't introduce new ones by checking regularly these files
issues in Gitlab CI.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoutils/checkpackagelib: exclude four files from Config.in indentation check
Thomas Petazzoni [Sun, 1 Apr 2018 05:08:49 +0000 (02:08 -0300)]
utils/checkpackagelib: exclude four files from Config.in indentation check

package/Config.in, package/Config.in.host, package/x11r7/Config.in and
package/kodi/Config.in do not comply with the normal Config.in
indentation rules. However, this violation of the rule is legitimate, so
let's skip them in check-package for this specific indentation check.

This removes the last 2197 remaining warnings on Config.in files.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Ricardo: rebase patch to use relative paths passed by the main script,
          fix flake8 warnings, add package/Config.* to the list]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoscanpypi: generate help text compliant to check-package
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:48 +0000 (02:08 -0300)]
scanpypi: generate help text compliant to check-package

Each line must fit in <tab><2 spaces><62 chars>.
The default width for textwrap.wrap() is 70, so explicit set it to 62.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/*/Config.in: re-wrap help text
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:47 +0000 (02:08 -0300)]
package/*/Config.in: re-wrap help text

... to follow the convention <tab><2 spaces><62 chars>.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agopackage/*/Config.in: fix attributes order
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:37 +0000 (02:08 -0300)]
package/*/Config.in: fix attributes order

... to follow the convention: type, default, depends on, select, help.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocheck-package: enable for Config.in* in base dir
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:30 +0000 (02:08 -0300)]
check-package: enable for Config.in* in base dir

These files can benefit from this script to prevent common mistakes when
submitting patches.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoConfig.in*: re-wrap help text
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:39 +0000 (02:08 -0300)]
Config.in*: re-wrap help text

... to follow the convention <tab><2 spaces><62 chars>.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoConfig.in*: fix attributes order
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:33 +0000 (02:08 -0300)]
Config.in*: fix attributes order

... to follow the convention: type, default, depends on, select, help.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agoqemu/Config.in.host: fix overindented depends on
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:46 +0000 (02:08 -0300)]
qemu/Config.in.host: fix overindented depends on

Do the same as used in all other Config.in files and use only one tab.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocheck-package: enable for toolchain/
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:29 +0000 (02:08 -0300)]
check-package: enable for toolchain/

The toolchain directory can benefit from this script to prevent common
mistakes when submitting patches.

In order to accomplish this:
Do not ignore anymore files from the toolchain/ directory.
Ignore this symbol:
 - BR_LIBC: defined by the buildroot toolchain, used by gcc-final.mk.

Ignore toolchain/toolchain-external/pkg-toolchain-external.mk as it
declares a package infra and not a package itself.
Ignore toolchain/helpers.mk as it contains only helper functions.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotoolchain/*/Config.in: re-wrap help text
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:45 +0000 (02:08 -0300)]
toolchain/*/Config.in: re-wrap help text

... to follow the convention <tab><2 spaces><62 chars>.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agotoolchain/*/Config.in: fix attributes order
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:38 +0000 (02:08 -0300)]
toolchain/*/Config.in: fix attributes order

... to follow the convention: type, default, depends on, select, help.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocheck-package: enable for linux/
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:25 +0000 (02:08 -0300)]
check-package: enable for linux/

This directory can benefit from this script to prevent common mistakes
when submitting patches.

In order to accomplish this:
Do not ignore anymore files from the linux/ directory.
Ignore missing LINUX_EXT_ prefix as the variables for linux extensions
do not use it.
Ignore this symbol:
 - LINUX_EXTENSIONS: defined by each linux extension, used by
   linux/linux.mk.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agolinux/Config.*: re-wrap help text
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:43 +0000 (02:08 -0300)]
linux/Config.*: re-wrap help text

... to follow the convention <tab><2 spaces><62 chars>.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocheck-package: enable for fs/
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:21 +0000 (02:08 -0300)]
check-package: enable for fs/

The filesystem types can benefit from this script to prevent common
mistakes when submitting patches.

In order to accomplish this:
Do not ignore anymore files from the fs/ directory.
Ignore fs/common.mk as it declares a package infra and not a package itself.
Register the ROOTFS_ as a valid prefix for variables.
Ignore these symbols:
 - PACKAGES_PERMISSIONS_TABLE: defined either by packages through
   pkg-generic or by filesystem types, used by fs/common.mk;
 - SUMTOOL: defined by package mtd, used by filesystem jffs2;
 - TARGETS_ROOTFS: defined by filesystem types, used in the main
   Makefile.

Keep using loose checks that warn about common mistakes while keep the
code simple.
As a consequence the check functions do not differentiate between
packages and filesystems so the symbol PACKAGE_UBI would not generate a
warning for the ubi filesystem neither the symbol ROOTFS_MTD would
generate a warning for the mtd package. But those kind of mistakes are
not common and are obvious in the code review, unlike typos i.e.
ROOTFS_UBl or PACKAGE_MID that would be hard to see in the code review.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agofs/*/Config.in: re-wrap help text
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:42 +0000 (02:08 -0300)]
fs/*/Config.in: re-wrap help text

... to follow the convention <tab><2 spaces><62 chars>.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agofs/*/Config.in: fix attributes order
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:36 +0000 (02:08 -0300)]
fs/*/Config.in: fix attributes order

... to follow the convention: type, default, depends on, select, help.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
6 years agocheck-package: enable for boot/
Ricardo Martincoski [Sun, 1 Apr 2018 05:08:17 +0000 (02:08 -0300)]
check-package: enable for boot/

This directory can benefit from this script to prevent common mistakes
when submitting patches.

In order to accomplish this:
Do not ignore anymore files from the boot/ directory.
Ignore boot/barebox/barebox.mk as it declares a package infra and not a
package itself.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>