Commit Graph

61221 Commits

Author SHA1 Message Date
Fabrice Fontaine
c077b4a919 package/libvirt: fix ssh2 option
Fix the following build failure raised since commit
fbf25acfbf:

output/build/libvirt-7.7.0/meson.build:1:0: ERROR: Unknown options: "ssh2"

Fixes:
 - No autobuilder failures (yet)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-01-09 21:15:59 +01:00
Arnout Vandecappelle (Essensium/Mind)
a5cdb54ed7 package/mesa3d: Gallium VC4 driver depends on NEON
Since version 21.3.0 of mesa3d, the generic broadcom infrastructure
(which is called v3d but is used also for VC4) started using NEON
instructions. This leads to assembler failures when VC4 is built for
32-bit ARM without NEON:

FAILED: src/broadcom/libv3d_neon.a.p/common_v3d_tiling.c.o
/home/buildroot/autobuild/instance-2/output-1/host/bin/arm-linux-gcc [...] -c ../src/broadcom/common/v3d_tiling.c
/tmp/ccAvufNv.s: Assembler messages:
/tmp/ccAvufNv.s:602: Error: selected processor does not support `vldm r7,{q0,q1,q2,q3}' in ARM mode
[...]
/tmp/ccAvufNv.s:686: Error: selected processor does not support `vstm r7,{q0,q1,q2,q3}' in ARM mode

Let the VC4 driver depend on NEON for 32-bit ARM. Aarch64 always has
NEON, so no condition is needed there.

Fixes:
http://autobuild.buildroot.net/results/2b5/2b531f7aa4506ee31a7252c87a2e401fffab9dfb/
http://autobuild.buildroot.net/results/6f9/6f9e7c864808dc0fafbca7c8984651fe92edbaf2/

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-01-09 21:13:25 +01:00
Arnout Vandecappelle (Essensium/Mind)
02e679d8bf support/scripts/pkg-stats: fix flake8 errors
support/scripts/pkg-stats:1171:8: E713 test for membership should be 'not in'
support/scripts/pkg-stats:1175:8: E713 test for membership should be 'not in'
support/scripts/pkg-stats:1179:8: E713 test for membership should be 'not in'
3     E713 test for membership should be 'not in'

Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/1955772278

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 21:00:56 +01:00
Arnout Vandecappelle (Essensium/Mind)
efa07944c5 system/Config.in: update systemd dependencies
Commit eb49354eb3 updated systemd's
minimal kernel headers version to 3.13, but forgot to update the
dependencies of BR2_INIT_SYSTEMD.

Update BR2_INIT_SYSTEMD kernel headers dependency to 3.13.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 20:55:39 +01:00
Fabrice Fontaine
ee8ccad5d7 package/mariadb: add mysql_config to MARIADB_CONFIG_SCRIPTS
Add mysql_config to MARIADB_CONFIG_SCRIPTS, this won't fix any build
failure at the moment but will avoid possible issues in the future

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 19:31:07 +01:00
Fabrice Fontaine
bf9dcd3b08 package/mbedtls: disable MBEDTLS_FATAL_WARNINGS
Disable MBEDTLS_FATAL_WARNINGS to avoid the following build failure
since bump to version 2.28.0 in commit
0f8aab08e7:

/home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/features.h:412:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
  412 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~

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

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 19:17:07 +01:00
Giulio Benetti
ac573c55aa package/pkg-cargo: convert to uppercase RUSTC_TARGET_NAME
RUSTC_TARGET_NAME's dashes are substituted with underscores, but this is
not enough to fix building, we also need to make it UPPERCASE. So let make
it like that by using UPPERCASE macro.

Fixes:
http://autobuild.buildroot.net/results/498/498b96224c8bcff91542ca3731dfd66891f4ec23/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Arnout: remove subst, implied by UPPERCASE]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 19:08:25 +01:00
Peter Seiderer
f7178fd1ca package/mesa3d: fix vulkan intel dependencies
It is possible to build the vulkan intel driver without X11/GLX.

- remove xorgproto dependency; it is already given via
  BR2_PACKAGE_MESA3D_OPENGL_GLX/BR2_PACKAGE_MESA3D_NEEDS_X11 and was
  already gone from the .mk file

- enable DRI3 automatically when X11 is enabled, like we do for other
  drivers

- libxshmfence is implied by DRI3 (both in Config.in and mesa3d.mk), but
  we need to propagate dependencies (RISCV_32 doesn't apply since it's
  x86 only)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Arnout: select DRI3 like other drivers though, which simplifies the
whole thing]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 19:01:32 +01:00
Arnout Vandecappelle (Essensium/Mind)
106aa6ce0e DEVELOPERS: remove Jakub Skrzypnik
The e-mail bounces.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 18:42:53 +01:00
Arnout Vandecappelle (Essensium/Mind)
7818ba0d6f Config.in.legacy: remove BR2_PACKAGE_SYSTEMD_TMPFILES
When the BR2_PACKAGE_SYSTEMD_TMPFILES was removed, it was added to
Config.in. The idea was to warn users who use the symbol in their
br2-external.

However, most users don't have a br2-external that uses this symbol.
Since the symbol defaults to y when systemd is enabled, they'll get this
legacy warning - which is completely meaningless for them since nothing
changes.

The annoyance of the many is worse than the possible unexpected change
for the few. And anyone actually relying on BR2_PACKAGE_SYSTEMD_TMPFILES
will probably easily discover the issue in testing (e.g. because the
tmpfiles conf is missing in the target).

Therefore, remove BR2_PACKAGE_SYSTEMD_TMPFILES from Config.in.legacy.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 18:35:42 +01:00
Arnout Vandecappelle (Essensium/Mind)
56d50e8354 package/pkg-cargo.mk: correctly call $(subst ...)
Commit b6378631c2 introduced a call to the
subst make function, but did it incorrectly (followed by comma instead
of space). The result is that it expands to empty.

Fix the call.

Fixes:
http://autobuild.buildroot.net/results/8ea/8eacd455e4767cc7b1e912a3f910c940110c3be0/

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 18:33:02 +01:00
Jakub Skrzypnik
3f8fd984d8 package/mesa3d: make it aware of libglvnd and support it when present
When libglvnd is enabled, mesa3d must be told so, so as it installs its
libraries with the vendor suffix (e.g. libEGL_mesa.so instead of
libEGL.so).

Additionally, the provider (in Buildroot parlance) is libglvnd, not mesa3d.

Signed-off-by: Jakub Skrzypnik <jskrzypnik@novomatic-tech.com>
[yann.morin.1998@free.fr:
  - don't override the _PROVIDES variable, only assign when needed
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 17:47:05 +01:00
Jakub Skrzypnik
0378e2e5d9 package/libglvnd: new package
libglvnd is the GL Vendor-Neutral Dispatch library, used to dispatch
GL calls across multiple GL implementations at runtime.

Full GL support, as usual, requires (parts of) the X11 stack: libX11,
libXext, and xorgproto (for glproto). However, with just libX11, it is
possible to do EGL on X11. EGL and GLES have no dependencies.

Note: x11 and glx are 'features', so need to be 'enabled' or 'disabled'
(or 'auto', but we don't care in Buildroot), while egl and gles1/2 are
'booleans', so need to be 'true' or 'false'.

When an actual provider for GL, EGL, or GLES is enabled, so must the
corresponding flavour be enabled in libglvnd. Conversely, when there is
no actual provider, the corresponding support must be disabled in
libglvnd. So we make each flavour selectable with hidden options, which
actual providers will have to select.

The license for libglvnd itself is a custom license by NVidia. It is
pretty close to MIT, but it's different (although Debian does classify
it as MIT); SPDX has no identifier for that license either. As such, we
choose to just identify it as 'libglvnd license', and let users deal
that with their legal department. Additionally, libglvnd bundles some
code from other projects, so we list them explicitly as well.

Signed-off-by: Jakub Skrzypnik <jskrzypnik@novomatic-tech.com>
[yann.morin.1998@free.fr:
  - provide help text
  - don't force X11 libraries, split them between X11 and full GL
  - make each flavour selectable
  - fix make check-package issues
  - fix and complete licensing information
  - bump to 1.3.2
  - expand commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 17:47:05 +01:00
Thomas Petazzoni
b102352b62 support/scripts/pkg-stats: add --disable option
When debugging pkg-stats, it's quite useful to be able to disable some
features that are quite long (checking upstream URL, checking latest
version, checking CVE). This commit adds a --disable option, which can
take a comma-separated list of features to disable, such as:

     ./support/scripts/pkg-stats --disable url,upstream

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 17:31:55 +01:00
Gregory CLEMENT
a206bbc5fe support/scripts/pkg-stats: account for unsure CVEs
The .affects() method of the CVE class in support/scripts/cve.py can
return 3 values: CVE_AFFECTS, CVE_DOESNT_AFFECT and CVE_UNKNOWN.

We of course properly account for CVEs where .affects() return
CVE_AFFECTS, but the ones for which CVE_UNKNOWN is returned are
currently ignored, and therefore treated as if they did not affect the
package.

However CVE_UNKNOWN in fact indicates that the v_start/v_end fields of
the CPE entry could not be parsed by
distutils.version.LooseVersion(). Instead of ignoring such cases, this
commit adds support for the concept of "unsure CVEs", which will be
listed next to CVEs known to affect the package, so that we are aware
of them and can investigate the version issue.

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 17:31:55 +01:00
Fabrice Fontaine
5ad7eb6c61 package/nodejs: force host-python3
Build of nodejs fails if python 3.10 is installed on host.
As suggested by Arnout in
https://bugs.buildroot.org/show_bug.cgi?id=14451, use the same
workaround than in qt5webkit to force host-python3 (which is in version
3.9)

It should be noted that python 3.10 support has been added in version
14.18.2: https://github.com/nodejs/node/releases/tag/v14.18.2

Fixes:
 - https://bugs.buildroot.org/show_bug.cgi?id=14451

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 17:24:08 +01:00
Fabrice Fontaine
a2e1a39a20 package/gvfs: bump to version 1.48.1
Drop patch (not needed since
eee4bb8460)

https://gitlab.gnome.org/GNOME/gvfs/-/blob/1.48.1/NEWS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 16:48:54 +01:00
Arnout Vandecappelle (Essensium/Mind)
6a51177af1 package/mesa3d: always enable glx-direct if glx is enabled
Many applications that use GLX want to combine it with DRI3 to bypass
the X server and send GL commands directly to the graphics driver. This
is only available in mesa3d if glx-direct=true.

Up to now, we only enabled glx-direct when a DRI driver was enabled.
Historically, this is either because only DRI drivers had DRI3, or
because we didn't know better at the time. However, glx-direct is not
related to DRI drivers at all. Setting it for a DRI driver when there is
no GLX is effectively a NOP. Conversely, we also want to set it for
Gallium drivers when GLX is enabled, otherwise GLX-direct applications
don't work.

Note that glx-direct is only functional if glx=dri. If glx=xlib or
glx=gallium-xlib, GLX always goes through the X server so direct is not
possible (as far as we understand).

Set glx-direct=true unconditionally when GLX is selected. Remove it from
DRI drivers.

Reported-by: Howard Mitchell <hm@hmbedded.co.uk>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 16:46:20 +01:00
Howard Mitchell
bcf114234b package/mesa3d: select vc4 driver for gallium v3d
Although the Gallium V3D driver for RPi4 can be built independently, in
practice the accelaration doesn't work unless the VC4 driver is also
enabled.

Select VC4 automatically when V3D is selected.

Signed-off-by: Howard Mitchell <hm@hmbedded.co.uk>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 16:46:20 +01:00
Fabrice Fontaine
4e36e8f208 package/hiawatha: disable system mbedtls
hiawatha needs mbedtls3 since bump to version 11.1 in commit
24e4c888c3:

/home/giuliobenetti/autobuild/run/instance-3/output-1/build/hiawatha-11.1/src/wigwam.c:39:10: fatal error: mbedtls/psa_util.h: No such file or directory
   39 | #include "mbedtls/psa_util.h"
      |          ^~~~~~~~~~~~~~~~~~~~

As mbedtls 3.x is not backward compatible with mbedtls 2.x, disable
system mbedtls to let hiawatha uses its own copy (which will be
installed in $(TARGET_DIR)/usr/lib/hiawatha)

Fixes:
 - http://autobuild.buildroot.org/results/064af90aa95c28781d96d7eca0f14841fce0687a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 16:35:50 +01:00
Norbert Lange
c669bd5115 package/busybox: explicitly state binutils paths
We are not passing TARGET_CONFIGURE_OPTS when building busybox; instead
we are passing variables explicitly. As thus, it is missing the ar, nm,
and ranlib that we are using.

We add explicit AR, NM, and RANLIB, so that the ones we want to use
(i.e. the gcc-wrapped ones) are actually used.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
[yann.morin.1998@free.fr:
  - reword the commit log to explain why we need that
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-01-09 16:03:38 +01:00
Norbert Lange
c08fa13d36 package/Makefile.in: use gcc wrappers for binutils tools
This will use gcc-ar, gcc-nm and gcc-ranlib instead of the normal
binutils tools. The difference is that with the wrappers, gcc plugins
will be automatically picked up.

gcc 4.7 introduced these wrappers, to detect the prefix and keep gcc
specifics out of Makefile.in, a new variable BR2_TOOLCHAIN_BUTILS_PREFIX
will be used to carry the prefix on supported versions.

Note that binutils added some automatic loading with the 'bfd-plugins'
directory (somewhere around 2.28), but the first implementation had
issues, and generally depends on correctly setup symlinks (often broken,
may point to some other gcc's library). The wrappers always work
painless.

The original motivation (now ~2 years in use) was to add "-flto
-ffat-lto-objects" to both BR2_TARGET_OPTIMIZATION and
BR2_TARGET_LDFLAGS, and have target binaries lto optimized.

Not all packages will compile with this option, further work could
white/blacklist packages (adding -fno-lto to the options).

Signed-off-by: Norbert Lange <nolange79@gmail.com>
[yann.morin.1998@free.fr: don't introduce a Config.in blind option]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-01-09 16:03:23 +01:00
Fabrice Fontaine
353483b1e7 package/atop: bump to version 2.7.1
https://www.atoptool.nl/downloadatop.php

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 16:01:18 +01:00
Fabrice Fontaine
f4353279ce package/libbytesize: bump to version 2.6
https://github.com/storaged-project/libbytesize/releases/tag/2.6
https://github.com/storaged-project/libbytesize/blob/2.6/NEWS.rst

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 15:59:45 +01:00
Fabrice Fontaine
490d8b13b1 package/gupnp-av: bump to version 0.14.0
https://gitlab.gnome.org/GNOME/gupnp-av/-/blob/gupnp-av-0.14.0/NEWS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 15:59:26 +01:00
Fabrice Fontaine
e89b555a4d package/gupnp: bump to version 1.4.2
https://gitlab.gnome.org/GNOME/gupnp/-/blob/gupnp-1.4.2/NEWS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 15:59:08 +01:00
Gilles Talis
df3f0c226f package/tesseract-ocr: bump to version 5.0.1
- Updated language training data version to 4.1.0
- Removed current patch as not required anymore
- Added patch to fix uclibc failures
- Supported C++ version has moved from C++11 to C++17

Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 15:58:45 +01:00
Gilles Talis
6050df28b2 package/libolm: bump to version 3.2.9
Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 15:57:58 +01:00
Gilles Talis
1ed3288e44 package/xapian: bump to version 1.4.19
Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 15:57:30 +01:00
Norbert Lange
99dabffc09 package/systemd: fix pre-creation of directories for coredump
Fix a copy-paste bug in commit be25669078.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 15:30:12 +01:00
Norbert Lange
8b94dab2ee package/systemd: add systemd-oomd user
add the missing user if oomd is enabled.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 15:29:28 +01:00
Norbert Lange
0d9b84b7a8 package/systemd: invoke systemd-tmpfilesd on final image
Especially for read-only filesystems it is helpful to
pre-create all folders for non-volatile paths.

This needs to run under fakeroot to allow setting
uids/gids/perms for the target fs.

systemd-tmpfilesd supports specifiers and target rootfs,
but some specifiers resolve to information from the host,
it is necessary to specially handle (skip) entries that
contain problematic specifiers.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 15:09:39 +01:00
Peter Korsgaard
65054d1a19 package/pkg-python.mk: fix typos
s/interperter/interpreter/ and drop 'use use' / 'depend on use'.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 14:19:00 +01:00
Fabrice Fontaine
31848ba595 package/python-setuptools-scm: needs python3
python-setuptools-scm dropped python 2 support since
f0be71fbcf
resulting in the following build failure since bump to version 6.3.2 in
commit 12e3527fd9:

/buildroot/autobuild/instance-2/output-1/host/lib" INTLTOOL_PERL=/usr/bin/perl  /home/buildroot/autobuild/instance-2/output-1/host/bin/python setup.py build  )
  File "setup.py", line 22
    f"{type(self).__name__} is forbidden, "
                                          ^

Fixes:
 - http://autobuild.buildroot.org/results/2f6125993de364b4a44d259f16806e6dfd792402

With python 2 support dropped, python-backports-functools-lru-cache can no
longer be built, so drop it.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 14:09:08 +01:00
Norbert Lange
92297637d7 package/openrc: add patch to create /run/lock/subsys
Together with changes to sysv/busybox init, this directory
will already exist on all init systems before any service
scripts are run.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 14:04:48 +01:00
Norbert Lange
97eb7d0c13 package/skeleton-init-systemd: support /var/lock again
systemd's own configuration file is not installed anymore,
as side effect of disabling sysv support in commit
96f0d9969e.

Add the legacy.conf functionality back in skeleton-init-systemd,
since this is a buildroot feature to support software expecting
these directories to exist, as well as trying to be similar to
other init systems.

Create our own legacy.conf instead of using the one from upstream,
because:

- upstream has legacy.conf.in which has to be preprocessed;
- we don't want to enable upstream's full sysv support as explained in
  commit 96f0d9969e6220154b39d9d80cda97998d41f670;
- we would probably need to post-process upstream's legacy.conf anyway
  since it doesn't fully match with buildroot expectations.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 14:04:21 +01:00
Fabrice Fontaine
85aab41ef9 package/gnuchess: security bump to version 6.2.9
Fixed potential buffer overflow in pgnload and pgnreplay
(CVE-2021-30184)

https://lists.gnu.org/archive/html/info-gnu-chess/2021-07/msg00000.html
https://git.savannah.gnu.org/cgit/chess.git/tree/NEWS?h=v6.2.9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 14:01:17 +01:00
Arnout Vandecappelle (Essensium/Mind)
83319384fd package/systemd: remove BR2_PACKAGE_SYSTEMD_TMPFILES completely
Since tmpfiles is no longer optional, the Config.in symbol serves no
purpose. It was only used in cryptsetup.mk, where we replace it with
BR2_PACKAGE_SYSTEMD.

Advise to do the same in Config.in.legacy.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 13:48:26 +01:00
Norbert Lange
f7a928f883 package/systemd: always enable systemd-tmpfilesd
this tool and service is pretty much expected to be enabled,
making this a certainty will enable future improvements.

The config variable BR2_PACKAGE_SYSTEMD_TMPFILES is still
availabe and always set.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 13:48:26 +01:00
Norbert Lange
0f9828e5cf package/systemd: adopt odering in nsswitch to newer versions
This modifies the order of the nss modules, reflecting the current
state of the documentation.

nss-mymachines lost support for resolution of users and groups,
and now only does resolution of hostnames. Changed in v246.

Multiple changes in regards to nss-myhostname now recommend placement
after nss-files and before nss-dns. See commits ce266330, f918c67.

nss-resolve handles the nss-files logic itself, and its suggested to
move in front of nss-files. Changed in v249.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 13:48:26 +01:00
Norbert Lange
eb49354eb3 package/systemd: Update description and kernel options
realign the configuration to the README.

enable CONFIG_AUTOFS_FS (kernel >= 4.18) as well as the someday
to be removed CONFIG_AUTOFS4_FS option.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 13:48:26 +01:00
Norbert Lange
f90d23112d package/systemd: set cgroups default-hierarchy to unified
Use the unified hierarchy, which is systemds default since v243.
The biggest holdover was docker which now supports the unified
layout.

Note that systemd will automatically fallback to hybrid if the
kernel is too old or the unified hierarchy fails for other reasons.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 13:48:26 +01:00
Peter Korsgaard
c39e0abba9 package/poppler: use HTTPS for upstream URL
Fixes:
http://autobuild.buildroot.net/results/145/1456f9512371ecb5a0a374943178e4bd7b0967e8/

The HTTP URL returns a 308 redirect to HTTPS, which confuses old wget
versions (E.G.  s.b.o):

wget -d http://poppler.freedesktop.org/poppler-21.12.0.tar.xz
DEBUG output created by Wget 1.14 on linux-gnu.

URI encoding = ‘UTF-8’
Converted file name 'poppler-21.12.0.tar.xz' (UTF-8) -> 'poppler-21.12.0.tar.xz' (UTF-8)
Converted file name 'poppler-21.12.0.tar.xz' (UTF-8) -> 'poppler-21.12.0.tar.xz' (UTF-8)
--2022-01-09 09:28:02--  http://poppler.freedesktop.org/poppler-21.12.0.tar.xz
Resolving poppler.freedesktop.org (poppler.freedesktop.org)... 147.75.198.156
Caching poppler.freedesktop.org => 147.75.198.156
Connecting to poppler.freedesktop.org (poppler.freedesktop.org)|147.75.198.156|:80... connected.
Created socket 3.
Releasing 0x0000000001ceda80 (new refcount 1).

---request begin---
GET /poppler-21.12.0.tar.xz HTTP/1.1
User-Agent: Wget/1.14 (linux-gnu)
Accept: */*
Host: poppler.freedesktop.org
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 308 Permanent Redirect
Date: Sun, 09 Jan 2022 09:28:02 GMT
Content-Type: text/html
Content-Length: 164
Connection: keep-alive
Location: https://poppler.freedesktop.org/poppler-21.12.0.tar.xz

---response end---
308 Permanent Redirect
Registered socket 3 for persistent reuse.
Skipping 164 bytes of body: [<html>
<head><title>308 Permanent Redirect</title></head>
<body>
<center><h1>308 Permanent Redirect</h1></center>
<hr><center>nginx</center>
</body>
</html>
] done.
2022-01-09 09:28:02 ERROR 308: Permanent Redirect.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-09 12:21:50 +01:00
Thomas Petazzoni
01764876e3 package/python-cryptography: bump version to 36.0.1
This version bump requires significant changes because
python-cryptography is now partially implemented in Rust.

This means that:

 - The C++ dependency is no longer needed.

 - We need to ensure we are on an architecture where Rust is
   available (BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS)

 - Almost all Python dependencies are no longer relevant, except for
   the python-cffi.

 - A number of environment variables are needed to make the Rust part
   build correctly.

 - We need to invoke the "cargo" download post-process hook to vendor
   the Cargo dependencies at download time.

 - We need to propagate to relatively significant reverse dependency
   tree the changes of dependencies on python-cryptography.

Co-developed-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:49 +01:00
Thomas Petazzoni
b6378631c2 package/pkg-cargo.mk: use CARGO_TARGET_<target>_LINKER instead of cargo config file
package/rustc/rustc.mk produces a config file in $(CARGO_HOME) that
points to the linker. We can simplify that by using the
CARGO_TARGET_<target>_LINKER environment variable.

This will also fix problems when host == target, where the target
linker gets picked up incorrectly.

Fixes:

  http://autobuild.buildroot.net/results/2183f1835f2ef553e45e83959910205127b2b259/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:49 +01:00
Thomas Petazzoni
91a5a2d317 package/pkg-cargo.mk: use CARGO_BUILD_TARGET instead of --target
This will allow PKG_CARGO_ENV to be used in other contexts, such as
the upcoming python-cryptography version bump.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:49 +01:00
James Hilliard
98c7ea3ddf package/pkg-cargo.mk: enable -Z target-applies-to-host via env
This should be more reliable and fix the host == target bug when
doing indirect invocations using the cargo env.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:49 +01:00
Thomas Petazzoni
0894937f7f package/pkg-cargo.mk: split PKG_CARGO_ENV into target/host variables
Some variables should only be passed for target packages, such as the
target-applies-to-host variable. Additional target-specific variables
will also be added.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:49 +01:00
Thomas Petazzoni
e5ead094e1 support/testing/tests: switch python-cryptography related tests to glibc
In a follow-up commit, we are about to bump python-cryptography to a
new version, which has the interesting charateristic of using Rust
code. This means python-cryptography will now only be available on
platforms supported by Rust, which for now excludes uclibc-based
configurations (none of the Rust Tier1/Tier2 platforms use uClibc,
there is some uClibc support in Tier3 platforms but they have not been
added to Buildroot for now).

So in preparation for this bump, we switch the few test cases of
Python packages that directly or indirectly use python-cryptography to
use a glibc toolchain. Another impacted test case is the
docker-compose test case, but it already uses a glibc toolchain;

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:49 +01:00
Thomas Petazzoni
36e8743da1 support/download/cargo-post-process: make manifest path configurable
In most pure Rust packages, the Cargo.toml manifest is at the root
directory, which is why we could call "cargo vendor" without
specifying the path of the manifest.

However, other packages, such as python-cryptography, which have parts
implemented in Rust, have their Cargo.toml located in a specific
subdirectory.

This commit extends the cargo-post-process download script to
understand a BR_CARGO_MANIFEST_PATH environment variable, which allows
a package to pass the location of the Cargo.toml file. If not passed,
"Cargo.toml" is used, preserving the existing behavior for other
packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-01-09 12:13:48 +01:00