# # spec file for package python-pyfuse3 # # Copyright (c) 2024 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: 1.6 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 setuptools} BuildRequires: %{python_module trio} 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 %python_build %install %python_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} %changelog * Sat Aug 31 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 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 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 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 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 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 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 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 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 2019 Tomáš Chvátal - Update to 1.3.1: * Fixed a bug in the :file:`hello_asyncio.py` example. * Mon Jun 17 2019 Tomáš Chvátal - Update to 1.3: * Fixed a bug in the tmpfs.py and passthroughfs.py example file systems * Wed May 15 2019 Tomáš Chvátal - Fix source URL * Sat May 11 2019 Torsten Gruner - Initial release version 1.2