{"old": "/home/jenkins/agent/workspace/multiarch/src-openeuler/x86-64/python-filelock/old_rpms/", "new": "/home/jenkins/agent/workspace/multiarch/src-openeuler/x86-64/python-filelock/new_rpms/", "compare_result": "not pass", "compare_details": {"same": {"same_details": {"old": [], "new": []}, "same_num": 0}, "diff": {"diff_details": {"python3-filelock": {"name": {"old": "python3-filelock-3.18.0-1.oe2503.noarch.rpm", "new": "python3-filelock-3.29.4-1.oe1.noarch.rpm"}, "RPM Level": "level3", "rpm requires": {}, "rpm provides": {}, "rpm files": {"more": ["/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__/_sync.cpython-311.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/_async.py", "/usr/lib/python3.11/site-packages/filelock/__pycache__/_read_write.cpython-311.opt-1.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__/__init__.cpython-311.pyc", "/usr/lib/python3.11/site-packages/filelock/_async_read_write.py", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__/__init__.cpython-311.opt-1.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/_sync.py", "/usr/lib/python3.11/site-packages/filelock/_read_write.py", "/usr/lib/python3.11/site-packages/filelock/__pycache__/_async_read_write.cpython-311.opt-1.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__", "/usr/lib/python3.11/site-packages/filelock/_soft_rw", "/usr/lib/python3.11/site-packages/filelock/__pycache__/_read_write.cpython-311.pyc", "/usr/lib/python3.11/site-packages/filelock/__pycache__/_async_read_write.cpython-311.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__/_sync.cpython-311.opt-1.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__init__.py", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__/_async.cpython-311.pyc", "/usr/lib/python3.11/site-packages/filelock/_soft_rw/__pycache__/_async.cpython-311.opt-1.pyc"]}}}, "diff_num": 1}, "less": {"less_details": {}, "less_num": 0}, "more": {"more_details": {}, "more_num": 0}}, "pr_link": "https://gitcode.com/src-openeuler/python-filelock/pull/51", "pr_changelog": "* Mon Jun 15 2026 YangengLiu <dev01202@linx-info.com> - 3.29.4-1\n- update version to 3.29.4\n  * keep the read/write heartbeat alive on a transient touch error.\n  * verify inode in break_lock_file before unlinking a stale lock.\n  * validate pid range in _parse_lock_holder.\n  * fix(soft): harden stale-lock breaking and self-heal malformed locks.\n  * docs: clarify per-thread scope of FileLock configuration.\n  * fix(soft): refuse to follow symlinks when reading the lock file.\n  * feat(soft): enable stale lock detection on Windows.\n  * fix(async): use single-thread executor for lock consistency.\n  * open marker reads non-blocking to refuse attacker-placed fifo.\n"}