[Buildroot] [PATCH] package/nftables: fix the build of the pyhon bindings
Peter Korsgaard
peter at korsgaard.com
Tue Sep 12 21:21:20 UTC 2023
>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:
> nftables provides python bindings; it uses setuptools to install them.
> We currently install those bindings by telling 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, 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 hadnling, we make that 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 55df30f8b1fb (package/zfs: drop python2 support)
> and the first known-bad commit is 697acda00d9f (package/pkg-python: drop
> python2 host/setuptools support); everything in-between does not
> configure (package/python/Config.in.host still sourced but already
> removed), or does not build (host-python still in the dependency chain
> but already removed), so had to be skipped during the bisect.
> [0] This can happen when another python package using setuptools is
> built before nftables. However, with PPD, this never happens because
> host-python-setuptools is never in the dependency chain of nftables.
> Reported-by: Julien Olivain <ju.o at free.fr>
> Tested-by: Julien Olivain <ju.o at free.fr>
> Suggested-by: James Hilliard <james.hilliard1 at gmail.com>
> Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
> Cc: Adam Duskett <aduskett at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> ---
> Given the bisection result, it means that all the currently maintained
> branches are affected by the issue.
Committed to 2023.02.x and 2023.05.x, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list