Commit Graph

45349 Commits

Author SHA1 Message Date
Matt Weber
bfb5a7a3c1 configs/freescale_t2080_qds_rdb_defconfig: new board
The board is setup to track upstream Linux as the official
vendor support was complete(depricated) at 4.1 via NXP SDKs.

The target does not build uboot and assumes the user still uses the NXP
suggested prebuilts in the SDK2.0 (last release for PowerPC). If a
uboot is required, the source for SDK2.0 can be found in the following
repo.
http://git.freescale.com/git/cgit.cgi/ppc/sdk/u-boot.git/tag/?id=fsl-sdk-v2.0-1703

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Arnout: update .gitlab-ci.yml]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-17 22:46:39 +02:00
Giulio Benetti
00b733a39b package/madplay: fix build when NLS is enabled
MKINSTALLDIRS is not automatically called by autotools when
autoreconfigured.
This leads to the following error during install:

`/bin/sh @MKINSTALLDIRS@ /home/dawncrow/buildroot-test/scripts/instance-0/output/target/usr/share
/bin/sh: 0: Can't open @MKINSTALLDIRS@`

because @MKINSTALLDIRS@ doesn't get substituted during autoreconf.

This particular command only gets invoked when NLS is enabled.

Add patch that explicitly calls AM_MKINSTALLDIRS macro to substitute
every @MKINSTALLDIRS@ occurence in *.in Makefile.

Patch is not sent upstream since upstream is dead.

Fixes:
http://autobuild.buildroot.net/results/744/7447c03426556f787f20f7ab2d36f0cacc4af1bd/

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-17 22:00:44 +02:00
Arnout Vandecappelle (Essensium/Mind)
ee113235cb .gitlab-ci.yml: add andes_ae3xx_defconfig
It was forgotten when this defconfig was added.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-17 21:53:54 +02:00
Thomas Petazzoni
2e1f98d950 utils/genrandconfig: prevent selecting libffi on nds32
libffi does not have support for the nds32 architecture, so let's
disallow libffi on this CPU architecture for the moment.

Fixes:

  http://autobuild.buildroot.net/results/12803a705586e82fdfb49013da2eb3b9879ccd45/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:17:42 +02:00
Thomas Petazzoni
b45a703078 package/binutils: disable on nds32
Upstream binutils does not yet have support for the nds32
architecture, so let's disable binutils for the target on this
architecture for the moment.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:16:21 +02:00
Fabrice Fontaine
2160891304 package/easydbus: bump to version b86721147b265dfefc9a857669408cb6eb3d6560
Remove patch (already in version)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:07:36 +02:00
Fabrice Fontaine
50639379e8 package/sane-backends: remove unneeded first patch
This patch is not needed since version 1.0.25 and
8434ea9162

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:06:57 +02:00
Fabrice Fontaine
1ed28be3ba package/xl2tp: bump to version 1.3.14
Remove patch (already in version)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:06:16 +02:00
Fabrice Fontaine
2d17240b39 package/boost: bump to version 1.70.0
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:06:09 +02:00
Adam Duskett
946ba7252b package/openjdk: only support a single variant at a time
The Zero variant won't build with the server or client also selected at the same
time, and expressing this in the Config.in would be too complicated to do.
Even so, selecting multiple variants doesn't seem to be that important in the
context of Buildroot.

This patch removes the ability to select multiple variants in favor
of just selecting one. The default is server as that is what all of the major
distributions currently use as the default as well.

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

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 21:05:07 +02:00
Nylon Chen
31161bfe9c support/config-fragments/autobuild: test the Andes nds32 architecture
Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 09:27:21 +02:00
Nylon Chen
5bf75e1864 configs/andes_ae3xx: new defconfig
Add Andes 32-bit defconfig for AE3XX platform.

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
[Thomas:
 - fix commit title to match the defconfig name
 - use the external toolchain package]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 09:20:55 +02:00
Nylon Chen
ef058dcdb7 toolchain/toolchain-external-andes-nds32: new package
This commit adds a new package for the Andes external toolchain for
the nds32 Little Endian architecture.

https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
[Thomas:
 - rename .mk and .hash files to carry the proper package name
 - fix <pkg>_SITE variable, which was incorrect
 - add prompt in Config.in
 - add missing include of Config.in in toolchain/toolchain-external/Config.in
 - add missing selects for RPC and SSP, since the toolchain supports
   both
 - drop BR2_TOOLCHAIN_EXTERNAL_URL option, the toolchain URL is
   provided by the .mk file]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 09:18:27 +02:00
Nylon Chen
1ad1d3d5cf arch: add support for Andes 32-bit (nds32)
This commit provides basic support for the Andes 32-bit (nds32)
architecture.

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 09:03:37 +02:00
Anisse Astier
ed36d20daa package/go: fix building host go toolchain when target isn't supported
The go toolchain can cross-compile by default. So most of the time,
building a toolchain that supports a target, allows us to also build go
binaries for the host. This is how support for host go packages was
added: we use the same toolchain that was initially built only for
target.

But we might want to build a go binary for the host, when compiling a
target for which go isn't supported. Then, building host-go will fail:
by default, we build go for a specific target, and give the toolchain
bootstrap scripts the cross compiler we'll use.

This change modifies this behaviour: we only assume the go toolchain is
cross-capable if we know the current target is supported. Otherwise this
is a simple host go tool. We don't need to set any of the options needed
for cross-compilation in that case.

Thus, only set all the target-specific go options under a condition that
the target arch is supported. The only option we still set is
HOST_GO_CGO_ENABLED, and we always set it to enabled.

It was also considered to create a separate package to build the
go-for-host compiler which would be used for host-go-packages, but that
would lead to a lot of duplication and is completely unnecessary.

Fixes:
http://autobuild.buildroot.net/results/98b9c7aaff2af4d19adfedac00b768d92530ce94
http://autobuild.buildroot.net/results/bed228995ce3778720f991df9b41345a7c724a46
http://autobuild.buildroot.net/results/3b3ea148165b96513ea511ee0d4adb334a6afac8

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 09:00:19 +02:00
Max Filippov
de1d1577d7 package/binutils: fix loops relaxation in bare sections
The commit 197b5f9d1c ("package/binutils: fix loops relaxation in
xtensa gas") changed the way loop opcodes are relaxed resulting in build
failures in hand-made assembly code that has loops in sections without
.literal_position pseudo op or equivalent construct. This e.g. breaks
xtensa linux kernel build.

Fix that by adding literal position to the beginning of every section.

Fixes: 197b5f9d1c ("package/binutils: fix loops relaxation in xtensa
gas")
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:56:42 +02:00
Fabrice Fontaine
1109f498e9 package/sslh: bump to version 1.20
- Add hash for license file
- Enable parallel build: it has been fixed since version 1.19b and
  70a2ea926e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:56:08 +02:00
Fabrice Fontaine
a9e559ad72 package/check: bump to version 0.12
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:55:19 +02:00
Joseph Kogut
62db993054 package/python-sentry-sdk: bump to version 0.7.10
Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:53:23 +02:00
Joseph Kogut
70b28304e1 package/python-schedule: bump to version 0.6.0
Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:53:09 +02:00
Adam Duskett
aa47e2bebd package/openjdk: remove mips support
The mips-port project has been abandoned for some time:

  https://mail.openjdk.java.net/pipermail/mips-port/2018-August/000082.html

Fixes:

  http://autobuild.buildroot.net/results/1059026c9b5f503684fe1589cd43d25a8484290b/

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:51:40 +02:00
Fabrice Fontaine
2a6b1f05cd package/wireshark: re-enable for static build configurations
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Thomas: explain why ENABLE_STATIC=OFF is the right thing]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:50:01 +02:00
Fabrice Fontaine
276072dbd4 package/sudo: bump to version 1.8.27
Update hash of license file:
 - update in year
 - add arc4random.c, arc4random_uniform.c and getentropy.c license (ISC)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:47:09 +02:00
Artem Panfilov
58896f5c97 package/php: fix how external PCRE2 JIT is enabled
This patch adds ac_cv_have_pcre2_jit cache variable to avoid
the tests running on the host system during cross-compiling.

Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:43:39 +02:00
Fabrice Fontaine
3ce9f557f8 package/pcre2: jit needs threads
Add a BR2_PACKAGE_PCRE2_JIT_ARCH_SUPPORTS to be able to use it in the
comment

Fixes:
 - http://autobuild.buildroot.org/results/547be5264effaf27c7f85ece88c5f5f792abd910

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:43:24 +02:00
Francois Perrad
ff2ad87ad1 package/luasec: bump to version 0.8
the license file hash changed due to a copyright year update

-LuaSec 0.7 license
-Copyright (C) 2006-2018 Bruno Silvestre, UFG
+LuaSec 0.8 license
+Copyright (C) 2006-2019 Bruno Silvestre, UFG

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:42:36 +02:00
Peter Korsgaard
9009823137 package/ruby: security bump to version 2.4.6
Fixes the following security issues:

- CVE-2019-8320: Delete directory using symlink when decompressing tar
- CVE-2019-8321: Escape sequence injection vulnerability in verbose
- CVE-2019-8322: Escape sequence injection vulnerability in gem owner
- CVE-2019-8323: Escape sequence injection vulnerability in API response handling
- CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution
- CVE-2019-8325: Escape sequence injection vulnerability in errors

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:42:12 +02:00
Peter Korsgaard
097ce6b3a8 package/tpm2-tss: bump version to 2.1.3
Fixes a number of issues discovered post-2.1.2. For details, see:
https://github.com/tpm2-software/tpm2-tss/releases/tag/2.1.3

Drop 002-configure.ac-switch-default-ESAPI-crypto-backend-to-.patch as this
issue is now fixed upstream.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:41:22 +02:00
Adam Duskett
05ca4c1343 package/nginx: bump version to 1.15.12
The license file hash has been modified due to copyright year updates:

- * Copyright (C) 2002-2018 Igor Sysoev
- * Copyright (C) 2011-2018 Nginx, Inc.
+ * Copyright (C) 2002-2019 Igor Sysoev
+ * Copyright (C) 2011-2019 Nginx, Inc.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-17 08:40:13 +02:00
Peter Seiderer
9060c801f5 package/rpi-firmware: bump version to ebf7b40cdc
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:42:56 +02:00
Peter Seiderer
ed02414e9c configs/raspberrypi*: bump kernel version to 5eeff139ea
Now based on 4.19.23 (from 4.14.98) and bump linux header
version accordingly and needs host openssl.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:42:46 +02:00
Peter Seiderer
5304b72d35 package/rpi-firmware: bump version to 83977fe3b6
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:39:39 +02:00
Peter Seiderer
52ee3888c0 configs/raspberrypi*: bump kernel version to 877656cd14
Now based on 4.14.98 (from 4.14.95)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:39:25 +02:00
David Lechner
0edbbe548f package/linux-firmware: move BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 to Bluetooth
This moves the BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 option to the
Bluetooth section of the config file. This chip is Bluetooth-only, so
it belongs there instead of with the Wi-Fi/Bluetooth combo chips.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:36:47 +02:00
Louis-Paul Cordier
8425169239 package/ffmpeg: enable Intel QuickSync support
Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:13:36 +02:00
Louis-Paul Cordier
62af96ba83 package/intel-mediasdk: new package
Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
[Thomas:
 - add missing Config.in comment
 - add missing select BR2_PACKAGE_LIBDRM_INTEL, needed as the code
   uses a header file installed only when libdrm-intel is enabled
 - add patch to drop -fstack-protector in order to support toolchains
   without SSP support]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:13:36 +02:00
Louis-Paul Cordier
d091265ee7 package/intel-mediadriver: new package
Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
[Thomas:
 - add missing Config.in comments
 - fix minor nit in the _LICENSE variable
 - add patch to drop hardening options, especially -fstack-protector,
   which was causing the build to fail on toolchains without SSP
   support]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-16 22:13:35 +02:00
Adam Duskett
0bd07e9166 package/pkgconf: bump to version 1.6.1
Other changes:
  - Add a hash for the license file.

Tested against:
  - libsoup
  - X11r7
  - dbus-glib
  - atk

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-16 00:37:09 +02:00
Fabrice Fontaine
aa882c1834 package/wireshark: add systemd optional dependency
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-16 00:22:14 +02:00
Fabrice Fontaine
7cb7fb8191 package/wireshark: bump to version 3.0.1
- Remove patch (already in version)
- Move package to cmake infrastructure
- --disables-guides option is not avaiable with cmake
- gtk ui is no more available
- QT UI now requires:
  - qt5multimedia and qt5svg at build time
  - qt5fontconfig, qt5png and udev at runtime
- Add host-python3 dependency
- Add a hook to build host-lemon
- Disable static build (some libraries such as
  plugins/3.0/codecs/l16mono.so does not support static building)
- Disable new sdjournal feature (will be enabled in a follow up patch)

Fixes:
 - http://autobuild.buildroot.org/results/bdbfd72a5da7e02e85159ee62bf56067adbc8931

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-16 00:17:37 +02:00
Fabrice Fontaine
dbdd94e103 package/busybox: fix S0{1sys, 2k}logd indentation
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-16 00:06:51 +02:00
Fabrice Fontaine
9443d2b24c package/systemd: update BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
systemd supports:
 - nios2 since version 230 and
 b79660e6ac
 - riscv sinc version 232 and
 171b533800
 - aarch64_be (tested with qemu_aarch64_virt_defconfig reconfigured to
 aarch64_be)
 - sparc64 (tested with qemu_sparc64_sun4u_defconfig)
 - mips64 and mips64el (tested with qemu_mips64el_malta_defconfig)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-16 00:06:51 +02:00
Fabrice Fontaine
9c3089c8a7 package/systemd-bootchart: add BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS
Since commit f93596d8ba, systemd is
enabled on arc however systemd-bootchart is not available on this
architecture so add a BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS from
the information retrieved in src/architecture.h

Fixes:
 - http://autobuild.buildroot.org/results/84fb51212abf99faa2b7a46b8c44c42a3ca1201c

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-16 00:06:51 +02:00
Matt Weber
92a8f4066a DEVELOPERS: add Matt Weber to dacapo pkg
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:52:02 +02:00
Yann E. MORIN
5abb88218e core: add per-package and per-filesystem show-info
Sometimes, it is need to quickly get the metadata of a subset of
packages, without resorting to a full-blown JSON query.

Introduce a new per-package (and per-filesystem) foo-show-info rule,
that otputs a per-entity valid JSON blob.

Note that calling it for multiple packages and.or filesystems at once
will not generate a valid JSON blob, as there would be no separator
between the JSON elements:

    $ make {foo,bar}-show-info
    { "foo": { foo stuff } }
    { "bar": { bar stuff } }

However, jq is able to absorb this, with its slurping ability, which
generates an array (ellipsed and manualy reformated for readability):

    $ make {foo,bar}-show-info |jq -s . -
    [
      { "foo": { foo stuff } },
      { "bar": { bar stuff } }
    ]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:47:22 +02:00
Yann E. MORIN
f8177b7813 core: introduce new global show-info
Users are increasingly trying to extract information about packages. For
example, they might need to get the list of URIs, or the dependencies of
a package.

Although we do have a bunch of rules to generate some of that, this is
done in ad-hoc way, with most of the output formats just ad-hoc, raw,
unformatted blurbs, mostly internal data dumped as-is.

Introduce a new rule, show-info, that provides a properly formatted
output of all the meta-information about packages: name, type, version,
licenses, dependencies...

We choose to use JSON as the output format, because it is pretty
versatile, has parsers in virtually all languages, has tools to parse
from the shell (jq). It also closely matches Python data structure,
which makes it easy to use with our own internal tools as well. Finally,
JSON being a key-value store, allows for easy expanding the output
without requiring existing consumers to be updated; new, unknown keys
are simply ignored by those (as long as they are true JSON parsers).

The complex part of this change was the conditional output of parts of
the data: virtual packages have no source, version, license or
downloads, unlike non-virtual packages. Same goes for filesystems. We
use a wrapper macro, show-info, that de-multiplexes unto either the
package-related- or filesystem-related macros, and for packages, we also
use a detailed macro for non-virtual packages.

It is non-trivial to properly output correct JSON blurbs, especially
when trying to output an array of objects, like so, where the last item
shall not be followed by a comma:  [ { ... }, { ... } ]

So, we use a trick (as sugegsted by Arnout), to $(subst) any pair of
",}" or ", }" or ",]" or ", ]" with only the respective closing symbol,
"}" or "]".

The whole stuff is $(strip)ed to make it a somewhat-minified JSON blurb
that fits on a single line with all spaces squashed (but still with
spaces, as it is not possible to differentiate spaces between JSON
elements from spaces inside JSON strings).

Reported-by: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:37:44 +02:00
Yann E. MORIN
2b35c71745 fs: add all recursive dependencies to packages list
Currently, only first-level dependencies of a filesystem are added to
the global list of packages, thus missing all recursive dependencies.

Use the newly introduced recursive variable instead, which already
contains the rootfs-common dependencies too.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:36:25 +02:00
Yann E. MORIN
d62e46ac77 fs: introduce variable with all recursive dependencies
This allows getting all the recursive dependencies of filesystems,
ike we have for packages, and allows us to treat both in a similar
fashion.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:29:57 +02:00
Yann E. MORIN
4d83c72370 fs: introduce variables with name and type
This makes the filesystems resemble packages yet a bit more, and will
allow sorting "items" on their type and names, when indexed from the
upper-case names.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:28:55 +02:00
Yann E. MORIN
9bde598ced infra/utils: add helper to generate comma-separated lists
Add a helper macro that, from a space-separated list of items, returns a
comma-separated list of the quoted items.

This will be useful when we need to generate lists in JSON, later...

Code suggested by Thomas P.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-15 23:24:13 +02:00