Page MenuHomeDevCentral

On FreeBSD, upgrade to FreeBSD 15.1 / Python 3.12 breaks Salt
Open, HighPublic

Description

We need to build and host a package py311-salt with a correct Salt version, as tornado communication doesn't work on Python 3.12+ anymore.

It has been removed in Salt 3008, which requires Python 3.14+.

Upstream bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296290

Related Objects

Event Timeline

dereckson triaged this task as High priority.Wed, Jul 1, 22:58
dereckson created this task.

On WindRiver, /usr/ports/sysutils/py-salt/work-py311/pkg/py311-salt-3006.26,1.pkg is Salt 3006.26 + Python 3.11, built on FreeBSD 15.1

Dependencies needed:

py311-pyzmq
py311-setuptools
py311-Jinja2
py311-markupsafe
py311-distro
py311-libcloud
py311-msgpack
py311-progressbar
py311-psutil
py311-requests
py311-pyyaml
py311-jmespath
py311-pyinotify
py311-looseversion
py311-packaging
py311-croniter
py311-frozenlist
py311-timelib
py311-immutables
py311-cffi
py311-backports
py311-tornado
py311-virtualenv
py311-jaraco.text
py311-pyzmq
py311-pycryptodomex
py311-cryptography

But only py311-setuptools and py311-packaging are still provided as binary packages.

Instead of building packages by hand, we can also automate with Poudriere and create a temporary packages repository "15-salt".

Built a test packages run with Poudriere, it works well, all packages are correctly built at https://windriver.nasqueron.org/poudriere/151amd64-default-salt/2026-07-04_15h08m03s/build.html

Packages location:

It seems the tree used by Poudriere isn't up-to-date (Salt 3006.9 instead of 3006.26), so I'm going to rebuild it.

List of Python 3.11 packages for Salt installation
py311-Babel-2.17.0_1.pkg                           04-Jul-2026 15:30             7051998
py311-Jinja2-3.1.6.pkg                             04-Jul-2026 15:31              311392
py311-build-1.3.0.pkg                              04-Jul-2026 15:29               49682
py311-calver-2025.10.20.pkg                        04-Jul-2026 15:30                9329
py311-certifi-2025.11.12.pkg                       04-Jul-2026 15:30              157832
py311-cffi-1.17.1.pkg                              04-Jul-2026 15:33              288539
py311-charset-normalizer-3.4.4.pkg                 04-Jul-2026 15:30               97887
py311-croniter-6.0.0.pkg                           04-Jul-2026 15:31               46871
py311-cryptography-45.0.7_2,1.pkg                  04-Jul-2026 18:11             1390516
py311-cython3-3.2.2.pkg                            04-Jul-2026 15:33             3490244
py311-distro-1.9.0.pkg                             04-Jul-2026 15:30               32846
py311-flit-core-3.12.0.pkg                         04-Jul-2026 15:28              102304
py311-hatch-fancy-pypi-readme-24.1.0.pkg           04-Jul-2026 15:31               17869
py311-hatch-vcs-0.5.0.pkg                          04-Jul-2026 15:30               11848
py311-hatchling-1.28.0.pkg                         04-Jul-2026 15:30              158166
py311-idna-3.11.pkg                                04-Jul-2026 15:29              104404
py311-installer-0.7.0.pkg                          04-Jul-2026 15:28              250234
py311-jmespath-1.0.1_1.pkg                         04-Jul-2026 15:30               45785
py311-libcloud-3.8.0_1.pkg                         04-Jul-2026 15:31             1987200
py311-looseversion-1.3.0.pkg                       04-Jul-2026 15:31                9933
py311-markupsafe-3.0.3.pkg                         04-Jul-2026 15:30               18503
py311-maturin-1.10.2_1.pkg                         04-Jul-2026 18:09             2993554
py311-msgpack-1.1.2.pkg                            04-Jul-2026 15:33               83884
py311-packaging-25.0.pkg                           04-Jul-2026 15:28              131362
py311-pathspec-0.12.1.pkg                          04-Jul-2026 15:29               46551
py311-pluggy-1.6.0.pkg                             04-Jul-2026 15:30               43841
py311-progressbar-2.5_1.pkg                        04-Jul-2026 15:30               20584
py311-psutil-7.1.3.pkg                             04-Jul-2026 15:30              526971
py311-pycparser-2.23.pkg                           04-Jul-2026 15:30              236182
py311-pycryptodomex-3.23.0.pkg                     04-Jul-2026 15:30             1670031
py311-pyinotify-0.9.6_1.pkg                        04-Jul-2026 15:30               54799
py311-pyproject-hooks-1.2.0.pkg                    04-Jul-2026 15:29               21483
py311-pysocks-1.7.1_1.pkg                          04-Jul-2026 15:30               32720
py311-python-dateutil-2.9.0.pkg                    04-Jul-2026 15:31              313562
py311-pytz-2025.2_1,1.pkg                          04-Jul-2026 15:30              177020
py311-pyyaml-6.0.3.pkg                             04-Jul-2026 15:33              190207
py311-pyzmq-27.1.0.pkg                             04-Jul-2026 15:43              329800
py311-requests-2.32.5.pkg                          04-Jul-2026 15:31              121880
py311-salt-3006.9_6,1.pkg                          04-Jul-2026 18:12            15201183
py311-scikit-build-core-0.11.6.pkg                 04-Jul-2026 15:31              298183
py311-semantic-version-2.10.0_1.pkg                04-Jul-2026 15:30               36818
py311-setproctitle-1.3.3_1.pkg                     04-Jul-2026 15:30               13083
py311-setuptools-63.1.0_3.pkg                      04-Jul-2026 15:29             1481456
py311-setuptools-rust-1.12.0.pkg                   04-Jul-2026 18:03               56517
py311-setuptools-scm-8.0.4_2.pkg                   04-Jul-2026 15:30               85184
py311-six-1.17.0.pkg                               04-Jul-2026 15:30               27578
py311-trove-classifiers-2025.12.1.14.pkg           04-Jul-2026 15:30               18799
py311-typing-extensions-4.15.0.pkg                 04-Jul-2026 15:29               94459
py311-urllib3-2.6.1,1.pkg                          04-Jul-2026 15:31              237786
py311-wheel-0.45.1.pkg                             04-Jul-2026 15:29              147746
py311-wheel044-0.44.0_1.pkg                        04-Jul-2026 15:29              141400
python311-3.11.14.pkg                              04-Jul-2026 15:28            28106985

Next steps on complector:

salt -G 'os:FreeBSD' state.sls_id /usr/local/etc/pkg/repos/Salt.conf hotfixes/salt

From there we can manually run a pkg update && pkg upgrade on each machine, so we can assert the scope of the upgrade.
Be careful on WindRiver it removed PostgreSQL 17 server trying to upgrade PostgreSQL 18 client.