git: 344b4b0f4459 - main - sysutils/py-salt: 3008.2
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Sep 2026 19:07:25 UTC
The branch main has been updated by asomers:
URL: https://cgit.FreeBSD.org/ports/commit/?id=344b4b0f44599af946c73208befcc511e643fee5
commit 344b4b0f44599af946c73208befcc511e643fee5
Author: Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2026-08-17 20:22:21 +0000
Commit: Alan Somers <asomers@FreeBSD.org>
CommitDate: 2026-09-09 19:07:06 +0000
sysutils/py-salt: 3008.2
Version 3008.1 version works with Python 3.12+. However, it lacks many
states included in Salt 3006, for example ZFS.
Version 3008.2 fixes a regression in the pkg.installed state, though it
wasn't mentioned in Salt's changelog.
PR: 296290
Approved by: krion (maintainer)
Sponsored by: ConnectWise
---
sysutils/py-salt/Makefile | 50 ++++++++++++++++------
sysutils/py-salt/distinfo | 8 ++--
sysutils/py-salt/files/patch-pyproject.toml | 10 +++++
sysutils/py-salt/files/patch-requirements_base.txt | 41 ------------------
.../files/patch-tools_pkg_salt__build__backend.py | 21 +++++++++
sysutils/py-salt/pkg-plist | 5 ---
6 files changed, 72 insertions(+), 63 deletions(-)
diff --git a/sysutils/py-salt/Makefile b/sysutils/py-salt/Makefile
index 3c91031c1747..b6aeb77ef3d7 100644
--- a/sysutils/py-salt/Makefile
+++ b/sysutils/py-salt/Makefile
@@ -1,5 +1,5 @@
PORTNAME= salt
-PORTVERSION= 3006.26
+PORTVERSION= 3008.2
PORTEPOCH= 1
CATEGORIES= sysutils python
MASTER_SITES= PYPI
@@ -12,33 +12,61 @@ WWW= https://pypi.org/project/salt/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
+PATCH_SITES= https://github.com/saltstack/salt/pull/
+PATCHFILES+= 69710.patch:-p1
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}looseversion>0:devel/py-looseversion@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR}
+
+
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}distro>=1.5.0:sysutils/py-distro@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}libcloud>=0.14.0:net/py-libcloud@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}msgpack>=0.3:devel/py-msgpack@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}progressbar>0:misc/py-progressbar@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psutil>=0.3.0:sysutils/py-psutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=1.0.0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jmespath>0:devel/py-jmespath@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyinotify>0:devel/py-pyinotify@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}looseversion>0:devel/py-looseversion@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}croniter>0:sysutils/py-croniter@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}frozenlist>0:devel/py-frozenlist@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}timelib>0:devel/py-timelib@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}immutables>0:devel/py-immutables@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}virtualenv>0:devel/py-virtualenv@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}jaraco.text>=4.0.0:devel/py-jaraco.text@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}jaraco.text>=4.0.0:devel/py-jaraco.text@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}gitpython>0:devel/py-gitpython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}idna>0:dns/py-idna@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jaraco.functools>0:devel/py-jaraco.functools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jaraco.context>0:devel/py-jaraco.context@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}more-itertools>0:devel/py-more-itertools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyasn1>0:devel/py-pyasn1@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyopenssl>0:security/py-pyopenssl@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dateutil>0:devel/py-python-dateutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}gnupg>0:security/py-gnupg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setproctitle>0:devel/py-setproctitle@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}truststore>0:security/py-truststore@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}xxhash>0:devel/py-xxhash@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}zipp>0:devel/py-zipp@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}filelock>0:sysutils/py-filelock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pycryptodomex>0:security/py-pycryptodomex@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}opentelemetry-api>0:devel/py-opentelemetry-api@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}opentelemetry-sdk>0:devel/py-opentelemetry-sdk@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}opentelemetry-exporter-otlp-proto-http>0:devel/py-opentelemetry-exporter-otlp-proto-http@${PY_FLAVOR}
+
USES= cpe python
CPE_VENDOR= saltstack
CPE_PRODUCT= salt
-USE_PYTHON= autoplist cryptography distutils
+USE_PYTHON= autoplist cryptography pep517
NO_ARCH= yes
CONFLICTS= py[0-9]*-salt-300*
@@ -129,10 +157,4 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/conf/master ${STAGEDIR}${ETCDIR}/master.sample
${INSTALL_DATA} ${WRKSRC}/conf/minion ${STAGEDIR}${ETCDIR}/minion.sample
-.include <bsd.port.pre.mk>
-
-.if ${PYTHON_REL} >= 31200
-BROKEN= does not work with Python 3.12 or newer, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296290
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/sysutils/py-salt/distinfo b/sysutils/py-salt/distinfo
index e01b67286250..64897c5880ec 100644
--- a/sysutils/py-salt/distinfo
+++ b/sysutils/py-salt/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1782376704
-SHA256 (salt-3006.26.tar.gz) = f5c910642d221e21ced630d9142f98a38e335524aa9d5639583c40708c6162f8
-SIZE (salt-3006.26.tar.gz) = 16885547
+TIMESTAMP = 1788378809
+SHA256 (salt-3008.2.tar.gz) = 44a1e206a955bf57aaffbe3f1dfb5f4476c9442d64f3a103ce7ac0aa68bfa907
+SIZE (salt-3008.2.tar.gz) = 15126429
+SHA256 (69710.patch) = ae990a40a7eb06f5dec321609e42c20b3d1847b73ed3c2876f5ac05184565d7b
+SIZE (69710.patch) = 11606
diff --git a/sysutils/py-salt/files/patch-pyproject.toml b/sysutils/py-salt/files/patch-pyproject.toml
new file mode 100644
index 000000000000..06fa860216b3
--- /dev/null
+++ b/sysutils/py-salt/files/patch-pyproject.toml
@@ -0,0 +1,10 @@
+--- pyproject.toml.orig 2026-06-28 09:45:18 UTC
++++ pyproject.toml
+@@ -1,6 +1,6 @@ requires = [
+ [build-system]
+ requires = [
+- "setuptools>=64.0",
++ "setuptools>=63.0",
+ "wheel",
+ "looseversion",
+ "packaging",
diff --git a/sysutils/py-salt/files/patch-requirements_base.txt b/sysutils/py-salt/files/patch-requirements_base.txt
deleted file mode 100644
index 09113889e4e7..000000000000
--- a/sysutils/py-salt/files/patch-requirements_base.txt
+++ /dev/null
@@ -1,41 +0,0 @@
---- requirements/base.txt.orig
-+++ requirements/base.txt
-@@ -9,15 +9,15 @@
- cheroot>=11.1.2
- cherrypy>=18.10.0
- # We need contextvars for salt-ssh
--contextvars
--croniter!=0.3.22,>=6.2.2; sys_platform != 'win32'
-+#contextvars
-+#croniter!=0.3.22,>=6.2.2; sys_platform != 'win32'
- # cryptography 48.0.0 drops support for Python 3.9.0 and 3.9.1
- # (only >3.9.1 is accepted), but the py3.9 lock files are compiled
- # with --python-version=3.9 which includes those releases. Cap at the
- # last 46.x release for Python 3.9 so uv pip compile can still resolve.
- # Furthermore, pyOpenSSL 26.2 dropped X509Extension and add_extensions()
- # which breaks salt/modules/tls.py. pyOpenSSL < 26.2 requires cryptography < 48.0.0.
--cryptography>=46.0.7,<48.0.0
-+cryptography>=46.0.7
- distro>=1.9.0
- frozenlist>=1.8.0; python_version < '3.11'
- frozenlist>=1.5.0; python_version >= '3.11'
-@@ -31,7 +31,7 @@
- jmespath>=1.1.0
- looseversion
- lxml>=6.1.1; sys_platform == 'win32'
--MarkupSafe<4.0.0
-+MarkupSafe
- # multidict 6.0.4 fails to source-build under clang 17+ with strict int/pointer
- # conversion checks (macOS 15 onedir builds compile from sdist via
- # --no-binary=:all:). 6.6+ fixed the C source compatibility.
-@@ -43,8 +43,8 @@
- # `/` parameter syntax which is a SyntaxError on Python <3.8. Keep at
- # 24.0 to preserve salt-ssh compatibility against legacy target
- # Pythons; salt 3006.x still promises this matrix.
--packaging==24.0
--psutil<6.0.0; python_version <= '3.9'
-+packaging>=21.3
-+#psutil<6.0.0; python_version <= '3.9'
- psutil>=5.0.0; python_version >= '3.10'
- # pymssql 2.3.12+ dropped win32 (32-bit Windows) wheels; salt 3006.x
- # still builds a Windows x86 onedir, so pin to the last release that
diff --git a/sysutils/py-salt/files/patch-tools_pkg_salt__build__backend.py b/sysutils/py-salt/files/patch-tools_pkg_salt__build__backend.py
new file mode 100644
index 000000000000..8a6cfc94ee36
--- /dev/null
+++ b/sysutils/py-salt/files/patch-tools_pkg_salt__build__backend.py
@@ -0,0 +1,21 @@
+--- tools/pkg/salt_build_backend.py.orig 2026-06-28 09:48:25 UTC
++++ tools/pkg/salt_build_backend.py
+@@ -7,10 +7,6 @@ from setuptools import build_meta as _orig
+ sys.path.insert(0, PROJECT_ROOT)
+
+ from setuptools import build_meta as _orig
+-from setuptools.build_meta import build_editable as setuptools_build_editable
+-from setuptools.build_meta import (
+- prepare_metadata_for_build_editable as setuptools_prepare_metadata,
+-)
+
+ try:
+ from setuptools.build_meta import build_editable as setuptools_build_editable
+@@ -221,6 +217,7 @@ def get_scripts(dist=None):
+
+
+ def get_scripts(dist=None):
++ return [] # FreeBSD: console_scripts entry points only, avoid duplicate bin scripts
+ is_windows = sys.platform.startswith("win")
+ scripts = ["scripts/salt-call"]
+
diff --git a/sysutils/py-salt/pkg-plist b/sysutils/py-salt/pkg-plist
index 8af3d8958fa3..84a1e383cd20 100644
--- a/sysutils/py-salt/pkg-plist
+++ b/sysutils/py-salt/pkg-plist
@@ -1,7 +1,2 @@
@sample %%ETCDIR%%/master.sample
@sample %%ETCDIR%%/minion.sample
-%%PYTHON_SITELIBDIR%%/salt/_syspaths.py
-%%PYTHON2%%%%PYTHON_SITELIBDIR%%/salt/_syspaths.pyc
-%%PYTHON2%%%%PYTHON_SITELIBDIR%%/salt/_syspaths.pyo
-%%PYTHON3%%%%PYTHON_SITELIBDIR%%/salt/__pycache__/_syspaths.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON3%%%%PYTHON_SITELIBDIR%%/salt/__pycache__/_syspaths.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc