Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .qubesbuilder
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ vm-noble:
source:
files:
- url: https://github.com/saltstack/salt/releases/download/v@VERSION@/salt-@VERSION@.tar.gz
signature: https://github.com/saltstack/salt/releases/download/v@VERSION@/salt-@VERSION@.tar.gz.asc
pubkeys:
- SALT-PROJECT-GPG-PUBKEY-2023.pub
sha512: salt-@VERSION@.tar.gz.sha512
# signature: https://github.com/saltstack/salt/releases/download/v@VERSION@/salt-@VERSION@.tar.gz.asc
# pubkeys:
# - SALT-PROJECT-GPG-PUBKEY-2023.pub
57 changes: 45 additions & 12 deletions 0001-Drop-versioned-dependencies.patch
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ Subject: [PATCH 1/2] Drop versioned dependencies
Upstream bumps version requirements arbitrarily, in most cases without
any specific API or functional requirement.
Use package version available in the distribution instead.

And also cryptography was twice.
---
requirements/base.txt | 12 ++++++------
requirements/zeromq.txt | 3 +--
Expand All @@ -16,18 +18,36 @@ diff --git a/requirements/base.txt b/requirements/base.txt
index 0061087e35..a42ff50f7d 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -10,20 +10,20 @@ distro>=1.0.1
psutil>=5.0.0
packaging>=21.3
@@ -1,34 +1,32 @@
--constraint=constraints.txt

-Jinja2>=3.1.5
+Jinja2
jmespath
msgpack>=1.0.0
PyYAML
MarkupSafe
-requests<2.32.0 ; python_version < '3.10'
-requests>=2.32.3 ; python_version >= '3.10'
+requests
-certifi==2023.07.22; python_version < '3.10'
-certifi>=2024.7.4; python_version >= '3.10'
+certifi
distro>=1.0.1
psutil<6.0.0; python_version <= '3.9'
psutil>=5.0.0; python_version >= '3.10'
# Packaging 24.1 imports annotations from __future__ which breaks salt ssh
# tests on target hosts with older python versions.
-packaging==24.0
+packaging>=21.3
looseversion
-tornado>=6.3.3
-tornado>=6.4.1
-aiohttp>=3.9.0
+tornado
+aiohttp

# We need contextvars for salt-ssh.
# Even on python versions which ships with contextvars in the standard library!


croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'

setproctitle>=1.2.3
-timelib>=0.2.5
-pyopenssl>=24.0.0
Expand All @@ -39,9 +59,23 @@ index 0061087e35..a42ff50f7d 100644
importlib-metadata>=3.3.0
-cryptography>=42.0.0
+cryptography

# From old windows.txt requirements file
gitpython>=3.1.37; sys_platform == 'win32'
@@ -44,10 +43,7 @@

# From old requirements/static/pkg/linux.in
rpm-vercmp; sys_platform == 'linux'
# We need contextvars for salt-ssh

-cryptography>=42.0.0
+urllib3

-urllib3>=1.26.20,<2.0.0; python_version < '3.10'
-urllib3>=2.5.0; python_version >= '3.10'
-
-jaraco.text>=4.0.0
-jaraco.functools>=4.1.0
+jaraco.text
+jaraco.functools
diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
index 4000f5eb01..ec03558d33 100644
--- a/requirements/zeromq.txt
Expand All @@ -50,8 +84,7 @@ index 4000f5eb01..ec03558d33 100644
-r base.txt
-r crypto.txt

-pyzmq>=25.1.1
-pyzmq>=25.1.2
+pyzmq
--
2.46.0

27 changes: 0 additions & 27 deletions 0001-Drop-versioned-requests-dependency.patch

This file was deleted.

74 changes: 74 additions & 0 deletions 0001-Fix-Python3.13-compatibility-regarding-maxsplit.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
--- a/salt/client/ssh/__init__.py 2025-08-03 02:14:39.661813905 +0200
+++ b/salt/client/ssh/__init__.py 2025-08-03 02:14:41.471814027 +0200
@@ -1566,9 +1566,9 @@ ARGS = {arguments}\n'''.format(
saltwinshell.deploy_python(self)
stdout, stderr, retcode = self.shim_cmd(cmd_str)
while re.search(RSTR_RE, stdout):
- stdout = re.split(RSTR_RE, stdout, 1)[1].strip()
+ stdout = re.split(RSTR_RE, stdout, maxsplit=1)[1].strip()
while re.search(RSTR_RE, stderr):
- stderr = re.split(RSTR_RE, stderr, 1)[1].strip()
+ stderr = re.split(RSTR_RE, stderr, maxsplit=1)[1].strip()
elif error == "Undefined SHIM state":
self.deploy()
stdout, stderr, retcode = self.shim_cmd(cmd_str)
@@ -1583,27 +1583,27 @@ ARGS = {arguments}\n'''.format(
retcode,
)
while re.search(RSTR_RE, stdout):
- stdout = re.split(RSTR_RE, stdout, 1)[1].strip()
+ stdout = re.split(RSTR_RE, stdout, maxsplit=1)[1].strip()
while re.search(RSTR_RE, stderr):
- stderr = re.split(RSTR_RE, stderr, 1)[1].strip()
+ stderr = re.split(RSTR_RE, stderr, maxsplit=1)[1].strip()
else:
return f"ERROR: {error}", stderr, retcode

# FIXME: this discards output from ssh_shim if the shim succeeds. It should
# always save the shim output regardless of shim success or failure.
while re.search(RSTR_RE, stdout):
- stdout = re.split(RSTR_RE, stdout, 1)[1].strip()
+ stdout = re.split(RSTR_RE, stdout, maxsplit=1)[1].strip()

if re.search(RSTR_RE, stderr):
# Found RSTR in stderr which means SHIM completed and only
# and remaining output is only from salt.
while re.search(RSTR_RE, stderr):
- stderr = re.split(RSTR_RE, stderr, 1)[1].strip()
+ stderr = re.split(RSTR_RE, stderr, maxsplit=1)[1].strip()

else:
# RSTR was found in stdout but not stderr - which means there
# is a SHIM command for the master.
- shim_command = re.split(r"\r?\n", stdout, 1)[0].strip()
+ shim_command = re.split(r"\r?\n", stdout, maxsplit=1)[0].strip()
log.debug("SHIM retcode(%s) and command: %s", retcode, shim_command)
if (
"deploy" == shim_command
@@ -1634,12 +1634,12 @@ ARGS = {arguments}\n'''.format(
retcode,
)
while re.search(RSTR_RE, stdout):
- stdout = re.split(RSTR_RE, stdout, 1)[1].strip()
+ stdout = re.split(RSTR_RE, stdout, maxsplit=1)[1].strip()
if self.tty:
stderr = ""
else:
while re.search(RSTR_RE, stderr):
- stderr = re.split(RSTR_RE, stderr, 1)[1].strip()
+ stderr = re.split(RSTR_RE, stderr, maxsplit=1)[1].strip()
elif "ext_mods" == shim_command:
self.deploy_ext()
stdout, stderr, retcode = self.shim_cmd(cmd_str)
@@ -1652,9 +1652,9 @@ ARGS = {arguments}\n'''.format(
retcode,
)
while re.search(RSTR_RE, stdout):
- stdout = re.split(RSTR_RE, stdout, 1)[1].strip()
+ stdout = re.split(RSTR_RE, stdout, maxsplit=1)[1].strip()
while re.search(RSTR_RE, stderr):
- stderr = re.split(RSTR_RE, stderr, 1)[1].strip()
+ stderr = re.split(RSTR_RE, stderr, maxsplit=1)[1].strip()

return stdout, stderr, retcode

3 changes: 1 addition & 2 deletions 0001-Use-timezone-aware-datetime-objects-for-UTC-too.patch
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ index b5006807ea..7446a5739a 100644
delta = utc_finish_time - utc_start_time
# duration in milliseconds.microseconds
@@ -2152,7 +2150,7 @@ class State:
instance = cls(**init_kwargs)
instance.states.inject_globals = inject_globals
# we need to re-record start/end duration here because it is impossible to
# correctly calculate further down the chain
- utc_start_time = datetime.datetime.utcnow()
Expand Down Expand Up @@ -144,4 +144,3 @@ index 7574a068e8..d8f7d20b06 100644
else:
--
2.45.2

14 changes: 9 additions & 5 deletions 0002-Drop-Windows-dependencies.patch
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,24 @@ diff --git a/requirements/base.txt b/requirements/base.txt
index a42ff50f7d..73f058c5ff 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -33,13 +33,3 @@ cryptography

# From old requirements/static/pkg/linux.in
rpm-vercmp; sys_platform == 'linux'
@@ -33,17 +33,6 @@ cryptography
cherrypy>=18.6.1
importlib-metadata>=3.3.0
cryptography
-
-# From old windows.txt requirements file
-gitpython>=3.1.37; sys_platform == 'win32'
-lxml>=4.6.3; sys_platform == 'win32'
-pymssql>=2.2.1; sys_platform == 'win32'
-pymssql>=2.2.11; sys_platform == 'win32'
-pymysql>=1.0.2; sys_platform == 'win32'
-pythonnet>=3.0.1; sys_platform == 'win32'
-pywin32>=305; sys_platform == 'win32'
-wmi>=1.5.1; sys_platform == 'win32'
-xmltodict>=0.13.0; sys_platform == 'win32'
-croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'

# We need contextvars for salt-ssh

--
2.46.0

4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ keyring-import := gpg -q --no-auto-check-trustdb --no-default-keyring --import
$(keyring-file): SALT-PROJECT-GPG-PUBKEY-2023.pub
@rm -f $(keyring-file) && $(keyring-import) --keyring $(keyring) $^

salt-%.tar.gz.asc:
@$(FETCH_CMD) $@ $(filter %/$(patsubst %.asc,%,$@),$(SRC_URLS)).asc
#salt-%.tar.gz.asc:
# @$(FETCH_CMD) $@ $(filter %/$(patsubst %.asc,%,$@),$(SRC_URLS)).asc

%: %.asc $(keyring-file)
@$(FETCH_CMD) $@$(UNTRUSTED_SUFF) $(filter %/$@,$(SRC_URLS))
Expand Down
18 changes: 4 additions & 14 deletions contextvars.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,11 @@ Index: salt-3007.1/requirements/base.txt
===================================================================
--- salt-3007.1.orig/requirements/base.txt 2024-11-06 20:25:51.898374912 +0100
+++ salt-3007.1/requirements/base.txt 2024-11-06 20:26:23.586354279 +0100
@@ -15,7 +15,6 @@ aiohttp>=3.9.0
@@ -45,7 +45,6 @@ aiohttp>=3.9.0
croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'

# We need contextvars for salt-ssh.
# Even on python versions which ships with contextvars in the standard library!
# We need contextvars for salt-ssh
-contextvars

setproctitle>=1.2.3
timelib>=0.2.5
Index: salt-3007.1/requirements/zeromq.txt
===================================================================
--- salt-3007.1.orig/requirements/zeromq.txt 2024-11-06 20:25:51.899374912 +0100
+++ salt-3007.1/requirements/zeromq.txt 2024-11-06 20:27:44.898301325 +0100
@@ -1,4 +1,4 @@
-r base.txt
-r crypto.txt
cryptography>=42.0.0

-pyzmq>=25.1.2
+pyzmq>=25.1.1
50 changes: 38 additions & 12 deletions debian-pkg/debian/patches/0001-Drop-versioned-dependencies.patch
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ Subject: [PATCH 1/2] Drop versioned dependencies
Upstream bumps version requirements arbitrarily, in most cases without
any specific API or functional requirement.
Use package version available in the distribution instead.

And also cryptography was twice.
---
requirements/base.txt | 12 ++++++------
requirements/zeromq.txt | 3 +--
Expand All @@ -16,19 +18,30 @@ diff --git a/requirements/base.txt b/requirements/base.txt
index 0061087e35..a42ff50f7d 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -10,21 +10,21 @@ distro>=1.0.1
psutil>=5.0.0
packaging>=21.3
@@ -7,29 +7,27 @@
PyYAML
MarkupSafe
-requests<2.32.0 ; python_version < '3.10'
-requests>=2.32.3 ; python_version >= '3.10'
+requests
-certifi==2023.07.22; python_version < '3.10'
-certifi>=2024.7.4; python_version >= '3.10'
+certifi
distro>=1.0.1
psutil<6.0.0; python_version <= '3.9'
psutil>=5.0.0; python_version >= '3.10'
# Packaging 24.1 imports annotations from __future__ which breaks salt ssh
# tests on target hosts with older python versions.
-packaging==24.0
+packaging>=21.3
looseversion
-tornado>=6.3.3
-tornado>=6.4.1
-aiohttp>=3.9.0
+tornado
+aiohttp

# We need contextvars for salt-ssh.
# Even on python versions which ships with contextvars in the standard library!
contextvars


croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'

setproctitle>=1.2.3
-timelib>=0.2.5
-pyopenssl>=24.0.0
Expand All @@ -40,9 +53,23 @@ index 0061087e35..a42ff50f7d 100644
importlib-metadata>=3.3.0
-cryptography>=42.0.0
+cryptography

# From old windows.txt requirements file
gitpython>=3.1.37; sys_platform == 'win32'
@@ -44,10 +43,7 @@

# From old requirements/static/pkg/linux.in
rpm-vercmp; sys_platform == 'linux'
# We need contextvars for salt-ssh

-cryptography>=42.0.0
+urllib3

-urllib3>=1.26.20,<2.0.0; python_version < '3.10'
-urllib3>=2.5.0; python_version >= '3.10'
-
-jaraco.text>=4.0.0
-jaraco.functools>=4.1.0
+jaraco.text
+jaraco.functools
diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
index 4000f5eb01..ec03558d33 100644
--- a/requirements/zeromq.txt
Expand All @@ -55,4 +82,3 @@ index 4000f5eb01..ec03558d33 100644
+pyzmq
--
2.46.0

Loading