Commit Graph

2099 Commits

Author SHA1 Message Date
Thomas Petazzoni
b8a4a82cb6 support/dependencies/dependencies.sh: awk is needed by Buildroot
A basic Fedora 42 container does not have 'awk' installed, but it is
needed by Buildroot. First by check-host-python3.sh:

support/dependencies/check-host-python3.sh: line 6: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found

but then even building host-expat assumes awk is available:

config.status: creating Makefile
./config.status: line 1404: awk: command not found
config.status: creating expat.pc
./config.status: line 1404: awk: command not found

Since it's a pretty basic tool, make it part of the tools checked by
dependencies.sh. One minor annoyance is that check-host-python3.sh is
executed *before* dependencies.sh does its thing, so when 'awk' is not
available, we end up seeing:

support/dependencies/check-host-python3.sh: line 6: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found
which: no awk in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
You must install 'awk' on your build machine
make: *** [support/dependencies/dependencies.mk:27: dependencies] Error 1

It would be nice to have the awk check *before* it gets used in
check-host-python3.sh, but that's a topic for another patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 448ceefa78)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-15 17:05:49 +02:00
Raphaël Mélotte
0934ce7321 support/scripts/pkg-stats: fix typo in --disable help text
Annoyingly, using "--disable warning" does not disable the warnings
checks.

It turns out that we look for "warnings" (i.e. with an 's') to know if
we should disable the warnings check, so update the help text
accordingly.

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 92e7ab78d6)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-14 20:58:57 +02:00
El Mehdi YOUNES
901f6e1cb4 support/test: new dust runtime test
Add a runtime test for the 'dust' package to verify that the binary
executes correctly in a minimal buildroot rootfs. The test checks that:
- 'dust --version' runs without error
- 'dust' can analyze a directory structure with files
- The output includes the expected directory names

Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 5bca9d741d)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 13:01:22 +02:00
El Mehdi YOUNES
672f99bdce support/test: new bat runtime test
Add a runtime test for the 'bat' package to verify that the binary executes
correctly in a minimal Buildroot rootfs.The test cheks that:
- 'bat --version' runs without error
- 'bat' can read and display a text file
- the displayed content matches the expected string

Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit dacf8e3c39)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 13:01:21 +02:00
Vincent Stehlé
9611c1cd9e support/testing: test_edk2: add macchiatobin build test
Add an EDK II build test for the MACCHIATObin platform.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Dick Olsson <hi@senzilla.io>
Cc: Julien Olivain <ju.o@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit a5821cdaa1)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 13:00:59 +02:00
Raphaël Mélotte
ca2ff29ba6 support/testing: add new test for python-urllib3
Importing urllib3 already allows us to check that for example zlib can
be loaded at runtime.

For good measure, also create the PoolManager object mentioned in the
user guide ([1]), and check that we can normalize a URL like it is
done in urllib3's 'test/test_util.py'.

[1]: https://urllib3.readthedocs.io/en/stable/user-guide.html

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 3e931caf84)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:14:25 +02:00
Julien Olivain
fb9716a81b support/testing: new hyperfine runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit a9b0e551af)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:14:21 +02:00
Julien Olivain
db50ec7255 support/testing: new openocd runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit aaf93ba27f)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:14:03 +02:00
Julien Olivain
8337e700ac support/testing: add lighttpd runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit f438ae3422)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:13:21 +02:00
Julien Olivain
b2dc4eac30 support/testing: weston: fix the weston shutdown test
Commit [1] "support/testing: improve weston test reliability" moved
out the wait time from the emulator (to run on the test controller).

While doing so, the sleep time which was initially _after_ the
"killall weston" invocation to in stop_weston() was incorrectly
moved before the command invocation. In this state, the test can
succeed on fast host computer running the test. But it will most
likely fail on an average computer.

This commit fixes this issue by moving the sleep time after
the command invocation.

[1] 6561a5d773

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit bedc44c073)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:13:14 +02:00
Vincent Stehlé
e50c617e6c support/testing: test_edk2: add a few build tests
Some EDK II configurations have complex dependencies on several packages
and additional build options; build tests help keeping track of those
more easily.

Factorize some code common to all the build tests into a new
TestEdk2BuildBase class, which defines a base configuration and a method
to assert that binaries do indeed exist after the build.

While at it, add myself in DEVELOPERS.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Dick Olsson <hi@senzilla.io>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4f7e3f0bdd)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:12:38 +02:00
Yann E. MORIN
fb287340b7 support/download/git: use FOO_DL_OPTS
The manual states that FOO_DL_OPTS are valid for all the different
download backends, but that is not the case: at least the git backend
does not use them (it does not fail, it just ignores them).

Accept FOO_DL_OPTS in the git backend, and pass them to 'git fetch'.
There is no way that we can pass such options to submodules or lfs,
though.

Update the manual accordingly.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a1012b363a)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:12:31 +02:00
Gaël PORTAY
c0691e4354 support/scripts/gen-bootlin-toolchains: allows armv8-a CPU to use armv7-a toolchains
The ARMV7-A toolchains are capable to compile binaries for ARMv8-A CPU
in AArch32 execution state.

This adds the BR2_ARM_CPU_ARMV8A option in the 'conditions' to allow
ARMV8-A CPU such as Cortex-A53 or Cortex-A72 to use ARMV7-A toolchains.

Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8fd537ae05)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-05-02 12:11:48 +02:00
Thomas Petazzoni
ca6a6837e1 support/scripts/pkg-stats: add -v/--verbose option
Running pkg-stats is currently quite verbose, as it shows one line per
package when checking for the upstream URL, and another one line per
package when checking for the latest version on
release-monitoring.org.

This noisy output is a bit annoying when pkg-stats is run in a
cronjob, like we do to update https://autobuild.buildroot.net/stats/
every day. This commit adds a -v/--verbose option, off by default, to
have a less noisy output.

Suggested-by: Peter Korsgaard <peter@korsgaard.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 203e9def71)
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2025-04-22 20:45:27 +02:00
Romain Naour
81da992063 support/download/svn: use 'svn info' whith LC_ALL=C
Use the 'C' locale when retrieving the date of the last change using
'svn info' since the svn download helper script expect
"Last Changed Date" string.

If another locale is used, the 'date' is empty so the generated
archive (by mk_tar_gz) will not match the expected hash since
the file timestamp is not set properly.

If LANG=fr_FR.UTF-8 is defined in the host system, svn print some
"French encrypted" text:

  eval svn --non-interactive --config-option servers:global:http-timeout=10 info ''\''https://svn.code.sf.net/p/xmlrpc-c/code/advanced@r3176'\'''
  ...
  Date de la dernière modification: 2023-09-02 19:13:35 +0200 (sam. 02 sept. 2023)

diffoscope confirm that the file timestamp is not set correctly
in the generated archive:

$ diffoscope NOK/libxmlrpc-r3176-svn5.tar.gz OK/libxmlrpc-r3176-svn5.tar.gz

Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 8d3b1781f6)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-04-08 09:06:51 +02:00
Julien Olivain
bc018bafdc support/testing: test_gstreamer1: fix test by using bootlin toolchain
Since Buildroot commit [1], the test_gstreamer1 runtime test is
failing to build the tesseract-ocr package. The root cause is that
the test uses the default arm external toolchain, which is the Linaro
ARM 2018.05 based on gcc 7.3.1.

Since [1], tesseract-orc no longer compiles with gcc 7 (it requires at
least gcc 8).

This commit fixes the issue by switching the toolchain to the
bootlin versions (based on gcc 14 at the time of this commit).

Also, changing the compiler version slightly slowed down the video
encoding. This commit also increases the encoding command timeout.

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

[1] f32da8b984

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 356c70677c)
2025-04-07 15:33:02 +02:00
Julien Olivain
ba59edc803 support/testing: add git runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 24efb23a10)
2025-04-07 15:33:00 +02:00
Alex Bennée
d11ef1e7a4 support/testing: make time setting portable
The busybox date applet accepts the following:

  date @1234567

but this confuses the coreutils version which doesn't implicitly set
time. As some tests might need coreutils binaries we should ensure the
emulator login will work with both. Fix this by passing the -s (set)
option to the command.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit bfb490799e)
2025-04-06 17:21:07 +02:00
Yann E. MORIN
ccbd64ef13 support/testing: set date in emulated machine
When time comes to check certificates, the date and time in the emulated
machine should be close enough to the actual values, so that certificate
validity can be checked.

Some Qemu machines have an RTC (e.g. arm vexpress-a9 has a pl031), and
the kernel needs a driver for those RTC. It is not guaranteed that the
machine used for a test meets those two conditions; in such a case, the
time in the machine starts way back in the past (1970-01-01T00:00:00Z on
sysv, or the release date of systemd). This is the case with the default
kernel, so such tests do not have the proper time.

Set the date to the date of the host system. This is going to be accurate
to the second, which is, by far, enough for our purpose.

To avoid having to consider what combination of emulated machine and kernel
configuration are being used, we always set the date, as this is a
generic step that should be done by the infra (like login in as root is).

The Emulator() class doesn't inherit from unittest.TestCase, so we can't
call any of the usual self.assertXXX() methods; instead, we just raise
a standard exception, like is done a few lines above to detect the login
prompt.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@datacom.com.br>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit cf8641b73e)
2025-04-06 17:21:07 +02:00
Sébastien Szymanski
e5600040ff support/kconfig: handle backspace (^H) key
This is in the mainline kernel since v5.1-rc3:
9c38f1f04408 ("kconfig/[mn]conf: handle backspace (^H) key")

Quoting the commit's log:

"
Backspace is not working on some terminal emulators which do not send the
key code defined by terminfo. Terminals either send '^H' (8) or '^?' (127).
But currently only '^?' is handled. Let's also handle '^H' for those
terminals.
"

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit d65c10c20a)
2025-04-06 17:21:06 +02:00
Peter Korsgaard
aa2d7ca53f Update for 2025.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-03-17 18:54:20 +01:00
Peter Korsgaard
eae53ae0f4 Update for 2024.11.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2287e900c4)
[Peter: drop Makefile change]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-21 15:52:13 +01:00
Peter Korsgaard
882d0129ca support/docker/apt-sources.list: move to 20250218 snapshot
With the TARGETPLATFORM fix we need to rebuild the container so move to the
latest snapshot to get updated (security) fixes.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-20 20:15:44 +01:00
Peter Korsgaard
9f7fb95286 support/docker/Dockerfile: fix typo in tar configure options
Commit 12e9fc1da5 ("support/docker: add tar 1.35") added logic to download
and build tar for the host, but mistyped a configure option:

configure: WARNING: unrecognized options: --disable-year2028

Fix that.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-20 20:15:15 +01:00
Peter Korsgaard
ea30149c13 support/docker/Dockerfile: unbreak 32bit support for x86-64
Fixes ttps://gitlab.com/buildroot.org/buildroot/-/jobs/9153298207

Commit 3bc94471ca ("support/docker: prepare for Aarch64 Docker images")
reworked the Dockerfile to only add the 32bit support when building for
x86-64, but it forgot to add a TARGETPLATFORM argument so the conditionals
never triggers.

Fix it by adding a TARGETPLATFORM argument as explained here:
https://forums.docker.com/t/build-multi-arch-images-with-different-commands-per-architecture-in-docker-file/134795

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-20 20:15:02 +01:00
Vincent Fazio
9bc3bbce38 support/testing: test_python_{gnupg, spake2}: increase timeout value
Previously, these tests had the potential for timing out with the
default 5 second timeout value if initializing /dev/urandom took too
long.

Now the tests use a 10 second timeout value.

Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-16 12:13:44 +01:00
Vincent Fazio
41b08a779b support/testing: test_python_txaio: include twisted sample
Prior to b7d251293a, txaio would test both asyncio and twisted.

Add back the twisted sample and include the twisted package in the
config so both modes of the package are tested.

Fixes: b7d251293a ("package/python-txaio: drop python 2 support")
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-16 12:05:11 +01:00
Peter Korsgaard
03b0379426 support/docker/Dockerfile: use correct ENV syntax
buildx correctly complains about our ENV lines:

3 warnings found (use docker --debug to expand):
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 21)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 94)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 95)

The ENV syntax is defined as ENV FOO=BAR, not ENV FOO BAR, so adjust the
Dockerfile to match to get rid of this warning.

https://docs.docker.com/reference/dockerfile/#env

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-12 11:24:30 +01:00
Romain Naour
3bc94471ca support/docker: prepare for Aarch64 Docker images
With the new 'buildx' command using 'BuildKit' since Docker 23.0 [1],
it become easy to build the same image for several architectures [2].
The only requirement is to use a Dockerfile without any architecture
specific definition.

Since our current Dockefile contains already some i386 specific
packages (g++-multilib,libc6:i386) to provide x86 32bits support,
we have to install them conditionally.

Update the build process described in the Dockerfile accordingly.

For now, Aarch64 hosts can't be used by the Buildroot testsuite (yet)
since the Bootlin external toolchain (used by default) currently only
support x86_64 hosts.

[1] https://docs.docker.com/engine/release-notes/23.0/
[2] https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/
[3] https://www.docker.com/blog/multi-arch-build-what-about-gitlab-ci/

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-12 11:08:19 +01:00
Peter Korsgaard
12e9fc1da5 support/docker: add tar 1.35
Since commit b11956fb66 ("support/dependencies: require tar >= 1.35"),
Buildroot will build host-tar if the host does not have >= 1.35 available,
so add it to the container to save build time.

Debian 12 only provides tar 1.34.  Tar 1.35 is available in testing - But
that then depends on a newer glibc, so instead build it from source using
the --disable-year2038 flag like we do for host-tar and install it into
/usr/local/bin so it shadows the Debian one.

This step runs as root (and needs to for make install), so add
FORCE_UNSAFE_CONFIGURE=1 as otherwise the configure script errors out.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 22:18:29 +01:00
Peter Korsgaard
f3e7e28979 support/docker: add curl
Commit afece24a72 ("support/download: introduce curl backend for FTP
transfers") added curl download support, so add it to the container as well.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 22:18:28 +01:00
Peter Korsgaard
c95d5b8e1e support/docker: move to current bookworm (Debian 12) snapshot
Debian 11 is out of security support since 15 August 2024, so move to
current Debian 12 instead.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 22:18:28 +01:00
Romain Naour
0100c6e402 support/scripts/mkusers: fix shellcheck error related to auto_id
SC2086 is now reported for auto_id since shellcheck 0.9.0:

In support/scripts/mkusers line 453:
                add_one_group "${g}" ${auto_id}
                                     ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

So quote it to get rid of this error.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Peter: quote variable instead of disabling check]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 15:20:41 +01:00
Romain Naour
13deac1e39 support/download/{curl, cvs, git, svn}: disable new shellcheck 0.9.0 errors
As for SC1090 and SC2016 [1], disable SC1091 and SC2294 too since they
are now reported by shellcheck 0.9.0:

In support/download/curl line 42:
    eval ${CURL} "${@}"
                  ^--^ SC2294 (warning): eval negates the benefit of arrays. Drop eval to preserve whitespace/symbols (or eval as string).

[1] bcee3ca6d6

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 15:17:46 +01:00
Romain Naour
ef15efdd2c support/testing/tests/package: sample_python_*: fix flake8 errors
flake8 5.0.4 provided by Debian 12 (bookworm) now detect a missing
whitespace after 'assert' keyword:

  E275 missing whitespace after keyword

Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Peter: fix subject, drop extra paranthesises]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 11:10:21 +01:00
Romain Naour
f26dfdc842 support/docker: add flake8 command
When check-package fail due to flake8 coding style checks, it suggest
to use flake8 command line:

  run 'flake8' and fix the warnings

But flake8 is actually missing from the container used by
utils/docker-run, so add it to the container as well.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-09 11:07:03 +01:00
Thomas Petazzoni
edb4d9724b toolchain/toolchain-external/toolchain-external-bootlin: drop Microblaze/bleeding-edge
GCC 14.x has a significant bug where libatomic lacks some important
functions, causing the toolchain to be pretty much
unusable. Therefore, let's drop this toolchain entirely from our
listing for now.

See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118280 for more
details.

Fixes:

  http://autobuild.buildroot.net/results/dd081ca3c5746b980b0bcdf1f12b1a26c6b7ef86/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-08 21:38:47 +01:00
Julien Olivain
b0ff88423f support/testing: fix test_atf by bumping atf to 2.11
Since commit [1], test_atf is failing. See [2].

Passing -no-pie to ld does not produce the bl31.elf file (and does not
generate an error). TF-A 2.11 reworked its makefiles and switched to
gcc to link files. This commit fixes this failing test by updating to
this newer TF-A version.

Fixes: [2].

[1] 248c2d045e
[2] https://gitlab.com/buildroot.org/buildroot/-/jobs/8609307891

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-02-05 13:05:22 +01:00
Thomas Petazzoni
824c660c75 support/testing/tests/package/test_python_waitress: rework assertion
Like Yann E. Morin did for
support/testing/tests/package/test_python_django.py, adjust the logic
to avoid the weird "self.assertTrue(False, ...)" construct, and
instead test exit_code after the loop.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-05 11:19:27 +01:00
Marcus Hoffmann
1d4a61247d package/python-waitress: new package
The test runs the flask sample app through the waitress wsgi server
instead of the flask development server.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-05 11:14:30 +01:00
Francois Perrad
48bce6ad8f package/lynis: new package
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-04 17:33:36 +01:00
Thomas Petazzoni
3ea79058c0 support/testing/tests: new NetworkManager/GOI test
This test is inspired from the details provided by Fiona Klute's cover
letter for a GOI/glib bump series at:

  https://lore.kernel.org/buildroot/20250120211707.2381182-1-fiona.klute@gmx.de/

Which itself uses the example code at:

  https://networkmanager.dev/docs/developers/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-04 16:16:16 +01:00
Thomas Petazzoni
91e51e2679 support/testing/tests/package/test_python_sdbus_networkmanager: use more recent toolchain
Since the bump of NetworkManager to 1.50.0 in Buildroot commit
489d1f9249, the
tests.package.test_python_sdbus_networkmanager.TestPythonPy3SdbusNetworkmanager
is failing to build as NM >= 1.50.0 needs headers >= 4.20.

We fix this test by using a newer toolchain. This means we can't use
anymore the basic toolchain config, so we use a fully specific
defconfig for this test.

Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-04 16:16:09 +01:00
Adam Duskett
67c6d1b12c package/mender: bump version to 3.5.3
Updating directly to 4.x is too difficult and complex, as mender 4.x is
a complete rewrite in C++, with several new dependencies and changes.

As such, update to the last version that was written in Go, which is
3.5.3. The following changes are necessary:

The artifact_info file is no longer supported. Instead, mender now expects a
bootstrap.mender artifact created by mender-artifact /var/lib/mender.
See the following for more information:
https://northerntech.atlassian.net/browse/MEN-2585
https://northerntech.atlassian.net/browse/MEN-2583
https://docs.mender.io/release-information/release-notes-changelog/mender-client#mender-3-5-0-1
https://github.com/mendersoftware/mender/blob/3.5.3/Documentation/automatic-bootstrap-artifact.md

  - Remove all instances of creating or copying an artifact_info file
    from board examples and package/mender.

  - Add a generate_mender_bootstrap_artifact method to
    board/mender/x86_64/post-image-efi.sh which creates a proper
    bootstrap.mender file and places it in the data partition.

  - Add a post-build.sh script to support/testing/tests/package/test_mender
    with the same generate_mender_bootstrap_artifact method with one change:
    As the rootfs.ext4 file is not yet created; we omit the optional
    --provides "rootfs-image.checksum:${img_checksum}" argument when
    generating the bootstrap.mender file.

Mender expects the device_type file to exist in /var/lib/mender/device_type.
  This is further supported by the following line in tests/Dockerfile.daemon:
  `echo device_type=docker-client > /var/lib/mender/device_type`

Add a migration section in docs/manual/migrating.adoc

Update the package/mender/readme.txt to include a quick mention of the
bootstrap.mender artifact change.

License changes:

New:
vendor/github.com/klauspost/compress/internal/snapref/LICENSE (BSD-3-Clause)
vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt (MIT)

Removed:
vendor/github.com/klauspost/compress/internal/snapref/LICENSE
vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt

Modified:
LICENSE: Update year from 2022 to 2024
LIC_FILES_CHKSUM.sha256: Sum of all Licenses changed
vendor/github.com/mendersoftware/mender-artifact/LICENSE
  - Update year from 2022 to 2023

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[Arnout:
  - fix LIC_FILES_CHKSUM.sha256 hash
  - Better URL for bootstrap artifact doc
  - Migrate to 2025.02 instead of 2024.11
  - Improve migrating text (editorial changes)
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-04 15:00:19 +01:00
Adam Duskett
c4772ecef6 support/testing/tests/package/test_mender.py: Add a systemd test
- Move the check for /var/run/mender.pid to before self.run_mender_test()
    for the two tests using sysvinit.

  - Instead of checking for /var/run/mender.pid during the systemd test,
    check to ensure "systemctl is-active mender-client" returns "active"

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[Arnout: fix flake8 issue]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-04 13:57:11 +01:00
Adam Duskett
5389f9b1a2 support/testing/tests/package/test_mender.py: Add RO fs test
Add a test for read-only file systems.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-04 13:19:56 +01:00
Julien Olivain
da66b838e4 support/testing: new gstreamer1 runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-03 23:13:41 +01:00
Julien Olivain
41bceec4e8 support/testing: new patch runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-03 23:06:33 +01:00
Julien Olivain
fefe7024a3 support/testing: new wget runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-03 23:05:08 +01:00
Julien Olivain
292631cd09 support/testing: add libcurl runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-03 23:03:58 +01:00