Initial removal usage of distutils and replacement with setuptools

This commit is contained in:
David Murphy 2022-12-12 19:04:48 -07:00 committed by Megan Wilhite
parent 66d35aa335
commit e8441238e1
60 changed files with 461 additions and 118 deletions

View file

@ -24,10 +24,12 @@ jobs:
run: |
pip install --upgrade pip setuptools wheel
pip install twine>=3.4.1
# pip install build # add build when implement pyproject.toml
- name: Create Source Tarball
run: |
python3 setup.py sdist
# TBD python3 -m build --sdist # replace with build when implement pyproject.toml
- name: Twine check
run: |

13
NOTICE Normal file
View file

@ -0,0 +1,13 @@
Copyright 2012-2022 VMware, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

1
changelog/60476.removed Normal file
View file

@ -0,0 +1 @@
Removed distutils and replaced with setuptools, given distutils is deprecated and removed in Python 3.12

View file

@ -1308,6 +1308,7 @@ def lint_salt(session):
if session.posargs:
paths = session.posargs
else:
# TBD replace paths entries when implement pyproject.toml
paths = ["setup.py", "noxfile.py", "salt/", "tasks/"]
_lint(session, ".pylintrc", flags, paths)

View file

@ -9,3 +9,10 @@ psutil>=5.0.0
# We need contextvars for salt-ssh
contextvars
# since removal of distutils support
setuptools
looseversion
# pyparsing!=3.0.5,>=2.0.2
pyparsing==3.0.9
packaging==21.3

View file

@ -20,4 +20,4 @@ setproctitle>=1.2.3 ; python_version >= '3.10'
timelib>=0.2.5
vultr>=1.0.1
importlib_metadata>=3.3.0; python_version >= '3.6' and python_version < '3.10'
importlib_metadata>=3.3.0; python_version < '3.10'

View file

@ -485,6 +485,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -621,8 +623,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -669,8 +673,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pypsexec==0.1.0

View file

@ -486,6 +486,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
linode-python==1.1.1
# via -r requirements/darwin.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -620,8 +622,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1
# via
# junos-eznc
@ -669,8 +673,9 @@ pyopenssl==19.0.0
# via
# -r requirements/darwin.txt
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -805,7 +810,6 @@ six==1.16.0
# mock
# msrestazure
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -492,6 +492,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -620,8 +622,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==20.9
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# sphinx
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -673,8 +676,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -483,6 +483,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -615,8 +617,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -666,8 +670,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/freebsd.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -803,7 +808,6 @@ six==1.16.0
# more-itertools
# msrestazure
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -486,6 +486,8 @@ lazy-object-proxy==1.4.3
# via astroid
libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -618,8 +620,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via ansible-core
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -673,8 +677,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -500,6 +500,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -629,8 +631,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -688,8 +691,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -844,7 +848,6 @@ six==1.16.0
# mock
# more-itertools
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -157,6 +157,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -190,8 +192,10 @@ multidict==6.0.2
# yarl
ntlm-auth==1.5.0
# via requests-ntlm
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
passlib[bcrypt]==1.7.4
# via -r requirements/static/ci/common.in
patch==1.16
@ -237,8 +241,10 @@ pyopenssl==20.0.1
# via
# -r requirements/windows.txt
# etcd3-py
pyparsing==2.4.5
# via packaging
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
pyrsistent==0.17.3
# via jsonschema
pytest-custom-exit-code==0.3.0
@ -358,7 +364,6 @@ six==1.15.0
# jsonschema
# kubernetes
# mock
# packaging
# pyopenssl
# python-dateutil
# pyvmomi

View file

@ -506,6 +506,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -644,8 +646,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -691,8 +695,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pypsexec==0.1.0

View file

@ -515,6 +515,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -645,8 +647,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==20.9
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# sphinx
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -695,8 +698,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -511,6 +511,8 @@ lazy-object-proxy==1.4.3
# via astroid
libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -645,8 +647,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via ansible-core
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -697,8 +701,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -521,6 +521,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -652,8 +654,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -710,8 +713,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -866,7 +870,6 @@ six==1.16.0
# mock
# more-itertools
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -511,6 +511,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -660,8 +662,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -711,8 +715,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pypsexec==0.1.0

View file

@ -516,6 +516,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -658,8 +660,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==20.9
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# sphinx
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -714,8 +717,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -508,6 +508,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -650,8 +652,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -704,8 +708,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/freebsd.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -848,7 +853,6 @@ six==1.16.0
# more-itertools
# msrestazure
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -512,6 +512,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -658,8 +660,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via ansible-core
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -716,8 +720,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -523,6 +523,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -662,8 +664,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -724,8 +727,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -887,7 +891,6 @@ six==1.16.0
# mock
# more-itertools
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -173,6 +173,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -205,8 +207,10 @@ multidict==6.0.2
# yarl
ntlm-auth==1.5.0
# via requests-ntlm
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
passlib[bcrypt]==1.7.4
# via -r requirements/static/ci/common.in
patch==1.16
@ -251,8 +255,10 @@ pyopenssl==20.0.1
# via
# -r requirements/windows.txt
# etcd3-py
pyparsing==2.4.5
# via packaging
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
pyrsistent==0.17.3
# via jsonschema
pytest-custom-exit-code==0.3.0
@ -373,7 +379,6 @@ six==1.15.0
# jsonschema
# kubernetes
# mock
# packaging
# pyopenssl
# python-dateutil
# pyvmomi

View file

@ -500,6 +500,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -649,8 +651,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -700,8 +704,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pypsexec==0.1.0

View file

@ -507,6 +507,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -649,8 +651,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==20.9
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# sphinx
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -705,8 +708,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -498,6 +498,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -640,8 +642,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -694,8 +698,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/freebsd.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -838,7 +843,6 @@ six==1.16.0
# more-itertools
# msrestazure
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -503,6 +503,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -649,8 +651,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via ansible-core
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -707,8 +711,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -513,6 +513,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -652,8 +654,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -714,8 +717,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -877,7 +881,6 @@ six==1.16.0
# mock
# more-itertools
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -161,6 +161,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -193,8 +195,10 @@ multidict==6.0.2
# yarl
ntlm-auth==1.5.0
# via requests-ntlm
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
passlib[bcrypt]==1.7.4
# via -r requirements/static/ci/common.in
patch==1.16
@ -239,8 +243,10 @@ pyopenssl==20.0.1
# via
# -r requirements/windows.txt
# etcd3-py
pyparsing==2.4.5
# via packaging
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
pyrsistent==0.17.3
# via jsonschema
pytest-custom-exit-code==0.3.0
@ -361,7 +367,6 @@ six==1.15.0
# jsonschema
# kubernetes
# mock
# packaging
# pyopenssl
# python-dateutil
# pyvmomi

View file

@ -500,6 +500,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -649,8 +651,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -703,8 +707,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pypsexec==0.1.0

View file

@ -456,7 +456,7 @@ idna==2.8
# yarl
immutables==0.15
# via contextvars
importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10"
importlib-metadata==4.6.4 ; python_version < "3.10"
# via -r requirements/darwin.txt
iniconfig==1.0.1
# via pytest
@ -501,6 +501,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
linode-python==1.1.1
# via -r requirements/darwin.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -645,8 +647,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1
# via
# junos-eznc
@ -700,8 +704,9 @@ pyopenssl==19.0.0
# via
# -r requirements/darwin.txt
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -843,7 +848,6 @@ six==1.16.0
# mock
# msrestazure
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -505,6 +505,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -647,8 +649,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==20.9
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# sphinx
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -706,8 +709,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -498,6 +498,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -640,8 +642,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -697,8 +701,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/freebsd.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -841,7 +846,6 @@ six==1.16.0
# more-itertools
# msrestazure
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -501,6 +501,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -647,8 +649,10 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.1
# via certvalidator
packaging==21.0
# via ansible-core
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
@ -708,8 +712,9 @@ pyopenssl==20.0.1
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.7
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.18.0

View file

@ -515,6 +515,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
@ -654,8 +656,9 @@ oauthlib==3.2.1
# via requests-oauthlib
oscrypto==1.2.0
# via certvalidator
packaging==19.2
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
@ -719,8 +722,9 @@ pyopenssl==19.1.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==2.4.5
pyparsing==3.0.9
# via
# -r requirements/base.txt
# junos-eznc
# packaging
pyrsistent==0.17.3
@ -882,7 +886,6 @@ six==1.16.0
# mock
# more-itertools
# ncclient
# packaging
# paramiko
# pynacl
# pyopenssl

View file

@ -161,6 +161,8 @@ kubernetes==3.0.0
# via -r requirements/static/ci/common.in
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -193,8 +195,10 @@ multidict==6.0.2
# yarl
ntlm-auth==1.5.0
# via requests-ntlm
packaging==19.2
# via pytest
packaging==21.3
# via
# -r requirements/base.txt
# pytest
passlib[bcrypt]==1.7.4
# via -r requirements/static/ci/common.in
patch==1.16
@ -240,8 +244,10 @@ pyopenssl==20.0.1
# via
# -r requirements/windows.txt
# etcd3-py
pyparsing==2.4.5
# via packaging
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
pyrsistent==0.17.3
# via jsonschema
pytest-custom-exit-code==0.3.0
@ -362,7 +368,6 @@ six==1.15.0
# jsonschema
# kubernetes
# mock
# packaging
# pyopenssl
# python-dateutil
# pyvmomi

View file

@ -51,6 +51,8 @@ jmespath==1.0.1
# via -r requirements/base.txt
linode-python==1.1.1
# via -r requirements/darwin.txt
looseversion==1.0.2
# via -r requirements/base.txt
mako==1.2.2
# via -r requirements/darwin.txt
markupsafe==2.0.1
@ -66,6 +68,8 @@ more-itertools==8.2.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
@ -80,6 +84,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.0.0
# via -r requirements/darwin.txt
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.0
# via -r requirements/darwin.txt
python-gnupg==0.4.8

View file

@ -41,6 +41,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -53,6 +55,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -65,6 +69,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/freebsd.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/freebsd.in
python-gnupg==0.4.8

View file

@ -41,6 +41,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -53,6 +55,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -65,6 +69,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/linux.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/linux.in
python-gnupg==0.4.8

View file

@ -53,6 +53,8 @@ jmespath==1.0.1
# via -r requirements/base.txt
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -70,6 +72,8 @@ more-itertools==8.2.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
@ -89,6 +93,10 @@ pymysql==1.0.2
# via -r requirements/windows.txt
pyopenssl==20.0.1
# via -r requirements/windows.txt
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/windows.txt
python-gnupg==0.4.8

View file

@ -45,6 +45,8 @@ jinja2==3.0.3
# via -r requirements/base.txt
jmespath==0.10.0
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -57,6 +59,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -67,6 +71,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/linux.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/linux.in
python-gnupg==0.4.8

View file

@ -43,6 +43,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -55,6 +57,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -65,6 +69,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/freebsd.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/freebsd.in
python-gnupg==0.4.8

View file

@ -41,6 +41,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -53,6 +55,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -63,6 +67,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/linux.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/linux.in
python-gnupg==0.4.8

View file

@ -57,6 +57,8 @@ jmespath==1.0.1
# via -r requirements/base.txt
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -74,6 +76,8 @@ more-itertools==8.2.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
@ -93,6 +97,10 @@ pymysql==1.0.2
# via -r requirements/windows.txt
pyopenssl==20.0.1
# via -r requirements/windows.txt
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/windows.txt
python-gnupg==0.4.8

View file

@ -43,6 +43,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -55,6 +57,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -65,6 +69,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/freebsd.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/freebsd.in
python-gnupg==0.4.8

View file

@ -41,6 +41,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -53,6 +55,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -63,6 +67,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/linux.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/linux.in
python-gnupg==0.4.8

View file

@ -55,6 +55,8 @@ jmespath==1.0.1
# via -r requirements/base.txt
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -72,6 +74,8 @@ more-itertools==8.2.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
@ -91,6 +95,10 @@ pymysql==1.0.2
# via -r requirements/windows.txt
pyopenssl==20.0.1
# via -r requirements/windows.txt
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/windows.txt
python-gnupg==0.4.8

View file

@ -34,7 +34,7 @@ idna==2.8
# requests
immutables==0.15
# via contextvars
importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10"
importlib-metadata==4.6.4 ; python_version < "3.10"
# via -r requirements/darwin.txt
jaraco.classes==3.2.1
# via jaraco.collections
@ -53,6 +53,8 @@ jmespath==1.0.1
# via -r requirements/base.txt
linode-python==1.1.1
# via -r requirements/darwin.txt
looseversion==1.0.2
# via -r requirements/base.txt
mako==1.2.2
# via -r requirements/darwin.txt
markupsafe==2.0.1
@ -68,6 +70,8 @@ more-itertools==8.2.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
@ -82,6 +86,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.0.0
# via -r requirements/darwin.txt
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.0
# via -r requirements/darwin.txt
python-gnupg==0.4.8

View file

@ -43,6 +43,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -55,6 +57,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -67,6 +71,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/freebsd.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/freebsd.in
python-gnupg==0.4.8

View file

@ -41,6 +41,8 @@ jinja2==3.1.0
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
markupsafe==2.0.1
# via
# -r requirements/base.txt
@ -53,6 +55,8 @@ more-itertools==5.0.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
@ -65,6 +69,10 @@ pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==19.1.0
# via -r requirements/static/pkg/linux.in
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/static/pkg/linux.in
python-gnupg==0.4.8

View file

@ -55,6 +55,8 @@ jmespath==1.0.1
# via -r requirements/base.txt
libnacl==1.8.0
# via -r requirements/windows.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
@ -72,6 +74,8 @@ more-itertools==8.2.0
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==21.3
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
@ -91,6 +95,10 @@ pymysql==1.0.2
# via -r requirements/windows.txt
pyopenssl==20.0.1
# via -r requirements/windows.txt
pyparsing==3.0.9
# via
# -r requirements/base.txt
# packaging
python-dateutil==2.8.1
# via -r requirements/windows.txt
python-gnupg==0.4.8

View file

@ -408,7 +408,7 @@ def make_src_pkg(dest_dir, spec, sources, env=None, saltenv="base", runas="root"
return ret
# obtain name of 'python setup.py sdist' generated tarball, extract the version
# obtain name of 'sdist' generated tarball, extract the version
# and manipulate the name for debian use (convert minix and add '+ds')
salttarball = None
for afile in os.listdir(tree_base):

View file

@ -347,9 +347,11 @@ def get_site_packages(venv):
"""
bin_path = _verify_virtualenv(venv)
# note: platlib and purelib could differ
ret = __salt__["cmd.exec_code_all"](
bin_path,
"from distutils import sysconfig; print(sysconfig.get_python_lib())",
## DGM "from distutils import sysconfig; print(sysconfig.get_python_lib())",
'import sysconfig; print(sysconfig.get_path("purelib"))',
)
if ret["retcode"] != 0:

View file

@ -75,8 +75,8 @@ except ImportError:
try:
from salt.utils.versions import LooseVersion
except ImportError:
from distutils.version import LooseVersion # pylint: disable=blacklisted-module
## DGM from distutils.version import LooseVersion # pylint: disable=blacklisted-module
from looseversion import LooseVersion
# pylint: disable=too-many-instance-attributes

20
setup.py Executable file → Normal file
View file

@ -12,6 +12,7 @@ import glob
import os
import platform
import sys
import warnings
from ctypes.util import find_library
from datetime import datetime
@ -224,14 +225,22 @@ class WriteSaltVersion(Command):
salt_version = (
__saltstack_version__ # pylint: disable=undefined-variable
)
## print(
## f"DGM setup write_salt_version a salt_version '{salt_version}', __saltstack_version__ '{__saltstack_version__}'"
## )
else:
from salt.version import SaltStackVersion
salt_version = SaltStackVersion.parse(
self.distribution.with_salt_version
)
## print(f"DGM setup write_salt_version b salt_version '{salt_version}'")
# pylint: disable=E0602
print(
f"DGM setup write_salt_version all versions '{salt_version.full_info_all_versions}'"
)
open(self.distribution.salt_version_hardcoded_path, "w").write(
INSTALL_VERSION_TEMPLATE.format(
date=DATE, full_version_info=salt_version.full_info_all_versions
@ -906,6 +915,7 @@ class SaltDistribution(distutils.dist.Distribution):
)
def __init__(self, attrs=None):
print(f"DGM setup __init__ attrs'{attrs}'")
distutils.dist.Distribution.__init__(self, attrs)
self.ssh_packaging = PACKAGED_FOR_SALT_SSH
@ -935,6 +945,7 @@ class SaltDistribution(distutils.dist.Distribution):
self.with_salt_version = None
self.name = "salt-ssh" if PACKAGED_FOR_SALT_SSH else "salt"
## print(f"DGM setup __init__ __version__ '{__version__}'")
self.salt_version = __version__ # pylint: disable=undefined-variable
self.description = (
"Portable, distributed, remote execution and configuration management"
@ -943,17 +954,16 @@ class SaltDistribution(distutils.dist.Distribution):
with open(SALT_LONG_DESCRIPTION_FILE, encoding="utf-8") as f:
self.long_description = f.read()
self.long_description_content_type = "text/x-rst"
self.python_requires = ">=3.5"
self.python_requires = ">=3.7"
self.classifiers = [
"Programming Language :: Python",
"Programming Language :: Cython",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
@ -1366,6 +1376,8 @@ class SaltDistribution(distutils.dist.Distribution):
# <---- Custom Distribution Class ------------------------------------------------------------------------------------
if __name__ == "__main__":
warnings.warn(
"Warning: distutils is deprecated and shall be removed in Python 3.12, advise migrate to using setuptools"
)
setup(distclass=SaltDistribution)

View file

@ -211,6 +211,8 @@ def _run_command(args):
def _make_sdist(opts, python_bin="python"):
os.chdir(opts.source_dir)
# TBD replace with build when implement pyproject.toml
stdout, stderr, rcode = _run_command([python_bin, "setup.py", "sdist"])
if rcode == 0:
# Find the sdist with the most recently-modified metadata

View file

@ -29,6 +29,8 @@ class KitchenTestCase(TestCase):
cls.topdir = "/" + os.path.join(*CURRENT_DIR.split("/")[:-2])
cls.use_vt = int(os.environ.get("TESTS_LOG_LEVEL")) >= 5
cmd.run("python setup.py sdist", cwd=cls.topdir)
# TBD cmd.run("python -m pip install --upgrade build") # add build when implement pyproject.toml
# TBD cmd.run("python -m build --sdist {}".format(cls.topdir)) # replace with build when implement pyproject.toml
cmd.run("bundle install", cwd=CURRENT_DIR)
cls.env = {
"KITCHEN_YAML": os.path.join(CURRENT_DIR, ".kitchen.yml"),

View file

@ -4,6 +4,7 @@ import os
import pathlib
import shutil
import sys
from sysconfig import get_path
import _pytest._version
import attr
@ -12,11 +13,6 @@ import pytest
import salt.utils.files
from tests.conftest import CODE_DIR
try:
from sysconfig import get_python_lib # pylint: disable=no-name-in-module
except ImportError:
from distutils.sysconfig import get_python_lib
PYTEST_GE_7 = getattr(_pytest._version, "version_tuple", (-1, -1)) >= (7, 0)
@ -139,7 +135,9 @@ def system_aptsources(request, grains):
"{}".format(*sys.version_info),
"{}.{}".format(*sys.version_info),
]
session_site_packages_dir = get_python_lib()
session_site_packages_dir = get_path(
"purelib"
) # note: platlib and purelib could differ
session_site_packages_dir = os.path.relpath(
session_site_packages_dir, str(CODE_DIR)
)

View file

@ -273,6 +273,7 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
# Setuptools installs pre-release packages if we don't pin to an exact version
# Let's download and install requirements before, running salt's install test
print(f"DGM test_sdist cache_dir '{cache_dir}', src_dir '{src_dir}'")
venv.run(
venv.venv_python,
"-m",
@ -296,6 +297,7 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
fname.unlink()
continue
packages.append(fname)
print(f"DGM test_sdist packages '{packages}'")
venv.install(*[str(pkg) for pkg in packages])
for package in packages:
package.unlink()
@ -307,6 +309,7 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
# pre-installed before installing salt
venv.install("pycurl==7.43.0.5")
print(f"DGM test_sdist for sdist cache_dir '{cache_dir}', src_dir '{src_dir}'")
venv.run(
venv.venv_python,
"setup.py",
@ -315,9 +318,21 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
str(cache_dir),
cwd=src_dir,
)
## dgm_dir = "/home/david/tmp_salt_gen"
## print(f"DGM test_sdist for sdist dgm_dir '{dgm_dir}', src_dir '{src_dir}'")
## venv.run(
## venv.venv_python,
## "setup.py",
## "sdist",
## "--dist-dir",
## dgm_dir,
## cwd=src_dir,
## )
venv.run(venv.venv_python, "setup.py", "clean", cwd=src_dir)
salt_generated_package = list(cache_dir.glob("*.tar.gz"))
print(f"DGM test_sdist salt_generated_package '{salt_generated_package}'")
if not salt_generated_package:
pytest.fail("Could not find the generated sdist file")
salt_generated_package = salt_generated_package[0]
@ -327,12 +342,25 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
sdist_ver_cmp = salt_generated_package.name.split(".tar.gz")[0].split("salt-")[
-1
]
dgm_version = dir(salt.version)
print(
f"DGM test_sdist dgm_version '{dgm_version}', sdist_ver_cmp '{sdist_ver_cmp}', salt.version.__version__ '{salt.version.__version__}'"
)
assert sdist_ver_cmp == salt.version.__version__, "{} != {}".format(
sdist_ver_cmp, salt.version.__version__
)
print(
f"DGM test_sdist venv.install salt_generated_package '{salt_generated_package}'"
)
cmd = venv.run(venv.venv_python, "-m", "pip", "list", "--format", "json")
print(f"DGM test_sdist pre-install pip3 list output '{cmd}'")
venv.install(str(salt_generated_package))
## dgm_abspath = "/home/david/tmp_salt_manual/salt-3005.1+1561.g7e544dd3bd.tar.gz"
## print(f"DGM test_sdist attempting install with dgm_abspath '{dgm_abspath}'")
## venv.install(dgm_abspath)
# Let's also ensure we have a salt/_version.py from the installed salt wheel
subdir = [
"lib",
@ -347,12 +375,17 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
installed_salt_path = installed_salt_path.joinpath(*subdir)
assert installed_salt_path.is_dir()
salt_generated_version_file_path = installed_salt_path / "_version.py"
print(
f"DGM test_sdist salt_generated_version_file_path '{salt_generated_version_file_path}'"
)
assert salt_generated_version_file_path.is_file()
with salt_generated_version_file_path.open() as rfh:
print("DGM _version.py contents to follow:")
log.debug("_version.py contents:\n >>>>>>\n%s\n <<<<<<", rfh.read())
# Let's ensure the version is correct
cmd = venv.run(venv.venv_python, "-m", "pip", "list", "--format", "json")
print(f"DGM test_sdist pip3 list output '{cmd.stdout}'")
for details in json.loads(cmd.stdout):
if details["name"] != "salt":
continue
@ -362,6 +395,10 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir):
pytest.fail("Salt was not found installed")
# Let's compare the installed version with the version salt reports
dgm_version = dir(salt.version)
print(
f"DGM test_sdist dgm_version '{dgm_version}', installed_version '{installed_version}', salt.version.__version__ '{salt.version.__version__}'"
)
assert installed_version == salt.version.__version__, "{} != {}".format(
installed_version, salt.version.__version__
)

View file

@ -1605,6 +1605,7 @@ class VirtualEnv:
setuptools_requirement = attr.ib(
default="setuptools!=50.*,!=51.*,!=52.*", repr=False
)
# TBD build_requirement = attr.ib(default="build!=0.6.*", repr=False) # add build when implement pyproject.toml
environ = attr.ib(init=False, repr=False)
venv_python = attr.ib(init=False, repr=False)
venv_bin_dir = attr.ib(init=False, repr=False)
@ -1642,7 +1643,18 @@ class VirtualEnv:
shutil.rmtree(str(self.venv_dir), ignore_errors=True)
def install(self, *args, **kwargs):
return self.run(self.venv_python, "-m", "pip", "install", *args, **kwargs)
print(f"DGM helper install args '{args}, kwargs '{kwargs}'")
return self.run(
self.venv_python,
"-m",
"pip",
"-vvv",
"install",
"--ignore-installed",
"--force-reinstall",
*args,
**kwargs,
)
def uninstall(self, *args, **kwargs):
return self.run(
@ -1741,7 +1753,12 @@ class VirtualEnv:
cmd.append("--system-site-packages")
cmd.append(str(self.venv_dir))
self.run(*cmd, cwd=str(self.venv_dir.parent))
self.install("-U", self.pip_requirement, self.setuptools_requirement)
self.install(
"-U",
self.pip_requirement,
self.setuptools_requirement,
# TBD self.build_requirement, # add build when implement pyproject.toml
)
log.debug("Created virtualenv in %s", self.venv_dir)