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 4c5C422BGPz2xXb for ; Mon, 18 Aug 2025 12:40:34 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (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 4c5C3y5Hk0z2xFx for ; Mon, 18 Aug 2025 12:40:30 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4c5C3y0KPkz2G; Mon, 18 Aug 2025 12:40:29 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1755520830; 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=Z+HjWi5RDiQsNKRShHe5+5ZlAfpHHFqO9o9FC7CsS5M=; b=n/foQH+Sr9yqzJVKfidXTXw/74sCm/XOYtE2dJpgumYNwu7LErdUUsNCoetIvfsE4da6ak ySRVSEFO3ausraBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1755520830; 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=Z+HjWi5RDiQsNKRShHe5+5ZlAfpHHFqO9o9FC7CsS5M=; b=VtUtmX2PikzSMoPVxs5crLDcZlB7ionTSWKBGYgZDCM0e/4GH+yxULmZhqnBjC5ig81BKz kqogJDP+Cl+mUp+Vl8WnknZJa1RmsOf3PI8ZHdS5z9LLR+E40Fa6AVnd1v9pHrQcULGYCL iOKq5Yr3Ovip0Y/o4eJW8nOFAWOtNIrY3lTYbTHK06CR+SljLQMPsQhJkKoCabU6TYGPdH ZifHuHMG/KQ1Mg9BS5mbeyZQ1rC8V8DuUaN49PzMOyYKqZC+5wL0GwVlexV1PMSsal2yMA C25uRLutO8B8+42/HVeLgWZtt0dcVOrGCpTDjIcjrTjv+Qyq4fEaB0RxUF1SsA== Message-ID: <7ab65405-afa1-4d56-8a74-4e9d180940e0@ipfire.org> Date: Mon, 18 Aug 2025 14:40:26 +0200 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) To: Michael Tremer References: <20250425123717.3462310-1-michael.tremer@ipfire.org> Content-Language: en-GB Cc: "IPFire: Development-List" From: Adolf Belka In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Michael, On 18/08/2025 13:50, Michael Tremer wrote: > 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’t work either. I don’t 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? The last swig update I provided had to be reverted because uboot would not build with it. However there is a new version out now, 4.3.1 from 2025-04-15, so I will give that a go and see if it helps and also do an aarch64 build and see if uboot builds or not. If it doesn't help or uboot fails to build then I will look at what other packages might need to be moved earlier to be before swig so that all the expected swig bits are built. Currently we have swig-4.1.0 and the reverted version was 4.3.0, so there are also other versions newer than the existing one that might allow uboot to build and help the issue we are having. Will have a go at it, although might take a while as I am cleaning my house up to make it child proof as my nephew and family are visiting from end of this week for 5 days. Regards, Adolf. > > -Michael > >> On 16 Aug 2025, at 17:23, Adolf Belka wrote: >> >> Hi Michael, >> >> 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. >> >> I am doing the build with the current next repo. >> >> I have done the build twice and it fails at the same point each time at the python3-tomli build. >> >> The following is the log output, which I have not been able to interpret to identify what is causing the build to fail. >> >> >> 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 >> ====================================== 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 = 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='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 = sorted(eps, key=by_group) >> File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1006, in >> eps = itertools.chain.from_iterable( >> File "/usr/lib/python3.10/importlib/metadata/_itertools.py", line 16, in unique_everseen >> k = 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' >> >> Regards, >> >> Adolf. >> >> 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=3 \ >>> ./configure \ >>> --prefix=/usr \ >>> --sysconfdir=/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=no >>> 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 >> > >