Files
meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_4.0.4.bb
T
Khem Raj 3e3c03ebdf python3-filelock: upgrade 3.32.4 -> 4.0.4
Add python3-crypt to RDEPENDS: the library now imports hashlib
(_identity.py, pulled in by "import filelock" through the soft and
strict locks).

Changelog: https://github.com/tox-dev/filelock/blob/4.0.4/docs/changelog.rst

4.0.4
- Hostnames differing only past their first 253 escaped characters now
  publish distinct soft-lock owners.

4.0.3
- Skip the fork-safety audit hook on CPython 3.10/3.11, where it broke
  thread creation under coverage or a debugger.

4.0.2
- Fix OS lock leaks, double closes and false deadlocks from concurrent
  acquire()/release() on thread_local=False locks.
- Async read-write locks give each asyncio task its own hold.

4.0.1
- Validate poll_interval at construction, on the setter and on acquire().

4.0.0 (breaking)
- SoftReadWriteLock uses a new on-disk generation-log protocol under
  <path>.rw that earlier releases do not see; all participants on a lock
  path must be upgraded together. It now requires os.link.
- SoftReadWriteLock exposes a generation fencing token, reports lost
  holds through on_compromise, and no longer deadlocks when a holder on
  another host dies mid-transition.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-27 12:55:51 -07:00

44 lines
1.2 KiB
BlitzBasic

# SPDX-License-Identifier: MIT
# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors
SUMMARY = "A single module, which implements a platform independent file lock in Python, which provides a simple way of inter-process communication"
HOMEPAGE = "https://py-filelock.readthedocs.io/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2c6acbdf7bb74caa37512c3a5ca6857b"
CVE_PRODUCT = "tox-dev:filelock"
SRC_URI += "file://run-ptest"
SRC_URI[sha256sum] = "90999ed63a26ccf86b93b959ab10cf1017f422d816be454ed54cbed263e71ab5"
BBCLASSEXTEND = "native nativesdk"
inherit pypi python_hatchling ptest-python-pytest
DEPENDS += "\
python3-hatch-vcs-native \
"
RDEPENDS:${PN} += " \
python3-core \
python3-crypt \
python3-logging \
python3-asyncio \
"
RDEPENDS:${PN}-ptest += " \
python3-pytest-asyncio \
python3-pytest-mock \
python3-pytest-timeout \
python3-virtualenv \
python3-discovery \
"
# tests/ imports itself as "tests.*" and pulls in "capabilities" from the
# sibling tasks/ dir; pyproject.toml's [tool.pytest] pythonpath=[".", "tasks"]
# is what upstream relies on to make both resolve.
do_install_ptest:append() {
cp -rf ${S}/tasks ${D}${PTEST_PATH}/
cp -f ${S}/pyproject.toml ${D}${PTEST_PATH}/
}