Name:		python-filelock
Version:	3.29.5
Release:	1
Summary:	A platform independent file lock
License:	Unlicense
URL:		https://github.com/benediktschmitt/py-filelock
Source0:	%{pypi_source filelock}

BuildArch:      noarch

BuildRequires:	python3-pip  python3-hatchling python3-hatch-vcs python3-wheel python3-pytest
BuildRequires:  python3-pytest-mock python3-pytest-virtualenv python3-virtualenv python3-pytest-asyncio python3-pytest-timeout

%description
This package contains a single module, which implements a platform
independent file locking mechanism for Python.

%package doc
Summary:        Documentation for filelock, A platform independent file lock
BuildRequires:  python3-sphinx

%description doc
Documentation for filelock, A platform independent file lock

%package -n python3-filelock
Summary:        A platform independent file lock
BuildRequires:  python3-devel python3-setuptools
%{?python_provide:%python_provide python3-filelock}
Suggests:       %{name}-doc

%description -n python3-filelock
This package contains a single module, which implements a platform
independent file locking mechanism for Python.

%package_help

%prep
%autosetup -p1 -n filelock-%{version}

%build
%pyproject_build

%install
%pyproject_install

%check
export PYTHONPATH=%{buildroot}%{python3_sitelib}/

pytest

%files doc
%defattr(-,root,root)
%license LICENSE

%files -n python3-filelock
%defattr(-,root,root)
%license LICENSE
%{python3_sitelib}/filelock*

%files help
%defattr(-,root,root)
%doc README.md

%changelog
* Mon Jul 06 2026 YangengLiu <dev01202@linx-info.com> - 3.29.5-1
- update version to 3.29.5
  * serialise read/write release rollback against a concurrent acquire.
  * fix(soft_rw): refresh held marker through the verified fd.
  * only unlink the writer marker on release if it is still ours.
  * don't follow symlinks in raise_on_not_writable_file.
  * don't complete a writer acquire on a peer's reclaimed marker.
  * use a private break name in break_lock_file.
  * Keep Unix lock files after release.
  * roll back a read acquire's open transaction when its SELECT fails.
  * lifetime: reject negative, non-numeric, and bool values at the setter.

* Mon Jun 15 2026 YangengLiu <dev01202@linx-info.com> - 3.29.4-1
- update version to 3.29.4
  * keep the read/write heartbeat alive on a transient touch error.
  * verify inode in break_lock_file before unlinking a stale lock.
  * validate pid range in _parse_lock_holder.
  * fix(soft): harden stale-lock breaking and self-heal malformed locks.
  * docs: clarify per-thread scope of FileLock configuration.
  * fix(soft): refuse to follow symlinks when reading the lock file.
  * feat(soft): enable stale lock detection on Windows.
  * fix(async): use single-thread executor for lock consistency.
  * open marker reads non-blocking to refuse attacker-placed fifo.

* Thu Apr 16 2026 YangengLiu <dev01202@linx-info.com> - 3.28.0-1
- update version to 3.28.0
  * feat(rw): add SoftReadWriteLock for NFS and HPC clusters.
  * fix(asyncio): add exit to BaseAsyncFileLock and fix del loop handling.
  * feat(soft): add PID inspection and lock breaking.

* Thu Mar 12 2026 YangengLiu <dev01202@linx-info.com> - 3.25.2-1
- update version to 3.25.2
  * fix(unix): suppress EIO on close in Docker bind mounts
  * docs(logo): add branded project logo
  * fix(win): restore best-effort lock file cleanup on release

* Fri Mar 06 2026 zhang_jian <zhang_jian7@hoperun.com> - 3.25.0-1
- Update to 3.25.0
  * Add permissions to check workflow
  * Move SECURITY.md to .github/SECURITY.md
  * Standardize .github files to .yaml suffix

* Wed Feb 25 2026 zhang_jian <zhang_jian7@hoperun.com> - 3.24.3-1
- Update to 3.24.3
  * add trailing blank line after changelog entries 
  * handle ENOENT race on FUSE/NFS during acquire
  * resolve flaky write non-starvation tes

* Thu Jan 15 2026 yaoxin <1024769339@qq.com> - 3.20.3-1
- Update to 3.20.3 for fix CVE-2026-22701

* Mon Dec 29 2025 Shinwell Hu <micromotive@qq.com> - 3.20.1-1
- Update package to version 3.20.1
  . 新增 Python 3.14 支持,构建依赖更新

* Wed Jun 04 2025 zhoulinshen <zhouls@teligen.net> - 3.18.0-1
- Update package to version 3.18.0

* Thu Oct 10 2024 xu_ping <707078654@qq.com> - 3.16.1-1
- Update package to version 3.16.1

* Mon Aug 12 2024 Ge Wang <wang__ge@126.com> - 3.15.4-1
- Update package to version 3.15.4

* Thu May 09 2024 wangxiaomeng <wangxiaomeng@kylinos.cn> - 3.13.1-2
- Backport patch:fix permission denied error when lock file is placed in /tmp

* Wed Dec 06 2023 jiangxinyu <jiangxinyu@kylinos.cn> - 3.13.1-1
- Update package to version 3.13.1

* Thu Oct 26 2023 jiangxinyu <jiangxinyu@kylinos.cn> - 3.12.4-1
- Update package to version 3.12.4

* Wed Jun 21 2023 chendexi <chendexi@kylinos.cn> - 3.12.2-1
- Update package to version 3.12.2

* Thu Apr 27 2023 xu_ping <707078654@qq.com> - 3.12.0-1
- Upgrade to 3.12.0

* Thu Mar 3 2022 zhaoshuang<zhaoshuang@uniontech.com> - 3.0.12-3
- remove unnecessary buildrequires

* Thu Jun 18 2020 hanhui<hanhui15@huawei.com> - 3.0.12-2
- bugfix
- fix python can not find file

* Tue Feb 11 2020 huzunhao<huzunhao2@huawei.com> - 3.0.12-1
- Package init