From a0fc8d247ed49bddf4a71902a43b8a87eb4724a8c67fdb14f0fa255b5d43619b Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Wed, 11 Jun 2025 06:18:37 +0000 Subject: [PATCH] - Switch to pyproject macros. - Explicitly list files and directories in %files. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyfuse3?expand=0&rev=28 --- .gitattributes | 23 +++++++ .gitignore | 1 + pyfuse3-3.3.0.tar.gz | 3 + pyfuse3-3.4.0.tar.gz | 3 + python-pyfuse3.changes | 133 +++++++++++++++++++++++++++++++++++++++++ python-pyfuse3.spec | 75 +++++++++++++++++++++++ 6 files changed, 238 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 pyfuse3-3.3.0.tar.gz create mode 100644 pyfuse3-3.4.0.tar.gz create mode 100644 python-pyfuse3.changes create mode 100644 python-pyfuse3.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/pyfuse3-3.3.0.tar.gz b/pyfuse3-3.3.0.tar.gz new file mode 100644 index 0000000..3d6b093 --- /dev/null +++ b/pyfuse3-3.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b31fe412479f9620da2067dd739ed23f4cc37364224891938dedf7766e573bd +size 867765 diff --git a/pyfuse3-3.4.0.tar.gz b/pyfuse3-3.4.0.tar.gz new file mode 100644 index 0000000..d243448 --- /dev/null +++ b/pyfuse3-3.4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:793493f4d5e2b3bc10e13b3421d426a6e2e3365264c24376a50b8cbc69762d39 +size 962992 diff --git a/python-pyfuse3.changes b/python-pyfuse3.changes new file mode 100644 index 0000000..41430d3 --- /dev/null +++ b/python-pyfuse3.changes @@ -0,0 +1,133 @@ +------------------------------------------------------------------- +Wed Jun 11 05:53:36 UTC 2025 - Steve Kowalik + +- Switch to pyproject macros. +- Explicitly list files and directories in %files. + +------------------------------------------------------------------- +Sat Aug 31 11:59:25 UTC 2024 - Dirk Müller + +- update to 3.4.0: + * Cythonized with latest Cython 3.0.11 to support Python 3.13. + * CI: also test python 3.13, run mypy. + * Move _pyfuse3 to pyfuse3._pyfuse3 and add a compatibility + wrapper for the old name. + * Move pyfuse3_asyncio to pyfuse3.asyncio and add a + compatibility wrapper for the old name. + * Add bytes subclass XAttrNameT as the type of extended + attribute names. + * Various fixes to type annotations. + * Add py.typed marker to enable external use of type + annotations. + +------------------------------------------------------------------- +Sun Aug 13 21:20:17 UTC 2023 - Dirk Müller + +- update to 3.3.0: + * Cythonized with latest Cython 3.0.0. + * Drop Python 3.6 and 3.7 support and testing, #71. + * CI: also test python 3.12. test on cython 0.29 and cython + 3.0. + * Tell Cython that callbacks may raise exceptions, #80. + * Fix lookup in examples/hello.py, similar to #16. + * Misc. CI, testing, build and sphinx related fixes. + +------------------------------------------------------------------- +Thu Jun 1 08:45:12 UTC 2023 - Dirk Müller + +- update to 3.2.3: + * cythonize with latest Cython 0.29.34 (brings Python 3.12 + support) + * add a minimal pyproject.toml, require setuptools + * tests: fix integer overflow on 32-bit arches, fixes #47 + * test: Use shutil.which() instead of external which(1) program + * setup.py: catch more generic OSError when searching Cython, + fixes #63 + * setup.py: require Cython >= 0.29 + * fix basedir computation in setup.py (fix pip install -e .) + * use sphinx < 6.0 due to compatibility issues with more recent + versions + +------------------------------------------------------------------- +Sat Jan 7 23:26:39 UTC 2023 - Dirk Müller + +- update to 3.2.2: + * remove support for python 3.5 (broken, out of support by python devs) + * cythonize with latest Cython 0.29.x (brings Python 3.11 support) + * use github actions for CI, remove travis-ci + * update README: minimal maintenance, not developed + * update setup.py with tested python versions + * examples/tmpfs.py: work around strange kernel behaviour (calling SETATTR + after + UNLINK of a (not open) file): respond with ENOENT instead of crashing. + * Add type annotations + * Passing a XATTR_CREATE or XATTR_REPLACE to setxattr() is now working + correctly. +- drop 0001-timestamp-rounding-tests-avoid-y2038-issue.patch (upstream) + +------------------------------------------------------------------- +Mon May 17 11:22:24 UTC 2021 - Antonio Larrosa + +- Add patch from upstream to fix build in i586 where a test fails + due to the y2038 issue: + * 0001-timestamp-rounding-tests-avoid-y2038-issue.patch + +------------------------------------------------------------------- +Sun May 16 08:03:01 UTC 2021 - ecsos + +- Update to 3.2.0 + - Fix long-standing rounding error in file date handling when the + nanosecond part of file dates were > 999999500. + - There is a new pyfuse3.terminate() function to gracefully end + the main loop. +- Changes from 3.1.1 + - No source changes. Regenerated Cython files with Cython 0.29.21 + for Python 3.9 compatibility. +- Changes from 3.1.0 + - Made compatible with newest Trio module. +- Drop fix_catch_log_handler.patch because now in upstream. +- Change source url to pythonhosted. + +------------------------------------------------------------------- +Mon Mar 15 18:11:55 UTC 2021 - Matej Cepl + +- Add fix_catch_log_handler.patch to make tests compatible with + pytest >= 6.0.0, which removed never documented attribute + .catch_log_handler of log item (gh#libfuse/pyfuse3#27). + +------------------------------------------------------------------- +Fri Aug 7 15:46:22 UTC 2020 - Marketa Calabkova + +- Update to 3.0.0 + * Changed create handler to return a FileInfo struct to allow for + modification of certain kernel file attributes, e.g. direct_io. + +------------------------------------------------------------------- +Thu Oct 10 08:27:37 UTC 2019 - Tomáš Chvátal + +- Update to 2.0.0: + * Changed open handler to return the new FileInfo struct to allow + for modification of certain kernel file attributes, e.g. direct_io. + +------------------------------------------------------------------- +Tue Jul 23 08:46:49 UTC 2019 - Tomáš Chvátal + +- Update to 1.3.1: + * Fixed a bug in the :file:`hello_asyncio.py` example. + +------------------------------------------------------------------- +Mon Jun 17 11:48:24 UTC 2019 - Tomáš Chvátal + +- Update to 1.3: + * Fixed a bug in the tmpfs.py and passthroughfs.py example file systems + +------------------------------------------------------------------- +Wed May 15 16:25:01 UTC 2019 - Tomáš Chvátal + +- Fix source URL + +------------------------------------------------------------------- +Sat May 11 19:39:00 UTC 2019 - Torsten Gruner + +- Initial release version 1.2 + diff --git a/python-pyfuse3.spec b/python-pyfuse3.spec new file mode 100644 index 0000000..d954305 --- /dev/null +++ b/python-pyfuse3.spec @@ -0,0 +1,75 @@ +# +# spec file for package python-pyfuse3 +# +# 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/ +# + + +%define pname pyfuse3 +%{?sle15_python_module_pythons} +Name: python-%{pname} +Version: 3.4.0 +Release: 0 +Summary: Python Bindings for the low-level FUSE3 API +License: LGPL-2.1-or-later +URL: https://github.com/libfuse/pyfuse3 +Source: https://files.pythonhosted.org/packages/source/p/%{pname}/%{pname}-%{version}.tar.gz +BuildRequires: %{python_module Cython >= 3.0.0} +BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module pytest >= 3.4.0} +# upstream use: pytest-trio >= 0.15 +BuildRequires: %{python_module pytest-trio} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module trio} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: fuse3-devel >= 3.3.0 +BuildRequires: libattr-devel +BuildRequires: python-rpm-macros +Requires: python-trio +Recommends: fuse3 >= 3.3.0 +%python_subpackages + +%description +pyfuse3 is a set of Python 3 bindings for libfuse 3. It provides an asynchronous API compatible with Trio and asyncio, and enables you to easily write a full-featured Linux filesystem in Python. + +%prep +%autosetup -p1 -n %{pname}-%{version} + +%build +%python_expand $python setup.py build_cython +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} + +%check +# Note: There are some tests that are skipped because the user that +# runs rpmbuild should be able to run fusermount but there's no way +# to add it to the trusted group. +%pytest_arch + +%files %{python_files} +%doc Changes.rst README.rst +%license LICENSE +%{python_sitearch}/pyfuse3 +%{python_sitearch}/pyfuse3_asyncio.py +%{python_sitearch}/_pyfuse3.py +%{python_sitearch}/__pycache__/pyfuse3_asyncio.*.pyc +%{python_sitearch}/__pycache__/_pyfuse3.*.pyc +%{python_sitearch}/pyfuse3-%{version}.dist-info + +%changelog