nftables provides python bindings; it uses setuptools to install them. We currently install those bindings by telling the nftables buildsystem, autotools, to install the python bindings. However, we do not pass any of the environment variables that are needed for setuptools packages. When host-python-setuptools is installed before nftables is built [0], this breaks the system at runtime, as the bindings are not installed; only the egg is, resulting in runtime errors like: # python -c 'import nftables' Traceback (most recent call last): File "<string>", line 1, in <module> ModuleNotFoundError: No module named 'nftables' Upstream has been doing some changes on their python handling, but it is not in a released version yet, and we can't backport those changes either, due to other big changes. Instead, we split the pyhon bindings to their own package. For legacy handling, we make that new package default to y, so that existing (def)config still work. The only novelty is that it can be disabled now. Many thanks to Julien for testing and finding the offending dependency, to James for suggesting the package split, and to Adam for, well, trigerring the issue in the first place! ;-p Note: a git bisect of the issue turns up 72 candidates for the breakage, all around the time we dropped python2 support in early 2022; the last known-good commit is |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches