Commit Graph
3346 Commits
Author SHA1 Message Date
Romain Naour 5d4d8ef590 package/thttpd: remove package
Despite the last thttpd release 2.29 back in 2018, the package doesn't
build with modern compiler (gcc-15) and Autoconf (newer than 2.13) [1].

Remove TestThttpd from our testsuite.

[1] https://lore.kernel.org/buildroot/20250811203206.1506378-1-romain.naour@smile.fr/

Cc: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
(cherry picked from commit c6b8ddab6e)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
2025-09-04 14:13:05 +02:00
Thomas Petazzoni 46d3fc2595 package/liboauth: remove package
This package fails to build in the autobuilders:

  https://autobuild.buildroot.net/?reason=liboauth%

The last upstream release, 1.0.3, was done 11 years ago:

  https://sourceforge.net/projects/liboauth/

There is a Github repo at:

  https://github.com/x42/liboauth

with commits from 3 years ago, but no release.

We already carry a patch fixing the build with OpenSSL 1.1.x, which
has been submitted at https://github.com/x42/liboauth/issues/9 but
never merged, despite being opened since 2017.

This package also has no maintainer in DEVELOPERS, and it has no
reverse dependency in Buildroot, so let's get rid of it.

Fixes:

  https://autobuild.buildroot.net/results/8694ece6874a5fe297e707b12af85eeaef227675/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 34b585c099)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
2025-09-04 14:01:05 +02:00
Titouan Christophe 380d9c0ffa package/libolm: remove package
Upstream has explicitely stated that libolm is now deprecated.
Since no other package depend on libolm, we can easily remove it from
Buildroot. If any user is interested in this feature, we can add its
successor: vodozemac.

More information here:
https://gitlab.matrix.org/matrix-org/olm#important-libolm-is-now-deprecated

Also, there is CVE reported on this latest 3.2.16 version declared
as no longer maintained. See:
https://www.cve.org/CVERecord?id=CVE-2024-45191
https://www.cve.org/CVERecord?id=CVE-2024-45192
https://www.cve.org/CVERecord?id=CVE-2024-45193

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
[Julien: add a note about CVE reported on this package]
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit edf08553dd)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-07-10 11:37:29 +02:00
Titouan Christophe 8ecdef8dd0 package/libwebsock: remove package
The upstream Github repository payden/libwebsock is no longer available,
and its URL now redirects to some completely unrelated software.
We don't know for sure what happened, but at least the package does not
build anymore, because its source code has vanished.

Since no other buildroot package depends on libwebsock, and it hasn't
received any update; let's simply remove it from here.

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 9f2dbf1486)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-07-03 10:56:56 +02:00
Bernd Kuhls 3a264b42e2 package/libebur128: remove package
libebur128 was added to buildroot in July 2016 with commit
a32d29cd84 to provide an external
dependency for ffmpeg.

ffmpeg removed this external dependency and switched to an internal
version in November 2016 with upstream commit
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=005d058f4230f3207ebcf1131df7426d4f57392f
which was first included in ffmpeg version 3.3.

Buildroot bumped ffmpeg to version 3.3 in April 2017 with commit
21d93a1351 and forgot to remove the
dependency to libebur128.

This went unnoticed until libebur128 fails to build with cmake 4.x.
Upstream saw its last commit four years ago. Instead of fixing an
unused package we removed it from buildroot.

Fixes:
https://autobuild.buildroot.org/results/e629bd151cc539f01b909e44d07e17451a29ba27/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 6586a2b165)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-06-24 20:39:17 +02:00
Michael Walle c09ee07b2c package/hwclock-initscript: new package
Add a new initscript to save the date and time to the hardware clock
on shutdown.

Signed-off-by: Michael Walle <michael@walle.cc>
[Arnout:
 - package as hwclock-initscript instead of buildroot-initscripts;
 - mention in help text that it isn't needed at boot;
 - rewrite initscript according to our usual pattern;
 - fix shellcheck errors.
]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2025-05-18 22:42:54 +02:00
Florian Larysch 187f7b1469 package/casync-nano: new package
casync-nano is an implementation of a subset of the features of casync,
optimized for performing OTA updates on embedded systems.

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-05-18 17:07:04 +02:00
Yegor Yefremov dad998a807 package/lpac: new package
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-05-17 17:01:42 +02:00
Adam Duskett a474642fdc package/mender-update-modules: new package
Contains community supported Update Modules. An Update Module is an extension
to the Mender client for supporting a new type of software update, such as a
package manager, container, bootloader or even updates of nearby
microcontrollers. An Update Module can be tailored to a specific device or
environment (e.g. update a proprietary bootloader), or be more
general-purpose (e.g. install a set of .rpm packages.).

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-05-17 16:34:09 +02:00
Romain Naour 58f9c7b83c package/spirv-llvm-translator: add target variant to provide LLVMSPIRVLib
This target version is needed for Rusticl which is an LLVM based OpenCL
framework[1]. Rusticl allow programs to compile OpenCL C/C++ code
at runtime with Clang. Clang generates LLVM IR which is translated into
SPIR-V by spirv-llvm-translator. Finally, mesa can use its internal
tools to manage SPIR-V.

[1]: https://docs.mesa3d.org/rusticl.html

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Sebastian Weyer <sebastian.weyer@smile.fr>
Signed-off-by: Antoine Coutant <antoine.coutant@smile.fr>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-17 12:39:37 +02:00
James Hilliard 218a17dbc4 package/python-mypy: new package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2025-05-16 16:55:03 +02:00
Marcus Hoffmann 9b6e7bf7ee package/python-typing-inspection: new package
Add python-typing-inspection as a newly introduced dependency of
pydantic.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2025-05-16 16:19:46 +02:00
Daniel Crowe 7c65b4484e package/python-pyproj: new package
Provides cartographic projections in Python
https://pyproj4.github.io/pyproj/stable/

Signed-off-by: Daniel Crowe <daniel.crowe@maxmine.com.au>
[Julien:
 - reword commit title
 - add test files in DEVELOPERS entries
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-09 19:01:27 +02:00
Daniel Crowe 02de349895 package/python-flask-restx: new package
Support REST APIs with Flask applications
https://flask-restx.readthedocs.io/en/latest/

Signed-off-by: Daniel Crowe <daniel.crowe@maxmine.com.au>
[Julien: reword commit title]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-09 18:38:35 +02:00
Neal Frager a36d5fd2f8 package/xilinx-fpgautil: new package
Add a new package to Buildroot called xilinx-fpgautil which builds the
Xilinx fpgautil script which can be used for loading FPGA bitstreams
on zynq, zynqmp and versal products at run-time.  This is a handy
application for loading FPGA bitstreams and their corresponding device
tree overlays.

An explanation of how this script can be used for each type of product
can be found on the wiki pages below.

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841847/Solution+ZynqMP+PL+Programming
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1188397412/Solution+Versal+PL+Programming

In addition, the source code for xilinx-fpgautil can be found here:
https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c

The Xilinx fpgautil script can be used hand in hand with the Versal
Segmented Configuration with the following example command for
programming the pld.pdi file to the Versal FPGA:

    fpgautil -b /lib/firmware/xilinx/<design-name>_pld.pdi -o /lib/firmware/xilinx/<dtbo-name>.dtbo

Signed-off-by: Neal Frager <neal.frager@amd.com>
[Luca: build-tested only]
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
[Julien: reflow commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-05 22:20:41 +02:00
Maxime Leroy 3e65c8005a package/grout: new package
Grout is a Graph router based on DPDK.

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
Reviewed-by: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-24 23:30:23 +02:00
Guillaume Chaye f78280bf26 package/sane-airscan: new package
Signed-off-by: Guillaume Chaye <guillaume.chaye@zeetim.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-23 22:30:42 +02:00
Vladimir Oltean d2f5f519ec package/qoriq-firmware-inphi: new package
The NXP BSPs have custom support for a 25G Ethernet retimer
(drivers/net/phy/in112525.c in U-Boot) for the LX2160A-RDB board.
That driver requires a text file to be located at a given offset in the
same storage device as U-Boot itself. The text file contains a list of
register addresses and values which are programmed into the retimer.

All in all, a pretty convoluted mechanism, but the driver is
non-upstreamable, and to support the board we need this "firmware" file
deployed.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-22 23:52:13 +02:00
Vladimir Oltean 4440f8a245 package/qoriq-mc-utils: new package
The configuration files for the MC firmware binary are distributed
through a separate repository on GitHub, and need a different package.
They are licensed differently than the firmware itself, and unlike the
firmware, they are customizable.

There are two ways for a board to use this package - similar to
qoriq-rcw. If it is an NXP reference board or if the example files
otherwise work fine with it, it is recommended to set the _INTREE
variables to select a pre-existing DPL and DPC. Otherwise, if it is a
custom board, the best solution is to just provide the DPL and DPC dts
files in board/, and set the _CUSTOM_PATH variables to point to them.

There are also two ways to deploy to the target.

Traditionally in NXP BSPs, U-Boot loads the MC firmware, DPL and DPC
from given offsets in the storage medium (outside of the filesystem).
But this is not hardcoded and it doesn't have to be the case - the
mcinitcmd U-Boot environment variable is freely customizable. What can
also be done, and is done for the LX2160A-RDB, is to deploy multiple DPL
and DPC files (all the files available for a board) to a folder of the
rootfs, and just have two symlinks: dpl.dtb and dpc.dtb which point to
the currently active files. This makes easier the processes of
upgrading, downgrading and keeping multiple file versions.

Nonetheless, the "traditional" method of deploying to the target is also
possible. The selected DPL and DPC files are deployed to the "images"
folder and are freely usable with genimage or other post-image scripts.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-22 23:52:12 +02:00
Vladimir Oltean b59d64c50d package/qoriq-mc-binary: new package
Add a package which deploys the NXP MC (Management Complex) firmware
to the target. This is necessary for NXP DPAA2 SoCs (LS1088A, LS2080A,
LS2088A, LX2160A).

The MC firmware is deployed by default to the $O/images/ folder, where
it can be used by post-build scripts. Additionally, if
BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH is specified and if the
board mcinitcmd is written as such as to pick it up, it is optionally
deployed to the filesystem.

The API exposed by the MC firmware respects backwards compatibility
principles, which means that the latest firmware version can always be
(and should always be) used on a platform, irrespective of the Linux,
U-Boot, RCW and restool versions, even though the latest features might
not be used by older API consumers.

In terms of forwards compatibility, old MC firmware versions can be
used as long as the qoriq-restool package is built with a
MC_VERSION_COMPATIBLE variable (located in its Makefile, signifying
"minimum compatible version") older than, or equal to it.

If the use of qoriq-restool is not desired (networking objects are
statically created by the DPL), old MC firmware versions are supported
by U-Boot and the Linux kernel with a limited feature set. Thus, it
is still possible to an extent to use firmware versions older than
MC_VERSION_COMPATIBLE.

According to the upstream maintainer, the latest MC firmware version
is identified by the fact that it is always located at the HEAD of the
"master" branch:
https://lore.kernel.org/buildroot/482493f17e63d2b4cb285b50049ed8e6@free.fr/T/#m62c3ec04ba546ac9b0a194d13bc35fedeaa9deb0
Currently, the latest MC firmware version is 10.39.0. This version
should be in sync with the qoriq-mc-utils package.

At this stage, the latest lf-6.12.3-1.0.0 NXP BSP has qoriq-restool with
an MC_VERSION_COMPATIBLE='10.32.0', which means that it supports this MC
firmware version.
https://github.com/nxp-qoriq/restool/blob/lf-6.12.3-1.0.0/Makefile#L23

Note that the MC firmware also used to be distributed through
linux-firmware:
https://web.git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/dpaa2/mc?h=20250311
I don't know what was the reason for doing that, but it stopped being
updated and the versions there are quite old.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-22 23:15:11 +02:00
Daniel Crowe d83cbb21cc package/python-aniso8601: new package
A library for parsing ISO 8601 strings
https://bitbucket.org/nielsenb/aniso8601/src/master/

Signed-off-by: Daniel Crowe <daniel.crowe@maxmine.com.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-20 23:06:17 +02:00
Daniel Crowe da142cf503 package/python-flask-caching: new package
Provides caching for python Flask applications
https://flask-caching.readthedocs.io/en/latest/

Signed-off-by: Daniel Crowe <daniel.crowe@maxmine.com.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-19 23:52:03 +02:00
Daniel Crowe 09bf1365f1 package/python-cachelib: new package
Provides caching APIs.
https://cachelib.readthedocs.io/en/stable/

Signed-off-by: Daniel Crowe <daniel.crowe@maxmine.com.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-04-19 23:46:37 +02:00
Vladimir Oltean a9fe5ac03c package/qoriq-ddr-phy-binary: new package
The DDR PHY on the NXP LX2160A SoC needs firmware. This is distributed
as prebuilt binaries by NXP through GitHub.

There have been discussions and other opinions on previous revisions of
the patch on how it should be integrated:
https://lore.kernel.org/buildroot/20250318163228.9989-1-vjardin@free.fr/

But I haven't integrated any of that feedback. It is a simple package
which copies the pre-built FIP image containing DDR PHY firmware files
to the images/ folder, to be used by post-image scripts.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Reviewed-by: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-04-13 15:11:53 +02:00
Vincent Fazio 43abcd4c7d package/python-smbus2: new package
Add python-smbus2 as an alternative for python-smbus-cffi as the latter
has not seen updates in 8 years and was archived on Jan 4 2024.

Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-04-03 21:57:29 +02:00
Dario Binacchi 5cab9ee224 package/ufs-utils: new package
It's a tool to access UFS (Universal Flash Storage) devices from user
space.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-04-01 21:33:44 +02:00
Yann E. MORIN e679cd4974 package/docker-credential-acr-env: new package
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Christian Stewart <christian@aperture.us>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-29 16:55:48 +01:00
Yann E. MORIN 992d43b373 package/docker-credential-gcr: new package
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Christian Stewart <christian@aperture.us>
[Julien: reflow Config.in help to fix check-package error]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-29 16:55:48 +01:00
Yann E. MORIN 9a95806225 package/amazon-ecr-credential-helper: new package
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Christian Stewart <christian@aperture.us>
[Julien: reflow Config.in help to fix check-package error]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-29 16:55:32 +01:00
Marcus Hoffmann 6ca1ee306a package/python-tzlocal: new package
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-22 16:25:02 +01:00
Joachim Wiberg e59cb9e956 package/lowdown: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-22 12:34:21 +01:00
Bernd Kuhls 486672da02 package/python-emailproxy: new package
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
[Julien: fix Config.in order found by "make check-package"]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-21 22:13:01 +01:00
James Hilliard 6f02f7b292 package/python-simple-pid: new package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-20 22:58:23 +01:00
Yann E. MORIN d038cc47cd package/passt: new package
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-15 22:22:10 +01:00
Yann E. MORIN b36475315b package/aardvark-dns: new package
aardvark-dns is needed by netavark to provide cross-container DNS
resolving with Podman.

It is to be noted that netavark and aardvark-dns have to be updated in
lock-step [0].

Update the podman runtime test to validate this is working.

[0] https://github.com/containers/podman/blob/main/DISTRO_PACKAGE.md#networking-tools-netavark-aardvark-dns-passt

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-15 22:21:58 +01:00
Yann E. MORIN ebbaac08e3 package/podman: new package
Podman is a container manager not unlike Docker, but is daemon-less.

Similarly to docker-engine, quite a few kernel config options are
required; as they are very similar in goals and features, the options
from docker-engine have been duplicated for podman. As that was not
enough, a few additional options have been added after trial-and-error
testing (they are not explicitly listed in the documentation).

The documentation [0] states that seccomp can be disabled (i.e. not
enabled). However, without seccomp support, starting containers requires
--security-opt=seccomp=unconfined to be specified; it does not look
trivial to make that the default, though [1]. Furthermore, containers
are about security, so disabling a security measure does not sound too
good. So we make seccomp support mandatory.

Podman needs netavark as a the network backend (it missing is a hard
error at runtime). It is supposed to also require aardvark-dns, an
authoritative DNS resolver, but it missing does not look to adversely
affect networking, so it is not used (as not even packaged in Buildroot
yet).

Podman can run either as the root user, or it can run rootless, i.e. by
a non-root user, which requires a bit of setup (see below, in the
runtime test) and a few other dependencies: slirp4netns [2] (to provide
network connectivity in userland), and support for subordinate UIDs and
GIDs with the shadow library. Rootless mode is one of the main selling
point for podman, so we decided that this would not be configurable in
Buildroot.

Similar to Docker, podman can inject a minimalist init as PID1 in
containers, and like Docker, this is optional; podman however by default
uses catatonit as such an init [3]. As for Docker-engine, we offer a
choice of which init package to use to provide podman-init.

Podman requires at least three config files; they can be either per-user
or system-wide:
  - containers.conf [4]: defines various settings for the container
    runtimes;
  - policy.json [5]: defines what signature to accept to validate
    images; without one such file, podman just refuses to pull images;
  - registries.conf [6]: defines where to pull images from; without it,
    podman does not know how to pull un-qualified images (i.e. images
    where the registry is not specified in the path, and which Docker
    would fetch from the Docker Hub, e.g. "busybox:latest").

For those three files, we provide a very minimal default that (in the
same order as above):
  - uses the slirp4netns network backend for rootless operation (the
    default in podman is to use pasta [1], so we need to explicitly
    configure it to use slirp4netns);
  - allows pulling images which signature can't be verified;
  - pulls unqualified images from the Docker Hub, as is traditional.

Providing actual files is going to be use-case dependent, and interested
parties will have to provide their own config files, e.g. in a rootfs
overlay.

Finally, we add a runtime test for podman. Podman is a huge binary, and
may call other huge binaries (netavark...); this can be quite slow in
the emulated machine (even when running on a very fast host machine), so
we use a huge timeout for all commands involving podman, even those that
exit the containers, as that may need to tear down podman setup.

The default kernel used in runtime tests is missing a lot of features,
so we need to build our own; we use the same version as the bundled
kernel. We can't use cpio either, because we need a filesystem that can
be used as a lower and upper of overlayfs, which is not possible with
the filesystem the cpio is extracted into; ext2 fits the bill, so we use
that. We need a bit of space to store images and stuff, so let's be
generous and allocate 256M.

To test rootless operation, we need a non-root user that has some
special setup [7]; it is easier to run the commands from the infra
rather than carry a user-definition table and a rootfs overlay. We need
that user to have the same prompts (main and continuation) so that the
REPLWrapper still detects those; it has the unfortunate side effect that
it is not immediately obvious whether a command was run as root or not,
and one has to look back up in the run-log to see whether there was a
transition to another user earlier.

Still for rootless containers, podman/netavark expect /etc/resolv.conf
to be either a plain file, or a symlink that points either deeper in
/etc or anywhere in /run; if resolv.conf resolves to any other location,
DNS in rootless containers does not work. This is reasonable, and is
what already happens on a systemd-based system (and thus all major
distributions nowadays. However, in Buildroot, we put the actual file in
/tmp; this is historical, and dates back to the days where Buildroot did
not have a guaranteed-writable /run. So, we work around this limitation
in the test (for now).

The official busybox image on the Docker Hub supports a lot of
architectures, of which armv7 which we use for this runtime test.
Finding a small image that also supports armv7 on other registries was
a bit of a challenge; we eventually found one busybox image on quay.io,
but it is not an official busybox image; still, it fits the bill, so we
use it.

There is no runtime test with systemd, as this requires quite some
additional setup that does not look very trivial to do; when it detects
it is running under systemd in rootless mode, podman expects that a full
user session exists, or it whines about it every time it is started,
reverting to non-systemd behaviour; getting a full user session does not
look to be that trivial (PAM?), so this would not exercise the actual
integration with systemd, so the test would not be meaningful, so it is
not provided. This is left as an exercise to an interested party to
extend the tests.

PS: Hat-tip to Raphael, who provided some pointers and hints on this
change, especially for rootless mode. Thanks! 👍

[0] https://podman.io/docs/installation#get-source-code
[1] it looks like we can provide a custom seccomp profile, by specifying
seccomp_profile="PATH" in containers.conf; that would still require
seccomp support to use that file, though, so that does not change the
outcome.
[2] it is possible to use another backend, but it is not packaged in
in Buildroot yet: https://passt.top/passt/about/#pasta-pack-a-subtle-tap-abstraction
[3] podman expects a 'catatonit' helper in /usr/libexec/podman, so even
if tini would be usable instead, it would not feel right to use it to
impersonate catatonit. So let's assume that only catatonit is supported.
[4] https://github.com/containers/common/blob/main/docs/containers.conf.5.md
[5] https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md
[6] https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md
[7] https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Raphael Pavlidis <raphael.pavlidis@gmail.com>
Cc: Christian Stewart <christian@aperture.us>
Cc: Julien Olivain <ju.o@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-15 22:19:29 +01:00
Yann E. MORIN 7289731adf package/netavark: new package
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Julien Olivain <ju.o@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-15 22:16:51 +01:00
Yann E. MORIN 5ae4c36dfe package/cgroupfs-v2-mount: new package
Currently, the cgroupfs-mount package only mounts a cgroup v1 hierarchy,
but v1 is considered legacy and obsolete, while v2 has been around for a
while now, and is required by some packages (e.g. podman whines about
v1).

cgroupfs-mount has not had a release in almost 8 years now, and only the
occasional commit since then and until more than 3 years ago. It's not
going to evolve...

Add a new package with a simple-enough sysv startup script, that mounts
the cgroup v2 hierarchy filesystem. For systemd, there's nothing to do,
as systemd handles the mount by itself.

Since both cgroup v1 and v2 use the same mountpoint, we can't have both
enabled at the same time, and thus we restrict the v2 to be hidden when
v1 is enabled (quite a few packages select the v1; changing those would
require that they be validated against v2 first...)

Note that, due to limitations in Kconfig, cgroupfs-v2-mount will appear
indented below cgroupfs-mount, because it has a (negative) dependency on
it. This spurious indentation is unfortunate and annoying, but benign;
fixing that would require breaking the dependency with a random Kconfig
symbol, which we don't have, and which we decided not to introduce just
for this one use-case (well, there's host-gnupg and host-gnupg2 that
have the exact same issue, but meh...)

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Fiona Klute <fiona.klute@gmx.de>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-15 22:13:25 +01:00
Yann E. MORIN 5c77357c58 package/skopeo: add target variant
Skopeo can be used to manipulate container images, and so can be useful
on target devices that are going to be used as a host to run containers.

So, add a target variant for skopeo.

... with a runtime test while at it.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Christian Stewart <christian@aperture.us>
Cc: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-15 22:09:10 +01:00
Kanak Shilledar 29861832a3 package/sipeed-lpi4abin: add licheepi4a boot bins
Sipeed LicheePi 4A requires some proprietary binaries
for booting, these are provided in the th1520-boot-firmware
repo [1]. These binaries are also required for the onboard
sound and wifi.

[1] https://github.com/revyos/th1520-boot-firmware

Signed-off-by: Kanak Shilledar <kanakshilledar@gmail.com>
[Julien:
  - add Signed-off-by line in commit log
  - reindent SIPEED_LPI4ABIN_FILES with 1 tab
  - fix DEVELOPERS entry (remove extra 's')
  - add upstream url in Config.in
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-03-11 19:22:04 +01:00
Sébastien Szymanski 63f047971f package/wlr-randr: new package
Utility to manage outputs of a Wayland compositor.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
[Fiona:
  - fix build with uClibc
  - update to 0.5.0 with move to gitlab.freedesktop.org
]
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[Julien: reorder DEVELOPERS entries alphabetically]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-24 19:16:38 +01:00
Peter Korsgaard 9254824fac package/rnnoise: new package
RNNoise is a noise suppression library based on a recurrent neural network.

Add an upstream post-0.2 patch to fix a build issue.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Julien: remove --disable-doc in _CONF_OPTS already in infra]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-18 21:32:24 +01:00
Peter Korsgaard 59a8322ce8 package/angularjs: drop package
The package has not been updated since 2020, has known vulnerabilities and
the upstream Github project has been archived as of April 12, 2024 - So drop
the package.

For reference, AngularJS website [1] reads, at the time of
this commit:
"""
AngularJS support has officially ended as of January 2022.
See what ending support means [2] and read the end of life
announcement [3].
"""

[1] https://angularjs.org/
[2] https://docs.angularjs.org/misc/version-support-status
[3] https://goo.gle/angularjs-end-of-life

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Julien: add end-of-life announce and links in commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-15 22:17:51 +01:00
Peter Korsgaard e9c0222bf4 package/angular-websocket: drop package
The package has not been updated since it was added in 2016 and the upstream
Github project has been archived as of Feb 17, 2024 - So drop the package.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-02-15 22:13:51 +01:00
Thomas Bonnefille 915ee667ae package/mimic: remove the mimic package
The mimic package hasn't been updated in recent years and
downloading this package is now broken.
This commit removes the mimic package.

Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-11 18:05:55 +01:00
J. Neuschäfer 1503580dcd package/snooze: new package
Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net>
[Peter: add to DEVELOPERS, add s-o-b to patch, add TARGET_CFLAGS/LDFLAGS,
	use /usr PREFIX]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-05 16:00:23 +01:00
Peter Korsgaard cf273fb01f package/latencytop: drop package
Fixes http://autobuild.buildroot.net/results/5b7921d1b2d347995b0088ac58b29e2f01dec39a/

The tarball is no longer available for download and the git repo on
infradead.org is also gone, there are no reverse dependencies or DEVELOPERS
entry for it and the package has not been updated since it was added in 2012
by commit cd2f78b1c5 ("New Package: latencytop"), so drop it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-02-05 14:14:10 +01:00
Arno Messiaen 38090cdbb6 package/python-aiohttp-sse-client: new package
This patch adds the python-aiohttp-sse-client package to buildroot.
This package adds SSE client support to the aiohttp library, as
opposed to the already exising python-aiohttp-sse package, which
only adds sse server support.

Signed-off-by: Arno Messiaen <arnomessiaen@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-05 12:58:56 +01:00
Peter Korsgaard e602ea0d60 package/obsidian-cursors: drop package
Fixes http://autobuild.buildroot.net/results/97ac940d6e279cfa493c6b5d9b4d318d8dda10da/

The tarball is no longer available for direct download as kde-look.org has
hidden the downloads behind a nag screen, there are no reverse dependencies
or DEVELOPERS entry for it and the package has not been updated since it was
added in 2015 by commit ae2faeffb1 ("obsidian-cursors: new package"), so
drop it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-05 12:38:11 +01:00
Peter Korsgaard 5e5241e1cf package/w_scan: drop package
Fixes http://autobuild.buildroot.net/results/da054694f0056027e83e77a1cedff5659885f2ca/

The upstream location is gone (taken over by a domain squatter), there are
no reverse dependencies, it is not listed in DEVELOPERS and hasn't been
updated since 2017 with commit 0762015f14 ("package/w_scan: bump version
to 20170107"), so drop it.

It looks to be superseded by a C++ version at
https://www.gen2vdr.de/wirbel/w_scan_cpp/index2.html, which can be added if
there is interest.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-02-05 12:36:41 +01:00