From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4c59yb3Dkbz2xXb for ; Mon, 18 Aug 2025 11:50:47 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [IPv6:2001:678:b28::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4c59yW5gTXz2xM3 for ; Mon, 18 Aug 2025 11:50:43 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4c59yV328YzhP; Mon, 18 Aug 2025 11:50:42 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1755517842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bHSNTNKwh7XXzhwN09CBfTLQcK5v7kFCvianUyqlppw=; b=/C7dHNJdwzclEgYppTGQGrsDDfYYK0AFE0fChiu9pZHJ5XXeBvRAity43RgcUX1vTLElHq +EPS8WQFjQrjHUCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1755517842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bHSNTNKwh7XXzhwN09CBfTLQcK5v7kFCvianUyqlppw=; b=iJ9bMqcJ2IhjsoQ/hRU3mjeuvqX2ls3VGXvYdxenbTeX2io6DeK8az8m1G/j+yogdWvOo3 S8s8hBRpVuBlw/BHIA4X4LHJmz1t6fZUguW9XYk3bgiC5c0aHks8bG5luF7H2b+Qr79qOy 6tFsCfqPpE/EwVEz4plSczxKNS8/OZgHbB21eNeyT8tMxdn7ip9y5YhRxj8faGGM4OG6Rg YN1dopKugDBH768JgXGf6Reap6lFvVCsXFvystNmt/1QhUC73gQAfUz/TXTSzMbWP8G5Zr pxN41UKGYC/zXrznZDwDlv++UoMEgofgOh9m4dXK0Nqf5j1joLtg7imjjLFKmQ== Content-Type: text/plain; charset=utf-8 Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: Mime-Version: 1.0 Subject: Re: [RFC PATCH 1/2] unbound: Enable the Python module(s) From: Michael Tremer In-Reply-To: Date: Mon, 18 Aug 2025 12:50:42 +0100 Cc: "IPFire: Development-List" Content-Transfer-Encoding: quoted-printable Message-Id: References: <20250425123717.3462310-1-michael.tremer@ipfire.org> To: Adolf Belka Hello, I have the same problem. I have built this from a non-clean build initially and everything was = fine. I used that version of Unbound to write and test the code. No = problems there whatsoever. But I never managed to run a clean build. It seems that swig messes = something up and I cannot tell you at all what that could be. It is not = only tomli not compiling. If you comment it out and try to compile the = next thing it won=E2=80=99t work either. I don=E2=80=99t know what it = could break like this because the problems suddenly seem to occur in the = Python standard library. Maybe an update of Swig solves the problem? Would you like to give that = a try? -Michael > On 16 Aug 2025, at 17:23, Adolf Belka wrote: >=20 > Hi Michael, >=20 > After some time I thought I should have a go at building with your = two patches for the unbound fast flux option but the build fails to = complete. >=20 > I am doing the build with the current next repo. >=20 > I have done the build twice and it fails at the same point each time = at the python3-tomli build. >=20 > The following is the log output, which I have not been able to = interpret to identify what is causing the build to fail. >=20 >=20 > Aug 16 15:11:49: Building python3-tomli make: Entering directory = '/home/ahb/sandbox/ipfire-2-builder3/lfs' > make: Nothing to be done for 'download'. > make: Leaving directory '/home/ahb/sandbox/ipfire-2-builder3/lfs' > make: Entering directory '/usr/src/lfs' > tomli-2.0.1.tar.gz checksum OK > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Installing tomli-2.0.1 ... > Install started; saving file list to /usr/src/lsalr ... > cd /usr/src/tomli-2.0.1 && python3 -m pyproject2setuppy.main build > Traceback (most recent call last): > File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main > return _run_code(code, main_globals, None, > File "/usr/lib/python3.10/runpy.py", line 86, in _run_code > exec(code, run_globals) > File "/usr/lib/python3.10/site-packages/pyproject2setuppy/main.py", = line 15, in > main() > File = "/usr/lib/python3.10/site-packages/pyproject2setuppy/__main__.py", line = 53, in main > handler(data) > File "/usr/lib/python3.10/site-packages/pyproject2setuppy/flit.py", = line 91, in handle_flit > setup(**setup_metadata) > File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line = 86, in setup > _install_setup_requires(attrs) > File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line = 75, in _install_setup_requires > dist =3D MinimalDistribution(attrs) > File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line = 57, in __init__ > super().__init__(filtered) > File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line = 474, in __init__ > for ep in metadata.entry_points(group=3D'distutils.setup_keywords'): > File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1009, = in entry_points > return SelectableGroups.load(eps).select(**params) > File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 459, = in load > ordered =3D sorted(eps, key=3Dby_group) > File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1006, = in > eps =3D itertools.chain.from_iterable( > File "/usr/lib/python3.10/importlib/metadata/_itertools.py", line 16, = in unique_everseen > k =3D key(element) > File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 941, = in _normalized_name > return self._name_from_stem(stem) or super()._normalized_name > File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 622, = in _normalized_name > return Prepared.normalize(self.name) > File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 871, = in normalize > return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_') > File "/usr/lib/python3.10/re.py", line 209, in sub > return _compile(pattern, flags).sub(repl, string, count) > TypeError: expected string or bytes-like object > make: *** [python3-tomli:78: /usr/src/log/tomli-2.0.1] Error 1 > make: Leaving directory '/usr/src/lfs' >=20 > Regards, >=20 > Adolf. >=20 > On 25/04/2025 14:37, Michael Tremer wrote: >> This can be used to script the resolver and use libunbound from = Python. >> Signed-off-by: Michael Tremer >> --- >> config/rootfiles/common/unbound | 4 ++++ >> lfs/unbound | 3 +++ >> make.sh | 2 +- >> 3 files changed, 8 insertions(+), 1 deletion(-) >> diff --git a/config/rootfiles/common/unbound = b/config/rootfiles/common/unbound >> index 57390d6d9..03c956503 100644 >> --- a/config/rootfiles/common/unbound >> +++ b/config/rootfiles/common/unbound >> @@ -13,6 +13,10 @@ etc/unbound/unbound.conf >> usr/lib/libunbound.so.8 >> usr/lib/libunbound.so.8.1.30 >> #usr/lib/pkgconfig/libunbound.pc >> +#usr/lib/python3.10/site-packages/_unbound.la >> +usr/lib/python3.10/site-packages/_unbound.so >> +usr/lib/python3.10/site-packages/unbound.py >> +usr/lib/python3.10/site-packages/unboundmodule.py >> usr/sbin/unbound >> usr/sbin/unbound-anchor >> usr/sbin/unbound-checkconf >> diff --git a/lfs/unbound b/lfs/unbound >> index 537ccff7e..8c79125ec 100644 >> --- a/lfs/unbound >> +++ b/lfs/unbound >> @@ -71,6 +71,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >> @$(PREBUILD) >> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) >> cd $(DIR_APP) && \ >> + PYTHON_VERSION=3D3 \ >> ./configure \ >> --prefix=3D/usr \ >> --sysconfdir=3D/etc \ >> @@ -83,6 +84,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >> --enable-tfo-server \ >> --enable-ipset \ >> --with-libmnl \ >> + --with-pythonmodule \ >> + --with-pyunbound \ >> ac_cv_func_getentropy=3Dno >> cd $(DIR_APP) && make $(MAKETUNING) >> diff --git a/make.sh b/make.sh >> index 3643b469e..3a673cd2b 100755 >> --- a/make.sh >> +++ b/make.sh >> @@ -1534,6 +1534,7 @@ build_system() { >> lfsmake2 libevent2 >> lfsmake2 apr >> lfsmake2 aprutil >> + lfsmake2 swig >> lfsmake2 unbound >> lfsmake2 gnutls >> lfsmake2 libuv >> @@ -1930,7 +1931,6 @@ build_system() { >> lfsmake2 minicom >> lfsmake2 ddrescue >> lfsmake2 parted >> - lfsmake2 swig >> lfsmake2 python3-pyelftools >> lfsmake2 u-boot >> lfsmake2 wireless-regdb >=20