[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