From b61e3b3ffde2453189396e5f551e4fabb2d2709e6871d490844eb93b7a3ea383 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 4 Jul 2025 16:36:36 +0000 Subject: [PATCH] - fix tests for SLE15 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-python-memcached?expand=0&rev=44 --- .gitattributes | 23 ++++ .gitignore | 1 + 1.62.tar.gz | 3 + python-python-memcached.changes | 229 ++++++++++++++++++++++++++++++++ python-python-memcached.spec | 80 +++++++++++ 5 files changed, 336 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 1.62.tar.gz create mode 100644 python-python-memcached.changes create mode 100644 python-python-memcached.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/1.62.tar.gz b/1.62.tar.gz new file mode 100644 index 0000000..56707da --- /dev/null +++ b/1.62.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2877f0885ade0c4c6871c863914838d23c955621f1a9f56a9b941dd1facb250a +size 28598 diff --git a/python-python-memcached.changes b/python-python-memcached.changes new file mode 100644 index 0000000..6ca3e2f --- /dev/null +++ b/python-python-memcached.changes @@ -0,0 +1,229 @@ +------------------------------------------------------------------- +Fri Jul 4 16:36:26 UTC 2025 - Dirk Müller + +- fix tests for SLE15 + +------------------------------------------------------------------- +Thu Feb 1 21:18:55 UTC 2024 - Dirk Müller + +- update to 1.62: + * delete() return value now is 1 for "DELETED" and 0 for + "NOT_FOUND" or server error. (Nick Pope PR #190) +- update to 1.60: + * Allow to use a datetime.timedelta parameter for Client.set + * Fix cmemcahe_hash 0 values being translated to 1 + * Fix tuple key support in multi methods + * Add support for default value in get + * test_memcache.py: try import unittest.mock + * Use == as suggested by Python 3.8 (PR from @za) + * Decoding in slab funcs, replacing "1" with "True" in while. + * Tell PyPI to parse README as markdown (PR from @MartinThoma) + * test_memcache.py: try import unittest.mock + * Removed Python 2.7 from setup.cfg, adding 3.8-3.12 + * Add support for default value in get() + * Fix tuple key support in multi methods (regression in 1.55). + * Removing six.PY2/3 conditionals + * Removing "time" from delete and making expiry mandatory in + touch. (port of @erankor's PR in #30 ) + * Added quit() method. This method sends the 'quit' command to + the servers and then closes the connections, reducing the + number of TIME_WAIT sockets hanging around the OS. + * Allow to use a datetime.timedelta parameter for Client.set + * Allow keys to be encoded before use. + * Removing historic python 2to3 code and deprecated + socket.error (for OSError). + * Updating to the latest PSF license +- drop python-python-memcached-no-six.patch (upstream) + +------------------------------------------------------------------- +Thu Jun 1 09:27:51 UTC 2023 - pgajdos@suse.com + +- run pyupgrade +- added patches + https://github.com/linsomniac/python-memcached/pull/186 + + python-python-memcached-no-six.patch + +------------------------------------------------------------------- +Tue Dec 13 00:36:09 UTC 2022 - Matej Cepl + +- Fix incorrect version number in `__version__` + (gh#linsomniac/python-memcached#185). +- Fix build: memcached moved their binaries to /usr/bin. +- Clean up SPEC file. + +------------------------------------------------------------------- +Mon Apr 11 13:02:07 UTC 2022 - Markéta Machová + +- do not use mock + +------------------------------------------------------------------- +Wed Jun 3 11:51:18 UTC 2020 - Marketa Calabkova + +- replace nose with pytest + +------------------------------------------------------------------- +Wed Jan 9 22:14:36 UTC 2019 - Jonathan Brownell + +- Use proper memcached path on Red Hat platforms + +------------------------------------------------------------------- +Wed Aug 8 13:56:44 UTC 2018 - tchvatal@suse.com + +- Kill memcache deamon at the end of the tests + +------------------------------------------------------------------- +Wed Aug 8 13:28:02 UTC 2018 - tchvatal@suse.com + +- Version update to 1.59 bsc#1131840: + * Various fixes for python 3.7 and 3.6 +- Run tests + +------------------------------------------------------------------- +Thu Aug 24 13:52:44 UTC 2017 - jmatejek@suse.com + +- singlespec auto-conversion + +------------------------------------------------------------------- +Tue Nov 15 13:13:46 UTC 2016 - dmueller@suse.com + +- update to 1.58: + * Fixing a performance regression in v1.54 in Python 2, using cPickle again. + * Support for "stats slabs". + * Pin Six version to >= 1.4 + * setup.py build process pulls version from memcached.py + * delete() and delete_multi() now default the "time" argument to None, + since the protocol doesn't allow a time in some implementations. + Patch by oremj #27 + +------------------------------------------------------------------- +Tue Oct 6 11:21:23 UTC 2015 - mcihar@suse.cz + +- update to 1.57: + * Fix for #75 and #76, mc.set(key, False) results in "ValueError: + invalid literal for int()". Reported by Carlos Sanchez on github. + +------------------------------------------------------------------- +Thu Jul 30 14:54:21 UTC 2015 - tbechtold@suse.com + +- update to 1.56: + * More patches for python3 from Victor Stinner #67. Thanks! + * Tests moved out into their own unittest testcases. + Patch by Jeremy Thurgood. + * Adding support for pluggable compressors. Patch by cactus on github. + * Adding support for "noreply". Patch by cactus on github. + * Allowing empty key in _multi() calls. Suggested by sergio97 on github. + +------------------------------------------------------------------- +Thu Apr 23 07:08:57 UTC 2015 - mcihar@suse.cz + +- Update to 1.54: + * Numerous patches to attempt to get Python 3 working, but + tests are still failing under Python 3, so this code is not ready + yet. + * MemcachedKeyCharacterError better describes key problem. + Suggested by Roy Smith + * Added touch(), patch by erankor on github. + * Allow empty server list, patch by zewt on github. + * If unknown flags in get request, raises a value error rather than the + code bombing out. + * Setting the SERVER_MAX_* values after import did not work, despite + being documented to. Reported by alexf101 on github. +- Run testsuite in %check, adjust build requires + +------------------------------------------------------------------- +Thu Oct 24 11:12:45 UTC 2013 - speilicke@suse.com + +- Require python-setuptools instead of distribute (upstreams merged) + +------------------------------------------------------------------- +Sun Jun 23 21:21:17 UTC 2013 - dmueller@suse.com + +- update to 1.53: + * Fixing set_multi() so that if the server closes the connection + it will no longer raise AttributeError. Issue found and resolution + reviewed by Ben Hoyt. + * readline() now will mark the connection dead if the read fails. + It was just closing it before. This is related to the set_multi() + change but worth noting separately. Thanks to Ben Hoyt. + * Changing check_keys to use re.match() instead of str.translate(), + because re.match() works with Python < 2.6. + Found by Giovanni Di Milia. + +------------------------------------------------------------------- +Mon May 27 10:30:36 UTC 2013 - dmueller@suse.com + +- update to 1.51: + * Add a MANIFEST.in file, patch by Daniel Widerin. + * Client() now takes a "check_keys" option, which defaults to True. + If False, it disables the checking of keys to ensure they have + acceptable size and are composed of non-control characters. + Suggested by Ben Hoyt. + * Converting control character checking of keys based on performance + testing of alternatives by Ben Hoyt. + * Converted unicode tests from using u'', patch from Eren Güve. + * Included license file (pull request by "Philippe" pombredanne). + * Doing a "set" after server goes away, raised AttributeError: + 'NoneType' object has no attribute 'sendall'. Patch by Ken Lalonde + * incr/decr return None instead of 0 on server connection failure. + Suggested by Ivan Virabyan + * Supports IPv6 connections using: "inet6:[fd00::32:19f7]:11000". + Patch by Romain Courteaud +- python-memcached-ipv6-and-or.patch: remove. Solved differently upstream + +------------------------------------------------------------------- +Fri Apr 26 09:20:00 UTC 2013 - speilicke@suse.com + +- Add python-memcached-ipv6-and-or.patch: Add IPv6 support and fix + hostData port return value + +------------------------------------------------------------------- +Fri Apr 26 09:14:11 UTC 2013 - speilicke@suse.com + +- Update to version 1.48: + + Dropped HTML docu + +------------------------------------------------------------------- +Fri Apr 1 11:23:28 UTC 2011 - oliver.bengs@opensuse.org + +- added %{py_requires} +- make use of --record-rpm from setuptools + +------------------------------------------------------------------- +Sat Feb 26 14:13:54 UTC 2011 - stian@viskjer.net + +- python-memcached 1.47 + * Bug #680359: useOldServerHashFunction() is broken. It now + correctly switches back to the old memcache hash function. + +- python-memcached 1.46 + * Bug #471727: Changed the delete() code to explicitly check for + both NOT_FOUND and DELETED as the responses and return + successful for both. It also logs an error if one of these two + responses is not found. Also added a test to ensure that + delete() works. + * When using set_multi and one value is too big, traceback + TypeError: 'int' object is unsubscriptable. + Patch by Orjan Persson + * Fixing Bug #529855: Server host can now be bare host without + ":". Fix proposed by Roger Binns. + * Fixing Bug #491164: Typo fix, "compession" -> "compRession". + * Fixing Bug #509712: "TypeError: 'NoneType' object is + unsubscriptable" Also fixed some other similar code to not have + issues with that. + * Also related to 509712 and 628339: readline() now returns '' + instead of None when a server dies. This should be safer. + Patch suggested by Denis Otkidach. + * Fixing Bug #628339: Read from server sometimes fails. + Patch by Jeremy Cowles. + * Fixing Bug #633553: Add stat arguments support to get_stats(). + Patch by Ryan Lane. + * Changing the license to the PSF License. + * Removing Evan's e-mail address at his request, changing + authorship to Sean. + +------------------------------------------------------------------- +Fri Nov 26 23:00:00 UTC 2010 - stian@viskjer.net + +- python-memcached 1.45 + * Initial specfile based on Fedora's v1.43-6 + diff --git a/python-python-memcached.spec b/python-python-memcached.spec new file mode 100644 index 0000000..51b675e --- /dev/null +++ b/python-python-memcached.spec @@ -0,0 +1,80 @@ +# +# spec file for package python-python-memcached +# +# Copyright (c) 2025 SUSE LLC +# +# 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-python-memcached +Version: 1.62 +Release: 0 +Summary: Pure python memcached client +License: Python-2.0 +Group: Development/Languages/Python +URL: https://github.com/linsomniac/python-memcached +Source: https://github.com/linsomniac/python-memcached/archive/%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: memcached +BuildRequires: python-rpm-macros +BuildRequires: util-linux +Requires: memcached +BuildArch: noarch +%python_subpackages + +%description +This package was originally written by Evan Martin of Danga. +Sean Reifschneider of tummy.com, ltd. has taken over maintenance of it. + +This software is a 100% Python interface to the memcached memory cache +daemon. It is the client side software which allows storing values in one +or more, possibly remote, memcached servers. Search google for memcached +for more information. + +%prep +%autosetup -p1 -n python-memcached-%{version} +sed -i \ + -e 's:#!%{_bindir}/env python::' \ + memcache.py +sed -i -e '/__version__/s/[0-9.]\+/%{version}/' memcache.py + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%if 0%{?suse_version} > 1500 +%{_bindir}/memcached -dv -P $PWD/memcached.pid +%else +%{_sbindir}/memcached -dv -P $PWD/memcached.pid +%endif + +%pytest +kill -9 $(cat $PWD/memcached.pid) + +%files %{python_files} +%license PSF.LICENSE +%doc README.md +%{python_sitelib}/memcache.py +%pycache_only %{python_sitelib}/__pycache__/memcache.*.pyc +%{python_sitelib}/python_memcached-%{version}.dist-info + +%changelog