diff --git a/sysutils/py-salt/Makefile b/sysutils/py-salt/Makefile index 83e2f7fea944..868821728df4 100644 --- a/sysutils/py-salt/Makefile +++ b/sysutils/py-salt/Makefile @@ -1,136 +1,136 @@ PORTNAME= salt -PORTVERSION= 3006.25 +PORTVERSION= 3006.26 PORTEPOCH= 1 CATEGORIES= sysutils python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= krion@FreeBSD.org COMMENT= Distributed remote execution and configuration management system WWW= https://pypi.org/project/salt/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE 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}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}backports>0:devel/py-backports@${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} USES= cpe python CPE_VENDOR= saltstack CPE_PRODUCT= salt USE_PYTHON= autoplist cryptography distutils NO_ARCH= yes CONFLICTS= py[0-9]*-salt-300* # we must pass these options before the target name, and python.mk has no # early-arguments variable, so we have to manipulate the target PYDISTUTILS_INSTALL_TARGET=\ --salt-root-dir=/ \ --salt-config-dir=${ETCDIR} \ --salt-cache-dir=/var/cache/salt \ --salt-sock-dir=/var/run/salt \ --salt-srv-root-dir=${ETCDIR} \ --salt-base-file-roots-dir=${ETCDIR}/states \ --salt-base-pillar-roots-dir=${ETCDIR}/pillar \ --salt-base-master-roots-dir=${ETCDIR}/salt-master \ --salt-logs-dir=/var/log/salt \ --salt-pidfile-dir=/var/run \ install USE_RC_SUBR= salt_api \ salt_master \ salt_minion \ salt_proxy \ salt_syndic SUB_LIST+= PYTHON_CMD=${PYTHON_CMD} SUB_FILES= pkg-message # Upstream archive contains files with UTF-8 names EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar OPTIONS_DEFINE= AWS BASH FISH TCP ZEROMQ ZSH OPTIONS_DEFAULT= BASH FISH ZEROMQ ZSH AWS_DESC= Install dependencies required for Amazon Web Services TCP_DESC= Install dependencies required for TCP transport ZEROMQ_DESC= Install dependencies required for ZeroMQ transport # AWS dependencies (Note: the devel/py-botocore port is updated very frequently) AWS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}botocore>0:devel/py-botocore@${PY_FLAVOR} TCP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycryptodomex>=3.9.7:security/py-pycryptodomex@${PY_FLAVOR} ZEROMQ_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyzmq>=2.2.0:net/py-pyzmq@${PY_FLAVOR} ZEROMQ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyzmq>=2.2.0:net/py-pyzmq@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pycryptodomex>=3.9.7:security/py-pycryptodomex@${PY_FLAVOR} BASH_PLIST_FILES= share/bash-completion/completions/salt FISH_PLIST_FILES= share/fish/completions/salt-call.fish \ share/fish/completions/salt-cp.fish \ share/fish/completions/salt-key.fish \ share/fish/completions/salt-master.fish \ share/fish/completions/salt-minion.fish \ share/fish/completions/salt-run.fish \ share/fish/completions/salt-syndic.fish \ share/fish/completions/salt.fish \ share/fish/completions/salt_common.fish ZSH_PLIST_FILES= share/zsh/site-functions/_salt post-patch: .for file in conf/minion conf/master doc/man/salt-key.1 \ doc/man/salt-cp.1 doc/man/salt-minion.1 doc/man/salt-syndic.1 \ doc/man/salt-master.1 doc/man/salt-run.1 doc/man/salt.1 \ doc/man/salt-call.1 salt/modules/mysql.py salt/modules/tls.py salt/modules/postgres.py @${REINPLACE_CMD} -e 's|/etc/salt|${ETCDIR}|' \ -e 's|/srv/salt|${ETCDIR}/states|' \ -e 's|/srv/pillar|${ETCDIR}/pillar|' ${WRKSRC}/${file} .endfor @${REINPLACE_CMD} -e 's|yumpkg5|pkgng|' ${WRKSRC}/conf/minion @${REINPLACE_CMD} -e 's|"/usr/bin/python3"|"${PYTHON_CMD}"|' ${WRKSRC}/salt/auth/pam.py do-install-BASH-on: @${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions/ ${INSTALL_DATA} ${WRKSRC}/pkg/rpm/salt.bash \ ${STAGEDIR}${PREFIX}/share/bash-completion/completions/salt do-install-FISH-on: @${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions/ ${INSTALL_DATA} ${WRKSRC}/pkg/common/fish-completions/*.fish \ ${STAGEDIR}${PREFIX}/share/fish/completions do-install-ZSH-on: @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions ${INSTALL_DATA} ${WRKSRC}/pkg/common/salt.zsh \ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/_salt post-install: @${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKSRC}/conf/master ${STAGEDIR}${ETCDIR}/master.sample ${INSTALL_DATA} ${WRKSRC}/conf/minion ${STAGEDIR}${ETCDIR}/minion.sample .include diff --git a/sysutils/py-salt/distinfo b/sysutils/py-salt/distinfo index a0cd914965e9..e01b67286250 100644 --- a/sysutils/py-salt/distinfo +++ b/sysutils/py-salt/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1778747357 -SHA256 (salt-3006.25.tar.gz) = 3ae7d3f7aa090dab7ab47cf98d8cf97adb69d6dec31025a2c8e05a0f0e8c847a -SIZE (salt-3006.25.tar.gz) = 16603410 +TIMESTAMP = 1782376704 +SHA256 (salt-3006.26.tar.gz) = f5c910642d221e21ced630d9142f98a38e335524aa9d5639583c40708c6162f8 +SIZE (salt-3006.26.tar.gz) = 16885547 diff --git a/sysutils/py-salt/files/patch-requirements_base.txt b/sysutils/py-salt/files/patch-requirements_base.txt index bdee1760d7b1..09113889e4e7 100644 --- a/sysutils/py-salt/files/patch-requirements_base.txt +++ b/sysutils/py-salt/files/patch-requirements_base.txt @@ -1,24 +1,41 @@ ---- requirements/base.txt.orig 2026-04-24 00:00:00 UTC +--- requirements/base.txt.orig +++ requirements/base.txt -@@ -9,6 +9,6 @@ - cherrypy>=18.6.1 +@@ -9,15 +9,15 @@ + cheroot>=11.1.2 + cherrypy>=18.10.0 # We need contextvars for salt-ssh -contextvars --croniter>=0.3.0,!=0.3.22; sys_platform != 'win32' --cryptography>=46.0.7 +-croniter!=0.3.22,>=6.2.2; sys_platform != 'win32' +#contextvars -+#croniter>=0.3.0,!=0.3.22; sys_platform != 'win32' -+cryptography>=42.0.0 - distro>=1.0.1 -@@ -26,8 +26,8 @@ - lxml>=6.0.2; sys_platform == 'win32' --MarkupSafe<3.0.0 ++#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 - msgpack>=1.0.0 - # Packaging 24.1 imports annotations from __future__ which breaks salt ssh - # tests on target hosts with older python versions. + # 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