Date: Mon, 13 Jul 2026 08:17:28 +0000 From: Kirill Ponomarev <kp@krion.cc> To: Matthias Fechner <idefix@fechner.net> Cc: Andrea Venturoli <ml@netfence.it>, freebsd-ports@freebsd.org Subject: Re: Salt on 2026Q3 Message-ID: <alSfGCHrcnG0z4Di@krion.cc> In-Reply-To: <0916dbf2-0ab3-4e58-b651-e239fedbd433@fechner.net> References: <edc098db-041d-47f2-b3d6-c145c92a8725@netfence.it> <alSMIuyOUs8fRq5D@krion.cc> <0916dbf2-0ab3-4e58-b651-e239fedbd433@fechner.net>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] Hi Matthias, The issue is just the default python version your poudriere build is using. The fix is to tell poudriere to build pith Python 3.14 as the default. Add to your Poudriere make.conf: # /usr/local/etc/poudriere.d/make.conf or a set-specific <set>-make.conf DEFAULT_VERSIONS+= python=3.14 If you don't want to flip your entire poudriere over to 3.14, scope it to a dedicated set (-z salt314) and put the DEFAULT_VERSIONS line in salt314-make.conf instead of the global one. Since you run zfs and sysrc, which is exactly the coverage I was hoping for, once it builds, please try a real state.apply that touches zfs/sysrc/service and let me know how it goes. Those are the modules 3008 moved out into separate salt-extensions so that's the part I'm most unsure about before committing to the in-place 3008 update. On 07/13, Matthias Fechner wrote: > Dear Kirill, > > I started some time to switch the administration to salt (not rolled out, > but I have virtual machines ready for testing). > I use ZFS and sysrc, so mostly what you asked for. > > I applied the patch to 3008.1 but if I try to build it with poudriere I get: > > [00:00:02] Ignoring > devel/py-more-itertools@py314 | py314-more-itertools-11.1.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-gitpython@py314 | py314-gitpython-3.1.50 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-looseversion@py314 | py314-looseversion-1.3.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-jmespath@py314 | py314-jmespath-1.1.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-cffi@py314 | py314-cffi-2.1.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-importlib-metadata@py314 | py314-importlib-metadata-8.7.1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-Jinja2@py314 | py314-Jinja2-3.1.6 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-opentelemetry-api@py314 | py314-opentelemetry-api-1.43.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-jaraco.functools@py314 | py314-jaraco.functools-4.5.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-jaraco.context@py314 | py314-jaraco.context-6.1.2 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-frozenlist@py314 | py314-frozenlist-1.8.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-pycparser@py314 | py314-pycparser-2.23 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-jaraco.text@py314 | py314-jaraco.text-4.2.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-msgpack@py314 | py314-msgpack-1.2.1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-timelib@py314 | py314-timelib-0.3.0_1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-python-dateutil@py314 | py314-python-dateutil-2.9.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-pyasn1@py314 | py314-pyasn1-0.6.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > net/py-libcloud@py314 | py314-libcloud-3.8.0_1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > dns/py-idna@py314 | py314-idna-3.18 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-setproctitle@py314 | py314-setproctitle-1.3.7 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Skipping > sysutils/py-salt | py314-salt-3008.1,1 > : Dependent port > devel/py-looseversion@py314 | py314-looseversion-1.3.0 > ignored > [00:00:02] Ignoring > devel/py-pyyaml@py314 | py314-pyyaml-6.0.3 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-xxhash@py314 | py314-xxhash-3.8.1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-opentelemetry-sdk@py314 | py314-opentelemetry-sdk-1.43.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-zipp@py314 | py314-zipp-3.23.1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > security/py-gnupg@py314 | py314-gnupg-3.1.1_1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > net/py-pyzmq@py314 | py314-pyzmq-27.1.0_1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > security/py-pycryptodomex@py314 | py314-pycryptodomex-3.23.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > security/py-truststore@py314 | py314-truststore-0.10.4 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-opentelemetry-exporter-otlp-proto-http@py314 | > py314-opentelemetry-exporter-otlp-proto-http-1.43.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > sysutils/py-distro@py314 | py314-distro-1.9.0 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > sysutils/py-croniter@py314 | py314-croniter-6.2.2 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > textproc/py-markupsafe@py314 | py314-markupsafe-3.0.3 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > sysutils/py-filelock@py314 | py314-filelock-3.29.6 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > sysutils/py-psutil@py314 | py314-psutil-7.2.2_1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > security/py-cryptography@py314 | py314-cryptography-48.0.1,1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > www/py-tornado@py314 | py314-tornado-6.5.7 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > www/py-requests@py314 | py314-requests-2.34.2 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > security/py-pyopenssl@py314 | py314-pyopenssl-26.2.0,1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > net/py-urllib3@py314 | py314-urllib3-2.7.0,1 > : Unknown flavor 'py314', possible flavors: py312 > [00:00:02] Ignoring > devel/py-virtualenv@py314 | py314-virtualenv-21.2.3 > : Unknown flavor 'py314', possible flavors: py312 > > Maybe some more ports will need flavor support to get that working? > > > Thanks > Matthias > > Am 13.07.26 um 08:56 schrieb Kirill Ponomarev: > > Hi Andrea, > > > > Short answer: the port is going to move to Salt 3008. There's no > > maintainable way to keep 3006 alive on 3.12+, the breakage is the > > vendored Tornado calling ssl.match_hostname(), which was removed in > > Python 3.12, and upstream only fixed that in 3007. So 3006 is a dead > > end and I don't want to carry it indefinitely. > > > > That said, until the 3008 port lands you can keep building 3006 on > > Python 3.11 in Poudriere. The BROKEN marker is keyed on PYTHON_REL >= > > 31200, so building against 3.11 sidesteps it. Scope it to a dedicated > > set so only that set drops to 3.11 > > > > lang/python311 is still in the tree on 2026Q3, so the dependency chain > > resolves. Treat this as a bridge, not a permanent solution. > > > > Now the part you should know before you rely on 3008, because it > > affects FreeBSD users specifically: 3008 moved a bunch of modules out > > into separate salt-extensions. The zfs state is gone (moved to > > saltext-zfs), and sysrc/freebsdservice currently have no upstream home > > at all, saltext-freebsd doesn't exist yet. Alan and Fabian already hit > > the missing ZFS state in testing, and Delta had to vendor the old > > extensions by hand. So if your setup leans on ZFS states or FreeBSD > > service/sysrc management, plan for that gap. > > > > There's a working 3008.1 patch attached to the PR (#296290). Since you > > said you depend on Salt on FreeBSD and are willing to help, testing > > that patch against your own states would be genuinely useful, > > especially anything touching zfs/sysrc/service. That's exactly the > > feedback that'll tell me whether an in-place 3008 update is enough or > > whether we need to sort out the FreeBSD extensions first. > > > > K. > > > > On 07/12, Andrea Venturoli wrote: > > > Hello. > > > > > > I'm looking for help on how to keep using Salt. > > > > > > Recap: > > > _ sysutils/py-satl requires Python 3.11 and is marked broken with any newer > > > version; > > > _ 2026Q3 moves Python default to 3.12. > > > > > > Since I build ports with Poudriere, I was hoping to be able to keep building > > > Salt with Python 3.11. > > > However I was not able to find a way. > > > > > > Is this possible? > > > How do I do this? > > > > > > Without a working Salt, 2026Q3 is simply a no go for us. > > > > > > bye & Thanks > > > av. > > > > > > P.S. > > > I'm aware of #296290 and read it all, but still it does not answer my > > > question. [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- iQFPBAABCAA5FiEEJCHRFhEAQujKni1pDyI9/LMCykUFAmpUnxgbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMiwzAAoJEA8iPfyzAspFXtcH/RQ7z9CX+SiuYJgLYFO7 BqrjrXhkIAxE+pcaOlRBbm3f+9iAWmDtVjzh2QaAg8M99yPGBolgbBd5gjizZPPY GfS0D9LUWJYW0In5jCCf93cp5OjVRx0WTJDTbRLMjPVaKfOSrO5UYZtdsqfkPt0e twSSlDdvsRox1Bgu0/FdTj3IpuDZ/lJwlvI5GAxHdXsqfqOmZkvM8LThBxn8eq+I i6hHzaPc7wN6T+HM9G3LjBDHH2bK9yVFxAoiAiv4lMzh8I5AIdnqaQRXwDlPp6rM P1G616hDh+r6p7VImWa8j73j3ofGqhFMaiSKIUahGhMgvzRXbM3ibk0+fDSQ946E LMk= =VR8K -----END PGP SIGNATURE-----home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alSfGCHrcnG0z4Di>
