From 1b41f23f754ae0b542949b0dd94da0fbfc16333b Mon Sep 17 00:00:00 2001 From: rick Date: Sat, 31 May 2025 17:33:03 +0200 Subject: [PATCH] impacket: add examples, fix test, sort dependencies --- .../impacket/impacket-0.12.0_p20250516.ebuild | 80 ++++++++++++++++--- 1 file changed, 67 insertions(+), 13 deletions(-) diff --git a/dev-python/impacket/impacket-0.12.0_p20250516.ebuild b/dev-python/impacket/impacket-0.12.0_p20250516.ebuild index f231380b9..d7dc8544d 100644 --- a/dev-python/impacket/impacket-0.12.0_p20250516.ebuild +++ b/dev-python/impacket/impacket-0.12.0_p20250516.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,31 +28,85 @@ LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 ~arm64 x86" -RDEPEND="${PYTHON_DEPS} - dev-python/charset-normalizer[${PYTHON_USEDEP}] +RDEPEND=" + >dev-python/ldap3-2.6.0[${PYTHON_USEDEP}] + >=dev-python/flask-1.0[${PYTHON_USEDEP}] + >=dev-python/ldapdomaindump-0.9.0[${PYTHON_USEDEP}] >=dev-python/pyasn1-0.2.3[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-0.16.2[${PYTHON_USEDEP}] + dev-python/charset-normalizer[${PYTHON_USEDEP}] dev-python/pyasn1-modules[${PYTHON_USEDEP}] dev-python/pycryptodome[${PYTHON_USEDEP}] - >=dev-python/pyopenssl-0.16.2[${PYTHON_USEDEP}] dev-python/six[${PYTHON_USEDEP}] - dev-python/ldap3[${PYTHON_USEDEP}] - >=dev-python/ldapdomaindump-0.9.0[${PYTHON_USEDEP}] - >=dev-python/flask-1.0[${PYTHON_USEDEP}] " -# dev-python/chardet[${PYTHON_USEDEP}] -DEPEND="${RDEPEND}" +# use a local server +EPYTEST_DESELECT=( + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_connect_disconnect_tree' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_create_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_delete_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_get_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_get_unicode_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_list_path' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_list_shares' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_login_invalid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_login_valid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_open_close_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_put' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_query_info_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_rename_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_unicode_login' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_connect_disconnect_tree' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_create_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_delete_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_get_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_get_unicode_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_list_path' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_list_shares' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_login_invalid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_login_valid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_open_close_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_put' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_query_info_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_rename_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_unicode_login' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_connect_disconnect_tree' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_create_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_delete_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_delete_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_get_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_get_unicode_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_list_path' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_list_shares' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_login_invalid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_login_valid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_open_close_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_put' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_query_info_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_rename_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_unicode_login' +) + +distutils_enable_tests pytest python_prepare_all() { # do not install data files under Gentoo - sed -i -e "s|Darwin|Linux|" setup.py || die + sed -i -e 's|Darwin|Linux|' setup.py || die #use pycryptodome instead of pycryptodomex #the only thing different appears to be the namespace and gentoo is removing pycryptodomex sed -i -e 's#Cryptodome#Crypto#' $(grep -r --color=never 'Cryptodome' | awk -F':' '{print $1}') || die distutils-r1_python_prepare_all } -python_test() { - cd tests || die - ./runall.sh || die +python_install_all() { + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + + distutils-r1_python_install_all +} + +python_test() { + epytest -m 'not remote' }