summaryrefslogtreecommitdiff
path: root/app-admin/salt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-06 21:58:47 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-06 21:58:47 +0000
commit6bdf113f9fe24f179ee150bada14098e20e87476 (patch)
tree0e11a3c3a415cb10fc6a9d3cd17971ebd5c773f3 /app-admin/salt
parent6404f9556c73d558d61c2eed022743311eb43bb9 (diff)
gentoo auto-resync : 06:02:2024 - 21:58:46
Diffstat (limited to 'app-admin/salt')
-rw-r--r--app-admin/salt/Manifest4
-rw-r--r--app-admin/salt/salt-3005.5.ebuild286
-rw-r--r--app-admin/salt/salt-3006.6.ebuild346
3 files changed, 636 insertions, 0 deletions
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 0fe24c567066..0419199af7b4 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -26,15 +26,19 @@ AUX syndic-initd-5 558 BLAKE2B 5e1ea25b57f56ad7bfb8be0c845e7da9f99af03c50c31ca20
DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
DIST salt-3005.3.tar.gz 17932868 BLAKE2B 18b1b3fe0708c2b425a410766df1545c093b43e69527b1213e1b043668b914016dc95b5c96c0619b1234b57fa404fdbe4fc245ac11d4f0b121edf4b0deacb3ee SHA512 4a40b21f0ee8ac31d3ca3d4d43706c3a484b9e19bd5797764475772af42fe682476b19f9097f003c838683529f15a757aab769eb0a15578cbc2fc449d8216604
DIST salt-3005.4.tar.gz 17936876 BLAKE2B e06ec0e357fac18fe0ad823cf80e6261d80dbf22d856f0680a1c044d368133a1f94a6c9ff37b0f07ab305b835f808e96ae42a510eabedb6b2691b23959fa796e SHA512 31c699fc369c1f3c47f4f3a9a572381dd8c54323771194bdcc73128b55d983da7338b03061a6cdec6631aca62048e5829ea38687c3b0fdb1cdcbd5df9d000f05
+DIST salt-3005.5.tar.gz 17940104 BLAKE2B c7a820bc946c2cd8124fb6f559608ab1dc3cd85d6f0e7d0a2a87b7bc0dda361178e83b307c2fecd8a47d59032f85dc9f4caeef5698e98c0e349d1c6979f9f68a SHA512 1332c9751a225dbf569601eb1932fe3ebea93c8d8be7485b1b8150d5200ad2e82954c970d59ba0e888860062d059db78a50bffe69fc367bdb7b2388b62e19f32
DIST salt-3006.2.tar.gz 20411634 BLAKE2B dff474017918ef3ee0031856a2739282077205d8c2589809a91e5f1c3741cb26d2bd2458734ea4d3533118c881851dfd853f4ba4f1c631e7db28e95bc1b6f7f8 SHA512 2626cb5beb1b30fc63f554f5804f0d9b7e36b7c569c5f9049e5f5ac5a413e9d99a98b3d91089683338e3d3890ec973dff80782b4e41acb291872e45084fd2546
DIST salt-3006.3.tar.gz 20461738 BLAKE2B dfa4698dbc611c9c4954b4631d11b685e1efc978915918ce6d8f1890bb4a230d234b6a191166ffff9243058d44530bfc14b43386c8bc295c035c6609d6bf3fa0 SHA512 9cced766db2144de445ed53b52c1551c986ba43774c40512fd07973862d6d3a361e25f55fcfeeb0e03ba44eec1051909834e5d0a352ead5ec6f418b15c909628
DIST salt-3006.4.tar.gz 20465324 BLAKE2B 8cf9acf8850e9eefbff32f3e347d8773ed7e28f58a0a441af9ec0a4c87a0bba49ff2b82e6f5816511de7303e16d79246df8c0024464a5c267f3ef7e370c8be98 SHA512 c48c69730ba81d3e279cbb01cb26c743dd8b4945c2fc16a7c959472ab4050316fcdaee935e009b7f472bd3b08172ac69defe64774a2d93e143a050cd559997ef
DIST salt-3006.5.tar.gz 20536455 BLAKE2B cf475dc5e919f6ab180578db2aae5f3655623b39b134d67609da4f607be909340c6e55c940cfb66f129cc75d40b5cdda094e866db116d8a45aa5eef26d8fa1eb SHA512 8aaf5c5d36d8aa17b3fe867cee470f7b3c5dd1f6abaf5bdb49a3df76d3498d0dc1fa305a069bc95ad057489db229454b38b0ea9c1ade1e46b5d9b57aeef10c23
+DIST salt-3006.6.tar.gz 20531374 BLAKE2B 17a80331e7771482849bed7927ef48d16ce6805f459ce58bdd1cb2595dad05c6d13ab2af84d4311c521b902035f67aac73c18b9dd9f5d271bde310a4c56c827d SHA512 05a3d853789cb8a890e3922a86e7336a7b4a1897af5022411907bd80a4d184d3061a658952ffe12b4d774b492f4bd79f218dd335eaa90eba1476638c861185f2
EBUILD salt-3005.1-r1.ebuild 7234 BLAKE2B af8c85ad4abcd00244b52a73cc67fc31505395dc11282841bec155a4ae5c24694214f9e3a173f8ae09c25de2ae06f5eefdc3fd0aa27608908a78f664e18cf408 SHA512 1d790f172358abbac38351e1b5be50fa1e646fc7cb51179af428249e8dccd6452f51f25710ab73c91e0942df8098a9b97d6f579b8934a1f0e4d194cd7ec6961d
EBUILD salt-3005.3.ebuild 9382 BLAKE2B 068d7d5a8e15ebb387b9534616693c74dd89d2b8839c21a57c50bcbdf83427b44a49796805b84b45be823007c0c6ea3828a17ac47a20576286e340c4ccaf0775 SHA512 da78be3da31b32b079129bc05547890e17bb3c67d8e4ba33f84be796c83fbaf31aae838df0f8c51153bca51960dfdfa41ca6af92dc77ef32760b5dba3f901e81
EBUILD salt-3005.4.ebuild 9382 BLAKE2B 068d7d5a8e15ebb387b9534616693c74dd89d2b8839c21a57c50bcbdf83427b44a49796805b84b45be823007c0c6ea3828a17ac47a20576286e340c4ccaf0775 SHA512 da78be3da31b32b079129bc05547890e17bb3c67d8e4ba33f84be796c83fbaf31aae838df0f8c51153bca51960dfdfa41ca6af92dc77ef32760b5dba3f901e81
+EBUILD salt-3005.5.ebuild 11035 BLAKE2B 91ae329ea274b772297c12055dd2b70499a2631ade5d0ac99883b65f16a8e485592c269643c537f3a875d0e48abf7bc5df5a413fa764f916e74fcb8bbcd95d37 SHA512 600f666e1a7b5b83d6333ffff85756fa9a20970da555d1946c226c2736f6b3545df8f01301f49e2e9b20b6749fe8cdf1523a91159e016ffc307821249faaba19
EBUILD salt-3006.2.ebuild 8539 BLAKE2B 335093f353da0d42abedf7b836c1516239390ec64fe4acf0f58d23f1d4b467446304aec086587fd9901b3007d50d86743aaf26157d7706b0b4b511f814d3e7ab SHA512 d8690757e65594d3bef93e852d61efb4c771fc3d2d441ef79dae0cd585cb93854a77ed641f9ba65bce13eaba7f46475c90dd03c591d2e0f580ef4a53bf7b1532
EBUILD salt-3006.3.ebuild 8903 BLAKE2B cbf034e5dec44f2b46cecf74dbc4d7b8df9782905024ff86ed3e5320172a1693027859036e79609e23aae00c50994a62aee8806928c46dd907411efcaaa2a0c7 SHA512 867092ef5873126ceee767ebf12df66acaade553df2d7d351441a7aff19fc90346c6805882b77be602e79e407ddf9f90e0885a746336b64e4ce3bb6422426f57
EBUILD salt-3006.4.ebuild 8825 BLAKE2B 6789758984b1d9bc4e1e6fd61b6516a8bec88df9a3de73a5570f0717e52ed2f5796e03d6a1b2eb31ca67635b51b72f963b406ebd03e97f8be6a0dab7ec29836e SHA512 999951e1a35552ffc86ecccda556274f108d082df37163a8570879aa6029751dedec3ea76ce42f39ce5b3ff46ebdaedca46a2ddc5b6639952aba257830c0e522
EBUILD salt-3006.5.ebuild 9589 BLAKE2B c90270c444f99da82b8a85e813c652f7cf4f6f5767160183de5162434bc4be3feb0060a2579c7191b189d8401625fc3acf003adea24d0c0aad9e027c3ffa20ef SHA512 1c67d2cc61e8594ee335f5da8c7ba53ea629fe389cd30fdb3f93d5b14b04592bff759fbe7b2ac7ce03d5524d9e9fb935e572119adc2c00861cf45422897d39fc
+EBUILD salt-3006.6.ebuild 14953 BLAKE2B cf647f3b29fdcb6d57231da98b8853f14a6ebcb8589480daf83f3c52941b6a6cb79a6918bf764384668e6d68989ee1dbaefc34cbb78ee71240ef1d6224afc7c3 SHA512 929a21112a9006a5abe5a2534746426ce1f2e2e6e8bcb65c1ac047f563c5b0b3635e2ffe75332253706857ffe33ed3d68efb036fd123507a72e796baf6c43c1a
MISC metadata.xml 2304 BLAKE2B 8fac51fe1b0c0dae5fe71d88f1bf84df1de8cc8b3d836b59c3b2e82bfa085f57352e3aafd999766ae69104a8bd9798f2fffdb64e1df1e0a1ca8561dba1ef7d5e SHA512 7d3706c40c27dd67509bd638cd0550bb4822f0895fef929ecad21c218cdaa0512da443c901cc2b3a8d4afd9f5e9bc461622ac3bab2a332ccd9c64c4cbf99bf74
diff --git a/app-admin/salt/salt-3005.5.ebuild b/app-admin/salt/salt-3005.5.ebuild
new file mode 100644
index 000000000000..9de6de9dfe39
--- /dev/null
+++ b/app-admin/salt/salt-3005.5.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_10 )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="
+ cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax
+"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aiosignal[${PYTHON_USEDEP}]
+ >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
+ )
+ neutron? (
+ >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/apache-libcloud[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
+ dev-python/passlib[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+ dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
+ dev-util/yamllint[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
+ )
+"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003.1-tests.patch"
+ "${FILESDIR}/salt-3005-tests.patch"
+ "${FILESDIR}/salt-3005.1-no-entry-points.patch"
+ "${FILESDIR}/salt-3005.1-importlib-metadata-5-r1.patch"
+ "${FILESDIR}/salt-3005.1-tests.patch"
+ "${FILESDIR}/salt-3005.1-modules-file-python-3.11-host.patch"
+ "${FILESDIR}/salt-3006.2-tests.patch"
+)
+
+python_prepare_all() {
+ local -a remove_test_files=(
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ tests/pytests/functional/fileserver/test_roots.py
+ tests/pytests/functional/modules/file/test_readlink.py
+ tests/pytests/functional/modules/file/test_replace.py
+ tests/pytests/functional/modules/file/test_symlink.py
+ tests/pytests/functional/modules/state/requisites/test_mixed.py
+ tests/pytests/functional/modules/state/test_jinja_renderer.py
+ tests/pytests/functional/modules/state/test_state.py
+ tests/pytests/functional/pillar/test_top.py
+ tests/pytests/functional/runners/test_winrepo.py
+ tests/pytests/functional/transport/server/test_req_channel.py
+ tests/pytests/functional/utils/functools/test_namespaced_function.py
+ tests/pytests/functional/utils/test_async_event_publisher.py
+ tests/pytests/integration/modules/state/test_state.py
+ tests/pytests/integration/pillar/cache/test_pillar_cache.py
+ tests/pytests/integration/pillar/test_pillar_include.py
+ tests/pytests/integration/proxy/test_deltaproxy.py
+ tests/pytests/integration/returners/test_noop_return.py
+ tests/pytests/integration/runners/test_manage.py
+ tests/pytests/integration/utils/test_templates.py
+ tests/pytests/unit/loader/test_lazy.py
+ tests/pytests/unit/modules/state/test_top_file_merge.py
+ tests/pytests/unit/roster/test_dir.py
+ tests/pytests/unit/state/test_multi_env_highstate.py
+ tests/pytests/unit/state/test_state_highstate.py
+ tests/pytests/unit/states/file/test_keyvalue.py
+ tests/pytests/unit/utils/jinja/test_get_template.py
+ tests/pytests/unit/utils/jinja/test_salt_cache_loader.py
+ tests/pytests/unit/utils/test_cache.py
+ tests/pytests/unit/utils/test_versions.py
+ tests/support/gitfs.py
+ tests/unit/modules/test_boto_{vpc,secgroup,elb}.py
+ tests/unit/runners/test_git_pillar.py
+ tests/unit/states/test_boto_vpc.py
+ tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py
+
+ # tests that require network access
+ tests/integration/cloud
+ tests/kitchen/test_kitchen.py
+ tests/kitchen/tests/wordpress/tests
+ tests/pytests/functional/cli/test_salt_cloud.py
+ tests/pytests/functional/modules/state/requisites/test_listen.py
+ tests/pytests/functional/modules/state/requisites/test_onchanges.py
+ tests/pytests/functional/modules/state/requisites/test_onfail.py
+ tests/pytests/functional/modules/state/requisites/test_prereq.py
+ tests/pytests/functional/modules/state/requisites/test_require.py
+ tests/pytests/functional/modules/state/requisites/test_unless.py
+ tests/pytests/functional/modules/state/requisites/test_use.py
+ tests/pytests/functional/modules/state/requisites/test_watch.py
+ tests/pytests/functional/modules/test_pip.py
+ tests/pytests/functional/pillar/test_gpg.py
+ tests/pytests/functional/states/file/test_comment.py
+ tests/pytests/functional/states/file/test_rename.py
+ tests/pytests/integration/cli/test_batch.py
+ tests/pytests/integration/cli/test_salt_deltaproxy.py
+ tests/pytests/integration/cli/test_salt_proxy.py
+ tests/pytests/integration/master/test_clear_funcs.py
+ tests/pytests/integration/proxy/test_simple.py
+ tests/pytests/integration/wheel/test_pillar_roots.py
+ tests/pytests/unit/client/ssh/test_ssh.py
+ tests/pytests/unit/cloud/test_map.py
+ tests/pytests/unit/fileserver/test_roots.py
+ tests/pytests/unit/modules/state/test_state.py
+ tests/pytests/unit/proxy/test_netmiko_px.py
+ tests/pytests/unit/test_client.py
+ tests/pytests/unit/test_ext_importers.py
+ tests/pytests/unit/test_master.py
+ tests/pytests/{integration,functional}/netapi tests/integration/netapi
+ tests/unit/cloud/clouds/test_joyent.py
+ tests/unit/config/schemas/test_ssh.py
+ tests/unit/modules/test_network.py
+ tests/unit/netapi/rest_tornado/test_saltnado.py
+ tests/unit/{states,modules}/test_zcbuildout.py
+
+ # tests require root access
+ tests/integration/pillar/test_git_pillar.py
+ tests/integration/states/test_supervisord.py
+ )
+
+ rm -r "${remove_test_files[@]}" || die
+
+ # removes contextvars, see bug: https://bugs.gentoo.org/799431
+ sed -i '/^contextvars/d' requirements/base.txt || die
+
+ # called_once should be assert_called_once_with
+ find "${S}/tests" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:[.]called_once:.assert_called_once:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ # hangs indefinitely
+ tests/pytests/unit/test_minion.py::test_master_type_disable
+ # don't like sandbox
+ tests/pytests/functional/modules/test_saltutil.py::test__get_top_file_envs
+ tests/pytests/functional/modules/state/requisites/test_onlyif.py::test_onlyif_req_retcode
+ tests/pytests/integration/modules/test_state.py::test_logging_and_state_output_order
+ tests/pytests/integration/states/test_ini_manage.py::test_options_present
+
+ tests/pytests/functional/cli/test_salt.py::test_versions_report
+ tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
+ tests/pytests/unit/test_master.py::test_fileserver_duration
+ tests/pytests/unit/utils/test_vt.py::test_log_sanitize
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_array_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
+ tests/unit/utils/test_vt.py::VTTestCase::test_split_multibyte_characters_shiftjis
+ tests/unit/utils/test_vt.py::VTTestCase::test_split_multibyte_characters_unicode
+
+ # need root
+ tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
+ )
+
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ epytest
+ )
+}
diff --git a/app-admin/salt/salt-3006.6.ebuild b/app-admin/salt/salt-3006.6.ebuild
new file mode 100644
index 000000000000..43f524622f51
--- /dev/null
+++ b/app-admin/salt/salt-3006.6.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_1{0..1} )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="
+ cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax
+"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/cryptography-41.0.3[${PYTHON_USEDEP}]
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.3[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ dev-python/looseversion[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.19.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aiosignal[${PYTHON_USEDEP}]
+ >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
+ )
+ neutron? (
+ >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/build[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ app-arch/zip
+ dev-python/apache-libcloud[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
+ dev-python/passlib[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-1.0.0_rc28[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+ dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
+ dev-python/pytest-custom-exit-code[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
+ dev-util/yamllint[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.21.46[${PYTHON_USEDEP}] )
+ )
+"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3005.1-no-entry-points.patch"
+ "${FILESDIR}/salt-3006-skip-tests-that-oom-machine.patch"
+)
+
+python_prepare_all() {
+ local -a remove_test_files=(
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ tests/pytests/functional/modules/file/test_readlink.py
+ tests/pytests/functional/modules/file/test_symlink.py
+ tests/pytests/functional/modules/state/test_jinja_filters.py
+ tests/pytests/functional/modules/state/test_jinja_renderer.py
+ tests/pytests/functional/modules/state/test_mako_renderer.py
+ tests/pytests/functional/modules/state/test_pyobjects_renderer.py
+ tests/pytests/functional/pillar/test_gpg.py
+ tests/pytests/functional/runners/test_winrepo.py
+ tests/pytests/functional/states/file/test_patch.py
+ tests/pytests/functional/transport/server/test_req_channel.py
+ tests/pytests/functional/utils/test_async_event_publisher.py
+ tests/pytests/integration/master/test_clear_funcs.py
+ tests/pytests/integration/minion/test_reauth.py
+ tests/pytests/integration/modules/test_cmdmod.py
+ tests/pytests/integration/modules/test_jinja.py
+ tests/pytests/integration/returners/test_noop_return.py
+ tests/pytests/integration/runners/test_manage.py
+ tests/pytests/integration/ssh/test_pillar_compilation.py
+ tests/pytests/integration/states/test_ini_manage.py
+ tests/pytests/integration/states/test_state_test.py
+ tests/pytests/integration/utils/test_templates.py
+ tests/pytests/pkg/integration/test_check_imports.py
+ tests/pytests/pkg/integration/test_clean_zmq_teardown.py
+ tests/pytests/pkg/integration/test_enabled_disabled.py
+ tests/pytests/pkg/integration/test_help.py
+ tests/pytests/pkg/integration/test_logrotate_config.py
+ tests/pytests/pkg/integration/test_pkg.py
+ tests/pytests/pkg/integration/test_python.py
+ tests/pytests/unit/loader/test_lazy.py
+ tests/pytests/unit/renderers/test_yamlex.py
+ tests/pytests/unit/roster/test_dir.py
+ tests/pytests/unit/states/file/test_keyvalue.py
+ tests/pytests/unit/utils/jinja/test_get_template.py
+ tests/pytests/unit/utils/jinja/test_salt_cache_loader.py
+ tests/pytests/unit/utils/test_cache.py
+ tests/pytests/unit/utils/test_versions.py
+ tests/unit/modules/test_boto_{vpc,secgroup,elb}.py
+ tests/unit/netapi/rest_tornado/test_saltnado.py
+ tests/unit/states/test_boto_vpc.py
+ tests/unit/states/test_module.py
+ tests/unit/utils/test_schema.py
+ tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py
+
+ # tests that require network access
+ tests/integration/cloud
+ tests/kitchen/test_kitchen.py
+ tests/kitchen/tests/wordpress/tests
+ tests/pytests/functional/cli/test_salt_cloud.py
+ tests/pytests/functional/cli/test_salt_run_.py
+ tests/pytests/functional/modules/test_http.py
+ tests/pytests/functional/modules/test_pip.py
+ tests/pytests/integration/cli/test_salt_proxy.py
+ tests/pytests/integration/modules/state/test_state.py
+ tests/pytests/integration/modules/state/test_state_state_events.py
+ tests/pytests/integration/pillar/cache/test_pillar_cache.py
+ tests/pytests/integration/pillar/test_pillar_include.py
+ tests/pytests/integration/proxy/test_simple.py
+ tests/pytests/integration/runners/state/orchestrate/test_events.py
+ tests/pytests/integration/wheel/test_pillar_roots.py
+ tests/pytests/pkg/downgrade/test_salt_downgrade.py
+ tests/pytests/pkg/integration/test_pip.py
+ tests/pytests/pkg/integration/test_pip_upgrade.py
+ tests/pytests/pkg/integration/test_salt_api.py
+ tests/pytests/pkg/integration/test_salt_call.py
+ tests/pytests/pkg/integration/test_salt_exec.py
+ tests/pytests/pkg/integration/test_salt_grains.py
+ tests/pytests/pkg/integration/test_salt_key.py
+ tests/pytests/pkg/integration/test_salt_minion.py
+ tests/pytests/pkg/integration/test_salt_output.py
+ tests/pytests/pkg/integration/test_salt_pillar.py
+ tests/pytests/pkg/integration/test_salt_state_file.py
+ tests/pytests/pkg/integration/test_salt_ufw.py
+ tests/pytests/pkg/integration/test_salt_user.py
+ tests/pytests/pkg/integration/test_systemd_config.py
+ tests/pytests/pkg/integration/test_version.py
+ tests/pytests/pkg/upgrade/test_salt_upgrade.py
+ tests/pytests/unit/client/ssh/test_ssh.py
+ tests/pytests/unit/test_client.py
+ tests/pytests/unit/utils/test_aws.py
+ tests/pytests/unit/utils/test_http.py
+ tests/pytests/{integration,functional}/netapi tests/integration/netapi
+ tests/unit/modules/test_network.py
+ tests/unit/{states,modules}/test_zcbuildout.py
+
+ # tests require root access
+ tests/integration/pillar/test_git_pillar.py
+ tests/integration/states/test_supervisord.py
+ tests/pytests/functional/cli/test_salt.py
+ tests/pytests/functional/states/file/test_accumulated.py
+ tests/pytests/scenarios/performance/test_performance.py
+ tests/pytests/unit/cloud/test_map.py
+ tests/pytests/unit/modules/state/test_state.py
+ tests/pytests/unit/modules/state/test_top_file_merge.py
+ tests/pytests/unit/proxy/test_netmiko_px.py
+ tests/pytests/unit/proxy/test_ssh_sample.py
+ tests/pytests/unit/roster/test_sshknownhosts.py
+ )
+
+ rm -r "${remove_test_files[@]}" || die
+
+ # removes contextvars, see bug: https://bugs.gentoo.org/799431
+ sed -i '/^contextvars/d' requirements/base.txt || die
+
+ # called_once should be assert_called_once_with
+ find "${S}/tests" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:[.]called_once:.assert_called_once:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ # doesn't like the distutils warning
+ tests/pytests/integration/cli/test_batch.py::test_batch_retcode
+ tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
+
+ # hangs indefinitely
+ tests/pytests/unit/test_minion.py::test_master_type_disable
+
+ # needs root
+ tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
+ tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
+
+ # don't like sandbox
+ tests/pytests/functional/fileserver/test_roots.py::test_symlink_list
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_no_match_newline
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_no_match_no_newline
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_empty_file
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_content
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_no_append_on_match
+ tests/pytests/functional/modules/test_defaults.py::test_defaults_get
+ tests/pytests/functional/pillar/test_top.py::test_pillar_top_compound_match
+ tests/pytests/functional/states/file/test_append.py::test_file_append_check_cmd
+ tests/pytests/functional/states/file/test_blockreplace.py::test_issue_49043
+ tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_in
+ tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_in_with_id
+ tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_with_name
+ tests/pytests/functional/states/file/test_keyvalue.py::test_keyvalue
+ tests/pytests/functional/states/file/test_managed.py::test_managed_file_with_grains_data
+ tests/pytests/functional/states/file/test_managed.py::test_managed_escaped_file_path
+ tests/pytests/functional/states/file/test_managed.py::test_managed_latin1_diff
+ tests/pytests/functional/states/file/test_managed.py::test_managed_unicode_jinja_with_tojson_filter
+ tests/pytests/functional/states/file/test_managed.py::test_managed_source_hash_indifferent_case
+ tests/pytests/functional/states/file/test_managed.py::test_file_managed_requisites
+ tests/pytests/functional/states/file/test_managed.py::test_managed_file_issue_51208
+ tests/pytests/functional/states/file/test_recurse.py::test_issue_2726_mode_kwarg
+ tests/pytests/functional/states/file/test_managed.py::test_issue_8947_utf8_sls
+ tests/pytests/functional/states/file/test_replace.py::test_file_replace_prerequired_issues_55775
+ tests/pytests/functional/states/file/test_replace.py::test_file_replace_check_cmd
+ tests/pytests/functional/utils/functools/test_namespaced_function.py::test_namespacing
+ tests/pytests/unit/pillar/test_pillar.py::test_pillar_get_cache_disk
+ tests/pytests/unit/state/test_state_compiler.py::test_verify_high_too_many_functions_declared_error_message
+ tests/pytests/unit/utils/test_versions.py::test_warn_until_good_version_argument
+ tests/pytests/integration/modules/test_state.py::test_logging_and_state_output_order
+ tests/pytests/integration/modules/test_test.py::test_deprecation_warning_emits_deprecation_warnings
+ tests/pytests/unit/config/schemas/test_ssh.py::test_config_validate
+ tests/pytests/unit/test_ext_importers.py::test_tornado_import_override
+ tests/pytests/unit/modules/test_saltutil.py::test_list_extmods
+ tests/pytests/unit/modules/test_saltutil.py::test_clear_job_cache
+ tests/unit/transport/test_ipc.py::IPCMessagePubSubCase::test_async_reading_streamclosederror
+
+ # tests that need network access
+ tests/pytests/functional/states/file/test_managed.py::test_verify_ssl_https_source
+ tests/pytests/unit/test_ext_importers.py::test_tornado_import_override
+ tests/pytests/unit/modules/test_aptpkg.py::test_sourceslist_multiple_comps
+ tests/pytests/unit/modules/test_aptpkg.py::test_sourceslist_architectures
+ tests/pytests/unit/modules/test_yumpkg.py::test_get_yum_config
+ tests/pytests/unit/modules/test_yumpkg.py::test_get_yum_config_value_none
+ tests/pytests/unit/utils/test_http.py::test_query_proxy
+ tests/pytests/unit/utils/test_http.py::test_backends_decode_body_false
+ tests/pytests/unit/utils/test_http.py::test_backends_decode_body_true
+ tests/pytests/unit/utils/test_network.py::test_isportopen
+ )
+ [[ ${EPYTHON#*.} -ge 11 ]] && EPYTEST_DESELECT+=(
+ tests/unit/test_master.py::TransportMethodsTest::test_aes_funcs_black
+ tests/unit/test_master.py::TransportMethodsTest::test_clear_funcs_black
+ )
+
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ epytest
+ )
+}