From 84a3c17ab4cc28970d8a0c3922a519796bb599cacbd092de6e05f567ca7f814e Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Sat, 31 Aug 2024 12:05:17 +0000 Subject: [PATCH] - update to 1.5.10: * use black formatter. * use argparse instead of deprecated optparse. * use pytest instead of unittest. * add ability to run tests in parallel with make test- parallel. * PermissionError may occur on Windows when binding ports from a pre-configured PASV range. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyftpdlib?expand=0&rev=46 --- .gitattributes | 23 ++++ .gitignore | 1 + keycert.pem | 52 +++++++++ pyftpdlib-1.5.10.tar.gz | 3 + pyftpdlib-1.5.9.tar.gz | 3 + python-pyftpdlib.changes | 242 +++++++++++++++++++++++++++++++++++++++ python-pyftpdlib.spec | 98 ++++++++++++++++ 7 files changed, 422 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 keycert.pem create mode 100644 pyftpdlib-1.5.10.tar.gz create mode 100644 pyftpdlib-1.5.9.tar.gz create mode 100644 python-pyftpdlib.changes create mode 100644 python-pyftpdlib.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/keycert.pem b/keycert.pem new file mode 100644 index 0000000..0c3c8fa --- /dev/null +++ b/keycert.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC/tUGr3VSP9DTs +FEurR7tO8xEacF4Mn1hOT+gj2+OEzknDNivCREjNRxy/GxT59sj5wDXXIP3Tj8H9 +zMjdzP4290EPMGzVIKeLUzLjJiqo0BmGamS9qfyT1cENJU8aJjqWmYoKRswrRY3F +Fbipwl3MgdUyewPgWas9Ah9phEqC5aLGY6ILQDXoBpcnsJGGpVtJUy6vqYd5C2ou +uArK1hSr/k1uDAIuRv0FbnGxFp+Bm32appFdzr+o523O161pisUVJFIXAMrJmyIX +V7H4r9VZrptYUhNCnM5ghfCjAzoKWNu3uOyRWhKfTSyQ+5f/GRUUtx5KTMllkQnj +rUzNx09LAgMBAAECggEBAK6UwENlAfc+a1t6eBZ48ojJLhAnuF5CVkaq2jqdqqps +uhu+H0eAq9PVKMaYQRgJt6hJdD5/WufpCL66WUozvmYL8QGGFfZZEHr+v17AiSTG +rhgMl8VpIgz3IiF4knq7yasQE/eb1Z6qbprGVy6xRH5S1fZstHEA98JNRpHu2XQt +WqpxWY458/Xr4NI3IxU1iouXPwRdfy4LH5dWoSMJ3g5TwssNsrtbjf1y1n1s0IOR +4QsBJUTp77LHZW7xQqqx/+kUsc4CY3fyDm49lb/6Tw/uvnG8q/pwVkrsUgRLypUJ +DuVCgUv8Y21gQEjcaNipOawq2xF1SxVgC+3JpFoeRyECgYEA8CjI0ZKh39YpAe5u +ai/XOOKE2o650xXgRYkzz09BU4apcJNkiPx1829Biy0gYa2CnD5j39dbWb9a0sk7 +39ihoMsMB/AvgTaSqmU+tYho/vz4qyg/hVYMgFdjNLmj3ecphGPfCryKwDUFFUWk +KDl+989LGirxx0Os01PjamNm0DMCgYEAzFpYzOveQ776Vfr3yXxKubFFVvhL3l++ +iX84RgtvRw9hDpT5ncmICxEC/kcSkaitne+Q+U3D9YBO8uSjJetYd1yl8pW0ztpp +Jicljdexo5MZ42LarF2P8zB5teDJM45g6xZi9d6H7oHotGs52X4QJgzGGvmdpWjr +SPj1PbiCjIkCgYEAj1ypVIGl5Arh++crPnRElA6UpCtjPmDmulvG89Ap/QR8DVnP +P/8FIkad58kOdYCwYTjVQgA65f5W51F9TojxIx1Sl0KH+ShssQ8zOgauNtkoUHP8 +R0owuERyUj0nVwXxQLilorEeWtLLsAEcl26LHr894+cS4ZLCjnybWxzveQUCgYEA +tP0fwP72cBHpLdWFOFJ47FXxD8IBkAZEfwrKEF94Qvt//qY7HmCruQFsIUFZVOCM +RGE1iVgywnDNe5q8VI1IYQ8RevTUmpAeqMfrHuF2V2WlfBrFifujzsOUSF26VYs4 +k33UT+azha5RJ9n/9n0MWGbf3mxOD34JRSwaKHwOQ+ECgYATiA96hzSqS8LG5nI/ +wbvMPPyOZIIy+TEXsG9E3i2/7/zVEbg2EufKfrApQ9AcAx9em+Rni1o94qDq8OG8 +WUla6JKmMEGoBRmMeC0nWTj6VEONIe4Xr+wE6KECZGXgzx2NIMj3FzCoxe0AhVpr +0S+dDD5jWPDi6yM+WH1goCpD5g== +-----END PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIID9TCCAt2gAwIBAgIUI/btrf6IT189kgQqIdMNT27mEVswDQYJKoZIhvcNAQEL +BQAwgYkxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhEZWxhd2FyZTETMBEGA1UEBwwK +V2lsbWluZ3RvbjEjMCEGA1UECgwaUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24x +DDAKBgNVBAsMA1NTTDEfMB0GA1UEAwwWc29tZW1hY2hpbmUucHl0aG9uLm9yZzAe +Fw0yMTEwMjYwMzUwMjFaFw0zMTEwMjQwMzUwMjFaMIGJMQswCQYDVQQGEwJVUzER +MA8GA1UECAwIRGVsYXdhcmUxEzARBgNVBAcMCldpbG1pbmd0b24xIzAhBgNVBAoM +GlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uMQwwCgYDVQQLDANTU0wxHzAdBgNV +BAMMFnNvbWVtYWNoaW5lLnB5dGhvbi5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/tUGr3VSP9DTsFEurR7tO8xEacF4Mn1hOT+gj2+OEzknDNivC +REjNRxy/GxT59sj5wDXXIP3Tj8H9zMjdzP4290EPMGzVIKeLUzLjJiqo0BmGamS9 +qfyT1cENJU8aJjqWmYoKRswrRY3FFbipwl3MgdUyewPgWas9Ah9phEqC5aLGY6IL +QDXoBpcnsJGGpVtJUy6vqYd5C2ouuArK1hSr/k1uDAIuRv0FbnGxFp+Bm32appFd +zr+o523O161pisUVJFIXAMrJmyIXV7H4r9VZrptYUhNCnM5ghfCjAzoKWNu3uOyR +WhKfTSyQ+5f/GRUUtx5KTMllkQnjrUzNx09LAgMBAAGjUzBRMB0GA1UdDgQWBBR4 +2Iidy6npIXwDz9Z/HrEyiRWYJDAfBgNVHSMEGDAWgBR42Iidy6npIXwDz9Z/HrEy +iRWYJDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQALxcn19FtW +3Yem9V1s8awYFNE+WMWjS95jq+bICaOaE4J+zfoWXsIeHKzOsp735QSAErCht5Dr ++5t+e76lbSLHDN7NEeleQRIWiOHE2pp7R6CrMUQrhEh5YUtkK6aBJUZ6MUdtzRsx +6PL1HZ6cXxHhktoCkpWiSPSsxdsd4qBpoTvOfgc8XLohSPppS1jfjjgBjIZsu006 +2OL/Ko9P26LkffJv+5oyze42XMGbHocaMRoQbAcmDVd26zAOzYEaQ4QlaX9mzfiP +7GLQ3si3SkWtaTnSVXxtj4PYnErCC6rR9iKyd9gmuiAuh5R8y9bGlrwOb8udbYnZ +cB8K2q9TPBBa +-----END CERTIFICATE----- diff --git a/pyftpdlib-1.5.10.tar.gz b/pyftpdlib-1.5.10.tar.gz new file mode 100644 index 0000000..febea88 --- /dev/null +++ b/pyftpdlib-1.5.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dbdeb1215bcba2fb748dae31ffdb1ab008540c28d13b3704e178f368a087128 +size 204487 diff --git a/pyftpdlib-1.5.9.tar.gz b/pyftpdlib-1.5.9.tar.gz new file mode 100644 index 0000000..b61ac45 --- /dev/null +++ b/pyftpdlib-1.5.9.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:323d4c42f1406aedb4df18faf680f64f32c080ff66f6c26090ba592f5bfc4a0f +size 204755 diff --git a/python-pyftpdlib.changes b/python-pyftpdlib.changes new file mode 100644 index 0000000..9f414d5 --- /dev/null +++ b/python-pyftpdlib.changes @@ -0,0 +1,242 @@ +------------------------------------------------------------------- +Sat Aug 31 12:04:37 UTC 2024 - Dirk Müller + +- update to 1.5.10: + * use black formatter. + * use argparse instead of deprecated optparse. + * use pytest instead of unittest. + * add ability to run tests in parallel with make test- + parallel. + * PermissionError may occur on Windows when binding ports + from a pre-configured PASV range. + +------------------------------------------------------------------- +Mon Mar 25 14:21:26 UTC 2024 - Dirk Müller + +- update to 1.5.9: + * Enhancements + * #611: use ruff code style checker instead of flake8 + isort + (much faster + makes many more code quality checks). + * Bug fixes + * #604: client connection may be reset in PASV/EPSV mode during + TLS handshake. (patch by Benedikt McMullin) + * #607: possible infinite wait in Epoll (patch by + @stat1c-void) + * #607: possible infinite traceback printing in DTPHandler + (patch by @stat1c-void) + * #613: (CRITICAL) bugfix for TLS disconnect causing 100% CPU + usage. (patch by @hakai) + * #614: close connection on SSL EOF error, instead of + erroneously replying with "226 Transfer completed." + * Enhancements + * #586: removed Python 2.6 support. + * #591: speedup logging by 28% by using logging._srcfile = None + trick. This avoids calling calling sys._getframe() for each + log record. + * #605: added support for Python 3.12. + * Enhancements + * #544: replace Travis with Github Actions for CI testing. + * Bug fixes + * #481: fix [WinError 10038] an operation was attempted on + something that is not a socket. (patch by Tailing Yuan) + * #578, [critical]: FTPS broke with PyOpenSSL version 22.1.0. + * Enhancements + * #467: added pre-fork concurrency model, spawn()ing worker + processes to split load. + * #520: directory LISTing is now 3.7x times faster. + * Enhancements + * #495: colored test output. + * Bug fixes + * #492: CRLF line endings are replaced with CRCRLF in ASCII + mode downloads. + * #496: import error due to multiprocessing.Lock() bug. + * Enhancements + * #463: FTPServer class can now be used as a context manager. + * Bug fixes + * #431: Ctrl-C doesn't exit python -m pyftpdlib on Windows. + * #436: ThreadedFTPServer.max_cons is evaluated + threading.activeCount(). If the user uses threads of its own + it will consume the number of max_cons. + * #447: ThreadedFTPServer and MultiprocessFTPServer do not + join() tasks which are no longer consuming resources. + * Enhancements + * #201: implemented SITE MFMT command which changes file + modification time. (patch by Tahir Ijaz) + * #327: add username and password command line options + * #433: documentation moved to readthedocs: + http://pyftpdlib.readthedocs.io + * Bug fixes + * #403: fix duplicated output log. (path by PonyPC) + * #414: Respond successfully to STOR only after closing file + handle. +- drop support-python-312.patch (upstream) + +------------------------------------------------------------------- +Tue Sep 19 05:14:22 UTC 2023 - Steve Kowalik + +- Add patch support-python-312.patch, support Python 3.12+ +- Stop using greedy globs in %files +- Switch to autosetup and pyproject macros +- Remove Python 2 leftovers +- Enable running the tests again + +------------------------------------------------------------------- +Fri Apr 21 12:30:41 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:43:39 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Fri Oct 28 20:09:29 UTC 2022 - Yogalakshmi Arunachalam + +- Update to Version: 1.5.7 - 2022-10-04 + Enhancements + * #544: replace Travis with Github Actions for CI testing. + Bug fixes + * #481: fix [WinError 10038] an operation was attempted on something that is not a socket. (patch by Tailing Yuan) + * #578, [critical]: FTPS broke with PyOpenSSL version 22.1.0. + +- Update to Version: 1.5.6 - 2020-02-16 + Enhancements + * #467: added pre-fork concurrency model, spawn()ing worker processes to split load. + * #520: directory LISTing is now 3.7x times faster. + +------------------------------------------------------------------- +Wed Jan 19 08:00:32 UTC 2022 - Matej Cepl + +- Switch off the test suite, it just doesn't work reliably + (gh#giampaolo/pyftpdlib#540). + +------------------------------------------------------------------- +Tue Oct 26 04:12:28 UTC 2021 - Steve Kowalik + +- Regenerate new private key/x509 certificate for the test suite. + (thanks, Jason!) + +------------------------------------------------------------------- +Fri May 7 23:13:10 UTC 2021 - Ben Greiner + +- Skip masquerade tests failung because the newest Pythons don't + allow invalid addresses gh#giampaolo/pyftpdlib#550, bpo-43285 +- Remove script interpreter lines for test files and _compyt.py + (fix rpmlint warnings) + +------------------------------------------------------------------- +Fri Dec 18 16:29:52 UTC 2020 - Benjamin Greiner + +- add ignore _build directories to pytest args to fix builds for + multiple pytest flavors gh#openSUSE/python-rpm-macros#66 +- fix tests failing locally because of gh#giampaolo/pyftpdlib#478 + +------------------------------------------------------------------- +Sun Aug 16 04:20:40 UTC 2020 - John Vandenberg + +- Re-activate test suite, replacing nose with pytest + +------------------------------------------------------------------- +Wed May 20 07:26:27 UTC 2020 - Petr Gajdos + +- %python3_only -> %python_alternative + +------------------------------------------------------------------- +Mon Apr 20 10:41:55 UTC 2020 - Tomáš Chvátal + +- Fix build without python2 + +------------------------------------------------------------------- +Fri Mar 27 08:46:37 UTC 2020 - Antonio Larrosa + +- Do not remove tests, other packages import them + +------------------------------------------------------------------- +Wed Mar 18 09:21:28 UTC 2020 - Tomáš Chvátal + +- Update to 1.5.6: + - #467: added pre-fork concurrency model, spawn()ing worker processes to split + load. + - #520: directory LISTing is now 3.7x times faster. + +------------------------------------------------------------------- +Tue May 28 11:07:18 UTC 2019 - Tomáš Chvátal + +- Do not remove tests, other packages import them + +------------------------------------------------------------------- +Sat May 25 09:29:17 UTC 2019 - Tomáš Chvátal + +- Update to 1.5.5: + * Various minor fixes and documentation updates + +------------------------------------------------------------------- +Tue Dec 4 12:52:12 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Wed May 9 00:57:35 UTC 2018 - toddrme2178@gmail.com + +- Version update to 1.5.4 + + Enhancements + * #463: FTPServer class can now be used as a context manager. + + Bug fixes + * #431: Ctrl-C doesn't exit `python -m pyftpdlib` on Windows. + * #436: ThreadedFTPServer.max_cons is evaluated threading.activeCount(). If + the user uses threads of its own it will consume the number of max_cons. + * #447: ThreadedFTPServer and MultiprocessFTPServer do not join() tasks which + are no longer consuming resources. +- Disable tests since they randomly fail. + See https://github.com/giampaolo/pyftpdlib/issues/386 + +------------------------------------------------------------------- +Wed May 2 10:27:38 UTC 2018 - tchvatal@suse.com + +- Version update to 1.5.3: + * implemented SITE MFMT command which changes file modification time. (patch by Tahir Ijaz) + * add username and password command line options + * documentation moved to readthedocs: http://pyftpdlib.readthedocs.io + * fix duplicated output log. (path by PonyPC) + * Respond successfully to STOR only after closing file handle. + +------------------------------------------------------------------- +Thu Jul 6 00:25:48 UTC 2017 - jengelh@inai.de + +- Trim exaggeration from descriptions. + +------------------------------------------------------------------- +Thu Jun 22 14:14:51 UTC 2017 - jmatejek@suse.com + +- update to 1.5.2 + * disables old SSL methods + * fixed some hangs/crashes +- fixes test failures in OBS +- drop patches that are no longer needed: + * pyftpdlib-disable-error-0-ssl-unwrap.diff + * pyftpdlib-disable-incomplete-file-received.diff + * pyftpdlib-handle-missing-SSLv3.diff +- convert to singlespec + +------------------------------------------------------------------- +Mon May 9 14:58:36 UTC 2016 - hpj@urpla.net + +- add patch to disable another failing test, related to icomplete + file receptions + +------------------------------------------------------------------- +Mon May 9 13:14:32 UTC 2016 - hpj@urpla.net + +- add patch to test SSLv3 only, if available + +------------------------------------------------------------------- +Mon May 9 10:34:42 UTC 2016 - hpj@urpla.net + +- add patch to disable a test, that triggers an error 0 in ssl + +------------------------------------------------------------------- +Sun May 8 20:15:42 UTC 2016 - hpj@urpla.net + +- version 1.5.1: initial build + diff --git a/python-pyftpdlib.spec b/python-pyftpdlib.spec new file mode 100644 index 0000000..9396aba --- /dev/null +++ b/python-pyftpdlib.spec @@ -0,0 +1,98 @@ +# +# spec file for package python-pyftpdlib +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2016 LISA GmbH, Bingen, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-pyftpdlib +Version: 1.5.10 +Release: 0 +Summary: Asynchronous FTP server library for Python +License: MIT +URL: https://github.com/giampaolo/pyftpdlib/ +Source: https://files.pythonhosted.org/packages/source/p/pyftpdlib/pyftpdlib-%{version}.tar.gz +Source1: keycert.pem +BuildRequires: %{python_module pip} +BuildRequires: %{python_module psutil} +BuildRequires: %{python_module pyOpenSSL} +BuildRequires: %{python_module pysendfile} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-pyOpenSSL +Requires(post): update-alternatives +Requires(postun): update-alternatives +Recommends: python-pysendfile +BuildArch: noarch +%python_subpackages + +%description +The Python FTP server library provides a high-level interface to +write very asynchronous FTP servers with Python. + +%prep +%autosetup -p1 -n pyftpdlib-%{version} +sed -i '1 {/env python/ d}' pyftpdlib/test/*.py pyftpdlib/_compat.py +cp %{SOURCE1} pyftpdlib/test + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/ftpbench +%python_expand %fdupes %{buildroot}%{$python_sitelib} +# Note: Do not remove tests. Other packages import them + +%check +ignorebuild="--ignore build" +%{python_expand # expand to python flavor, not to the binary name, then strip the trailing _ +builddir=_build.$python_ +ignorebuild+=" --ignore ${builddir%%_}" +} +cat > pytest.ini <