Date: Mon, 13 Jul 2026 10:01:53 +0200 From: Matthias Fechner <idefix@fechner.net> To: Kirill Ponomarev <kp@krion.cc>, Andrea Venturoli <ml@netfence.it> Cc: freebsd-ports@freebsd.org Subject: Re: Salt on 2026Q3 Message-ID: <0916dbf2-0ab3-4e58-b651-e239fedbd433@fechner.net> In-Reply-To: <alSMIuyOUs8fRq5D@krion.cc> References: <edc098db-041d-47f2-b3d6-c145c92a8725@netfence.it> <alSMIuyOUs8fRq5D@krion.cc>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
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 --]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Dear Kirill,</p>
<p>I started some time to switch the administration to salt (not
rolled out, but I have virtual machines ready for testing).<br>
I use ZFS and sysrc, so mostly what you asked for.</p>
<p>I applied the patch to 3008.1 but if I try to build it with
poudriere I get:<br>
</p>
<div style="font-family: monospace; white-space: pre;"><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-more-itertools@py314 | py314-more-itertools-11.1.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-gitpython@py314 | py314-gitpython-3.1.50</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-looseversion@py314 | py314-looseversion-1.3.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-jmespath@py314 | py314-jmespath-1.1.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-cffi@py314 | py314-cffi-2.1.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-importlib-metadata@py314 | py314-importlib-metadata-8.7.1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-Jinja2@py314 | py314-Jinja2-3.1.6</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-opentelemetry-api@py314 | py314-opentelemetry-api-1.43.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-jaraco.functools@py314 | py314-jaraco.functools-4.5.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-jaraco.context@py314 | py314-jaraco.context-6.1.2</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-frozenlist@py314 | py314-frozenlist-1.8.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-pycparser@py314 | py314-pycparser-2.23</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-jaraco.text@py314 | py314-jaraco.text-4.2.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-msgpack@py314 | py314-msgpack-1.2.1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-timelib@py314 | py314-timelib-0.3.0_1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-python-dateutil@py314 | py314-python-dateutil-2.9.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-pyasn1@py314 | py314-pyasn1-0.6.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">net/py-libcloud@py314 | py314-libcloud-3.8.0_1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">dns/py-idna@py314 | py314-idna-3.18</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-setproctitle@py314 | py314-setproctitle-1.3.7</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div
style="display: inline;color: rgb(235, 203, 139);font-weight: bold;">[00:00:02] Skipping </div> <div
style="display: inline;color: rgb(136, 192, 208);">sysutils/py-salt | py314-salt-3008.1,1</div><div
style="display: inline;color: rgb(235, 203, 139);font-weight: bold;">: Dependent port </div><div
style="display: inline;color: rgb(136, 192, 208);">devel/py-looseversion@py314 | py314-looseversion-1.3.0</div><div
style="display: inline;color: rgb(235, 203, 139);font-weight: bold;"> ignored</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-pyyaml@py314 | py314-pyyaml-6.0.3</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-xxhash@py314 | py314-xxhash-3.8.1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-opentelemetry-sdk@py314 | py314-opentelemetry-sdk-1.43.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-zipp@py314 | py314-zipp-3.23.1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">security/py-gnupg@py314 | py314-gnupg-3.1.1_1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">net/py-pyzmq@py314 | py314-pyzmq-27.1.0_1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">security/py-pycryptodomex@py314 | py314-pycryptodomex-3.23.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">security/py-truststore@py314 | py314-truststore-0.10.4</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-opentelemetry-exporter-otlp-proto-http@py314 | py314-opentelemetry-exporter-otlp-proto-http-1.43.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">sysutils/py-distro@py314 | py314-distro-1.9.0</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">sysutils/py-croniter@py314 | py314-croniter-6.2.2</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">textproc/py-markupsafe@py314 | py314-markupsafe-3.0.3</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">sysutils/py-filelock@py314 | py314-filelock-3.29.6</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">sysutils/py-psutil@py314 | py314-psutil-7.2.2_1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">security/py-cryptography@py314 | py314-cryptography-48.0.1,1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">www/py-tornado@py314 | py314-tornado-6.5.7</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">www/py-requests@py314 | py314-requests-2.34.2</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">security/py-pyopenssl@py314 | py314-pyopenssl-26.2.0,1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">net/py-urllib3@py314 | py314-urllib3-2.7.0,1</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312</div>
<div style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">[00:00:02] Ignoring </div> <div
style="display: inline;color: rgb(136, 192, 208);">devel/py-virtualenv@py314 | py314-virtualenv-21.2.3</div><div
style="display: inline;color: rgb(59, 66, 82);font-weight: bold;">: Unknown flavor 'py314', possible flavors: py312
</div><p style="display: inline; color: rgb(59, 66, 82);">Maybe some more ports will need flavor support to get that working?</p></div>
<p><br>
Thanks<br>
Matthias</p>
<div class="moz-cite-prefix">Am 13.07.26 um 08:56 schrieb Kirill
Ponomarev:<br>
</div>
<blockquote type="cite" cite="mid:alSMIuyOUs8fRq5D@krion.cc">
<pre wrap="" class="moz-quote-pre">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:
</pre>
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">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.
</pre>
</blockquote>
</blockquote>
</body>
</html>
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0916dbf2-0ab3-4e58-b651-e239fedbd433>
