%global _empty_manifest_terminate_build 0 Name: python-combo-lock Version: 0.2.6 Release: 1 Summary: A combined process and thread lock License: Apache-2.0 URL: https://github.com/forslund/combo-lock Source0: https://mirrors.aliyun.com/pypi/web/packages/47/79/83e327fc03dd89c7b954eb290d89e9dc639ea3f4d1939139d1cccc452b22/combo_lock-0.2.6.tar.gz BuildArch: noarch %description # Combo Lock The combo-lock is a combination of a process lock and a thread lock. Usable in cases both multiple threads and multiple processes are sharing the same resource such as a file in the file system. The module utilizes the FileLock from [filelock](https://pypi.org/project/filelock/) and the standard *Lock* from threading. The FileLock uses a filesystem lock so the initialization of the class requires a path for the lock file. ## Example ```python from combo_lock import ComboLock lock = ComboLock('/tmp/my.lock') with lock: write_my_shared_resource() ``` A `NamedLock` will save the lock file to shared memory using [memory-tempfile](https://github.com/mbello/memory-tempfile) ```python from combo_lock import NamedLock lock = NamedLock('some_name') with lock: write_my_shared_resource() ``` ### History The combo-lock was originally created for [Mycroft-core](https://github.com/mycroftai/mycroft-core) but as it's been useful in other projects a separate release seemed appropriate. %package -n python3-combo-lock Summary: A combined process and thread lock Provides: python-combo-lock BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-combo-lock # Combo Lock The combo-lock is a combination of a process lock and a thread lock. Usable in cases both multiple threads and multiple processes are sharing the same resource such as a file in the file system. The module utilizes the FileLock from [filelock](https://pypi.org/project/filelock/) and the standard *Lock* from threading. The FileLock uses a filesystem lock so the initialization of the class requires a path for the lock file. ## Example ```python from combo_lock import ComboLock lock = ComboLock('/tmp/my.lock') with lock: write_my_shared_resource() ``` A `NamedLock` will save the lock file to shared memory using [memory-tempfile](https://github.com/mbello/memory-tempfile) ```python from combo_lock import NamedLock lock = NamedLock('some_name') with lock: write_my_shared_resource() ``` ### History The combo-lock was originally created for [Mycroft-core](https://github.com/mycroftai/mycroft-core) but as it's been useful in other projects a separate release seemed appropriate. %package help Summary: Development documents and examples for combo-lock Provides: python3-combo-lock-doc %description help # Combo Lock The combo-lock is a combination of a process lock and a thread lock. Usable in cases both multiple threads and multiple processes are sharing the same resource such as a file in the file system. The module utilizes the FileLock from [filelock](https://pypi.org/project/filelock/) and the standard *Lock* from threading. The FileLock uses a filesystem lock so the initialization of the class requires a path for the lock file. ## Example ```python from combo_lock import ComboLock lock = ComboLock('/tmp/my.lock') with lock: write_my_shared_resource() ``` A `NamedLock` will save the lock file to shared memory using [memory-tempfile](https://github.com/mbello/memory-tempfile) ```python from combo_lock import NamedLock lock = NamedLock('some_name') with lock: write_my_shared_resource() ``` ### History The combo-lock was originally created for [Mycroft-core](https://github.com/mycroftai/mycroft-core) but as it's been useful in other projects a separate release seemed appropriate. %prep %autosetup -n combo_lock-0.2.6 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-combo-lock -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.2.6-1 - Package Spec generated