Hello community, here is the log from the commit of package python-pyfuse3 for openSUSE:Factory checked in at 2020-08-14 13:10:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pyfuse3 (Old) and /work/SRC/openSUSE:Factory/.python-pyfuse3.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyfuse3" Fri Aug 14 13:10:42 2020 rev:5 rq:824896 version:3.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pyfuse3/python-pyfuse3.changes 2019-10-10 11:53:34.835299686 +0200 +++ /work/SRC/openSUSE:Factory/.python-pyfuse3.new.3399/python-pyfuse3.changes 2020-08-14 13:10:56.837247186 +0200 @@ -1,0 +2,7 @@ +Fri Aug 7 15:46:22 UTC 2020 - Marketa Calabkova <[email protected]> + +- 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. + +------------------------------------------------------------------- Old: ---- pyfuse3-2.0.0.tar.gz New: ---- pyfuse3-3.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pyfuse3.spec ++++++ --- /var/tmp/diff_new_pack.mkjGCN/_old 2020-08-14 13:10:57.653247497 +0200 +++ /var/tmp/diff_new_pack.mkjGCN/_new 2020-08-14 13:10:57.661247500 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-pyfuse3 # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,22 +20,23 @@ %define skip_python2 1 %define pname pyfuse3 Name: python-%{pname} -Version: 2.0.0 +Version: 3.0.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://github.com/libfuse/pyfuse3/archive/release-%{version}.tar.gz#/%{pname}-%{version}.tar.gz BuildRequires: %{python_module Cython} -BuildRequires: %{python_module contextvars >= 2.1} BuildRequires: %{python_module devel} BuildRequires: %{python_module pytest-trio} BuildRequires: %{python_module pytest} 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 ++++++ pyfuse3-2.0.0.tar.gz -> pyfuse3-3.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/Changes.rst new/pyfuse3-release-3.0.0/Changes.rst --- old/pyfuse3-release-2.0.0/Changes.rst 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/Changes.rst 2020-05-08 20:31:11.000000000 +0200 @@ -4,6 +4,16 @@ .. currentmodule:: pyfuse3 +Release 3.0.0 (2020-05-08) +========================== + +* Changed `create` handler to return a `FileInfo` struct to allow for + modification of certain kernel file attributes, e.g. ``direct_io``. + + Note that this change breaks backwards compatibility, code that depends + on the old behavior needs to be changed. + + Release 2.0.0 ============= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/examples/passthroughfs.py new/pyfuse3-release-3.0.0/examples/passthroughfs.py --- old/pyfuse3-release-2.0.0/examples/passthroughfs.py 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/examples/passthroughfs.py 2020-05-08 20:31:11.000000000 +0200 @@ -400,7 +400,7 @@ self._inode_fd_map[attr.st_ino] = fd self._fd_inode_map[fd] = attr.st_ino self._fd_open_count[fd] = 1 - return (fd, attr) + return (pyfuse3.FileInfo(fh=fd), attr) async def read(self, fd, offset, length): os.lseek(fd, offset, os.SEEK_SET) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/examples/tmpfs.py new/pyfuse3-release-3.0.0/examples/tmpfs.py --- old/pyfuse3-release-2.0.0/examples/tmpfs.py 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/examples/tmpfs.py 2020-05-08 20:31:11.000000000 +0200 @@ -355,7 +355,7 @@ #pylint: disable=W0612 entry = await self._create(inode_parent, name, mode, ctx) self.inode_open_count[entry.st_ino] += 1 - return (entry.st_ino, entry) + return (pyfuse3.FileInfo(fh=entry.st_ino), entry) async def _create(self, inode_p, name, mode, ctx, rdev=0, target=None): if (await self.getattr(inode_p)).st_nlink == 0: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/rst/data.rst new/pyfuse3-release-3.0.0/rst/data.rst --- old/pyfuse3-release-2.0.0/rst/data.rst 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/rst/data.rst 2020-05-08 20:31:11.000000000 +0200 @@ -23,7 +23,7 @@ .. py:data:: RENAME_NOREPLACE A flag that may be passed to the `~Operations.rename` handler. When - passed, the handler must replace an existing target. + passed, the handler must not replace an existing target. .. py:data:: default_options diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/setup.py new/pyfuse3-release-3.0.0/setup.py --- old/pyfuse3-release-2.0.0/setup.py 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/setup.py 2020-05-08 20:31:11.000000000 +0200 @@ -57,7 +57,7 @@ # to work properly sys.path.insert(0, os.path.join(basedir, 'src')) -PYFUSE3_VERSION = '2.0.0' +PYFUSE3_VERSION = '3.0.0' def main(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/src/_pyfuse3.py new/pyfuse3-release-3.0.0/src/_pyfuse3.py --- old/pyfuse3-release-2.0.0/src/_pyfuse3.py 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/src/_pyfuse3.py 2020-05-08 20:31:11.000000000 +0200 @@ -551,9 +551,9 @@ *ctx* will be a `RequestContext` instance. - The method must return a tuple of the form *(fh, attr)*, where *fh* is a - file handle like the one returned by `open` and *attr* is an - `EntryAttributes` instance with the attributes of the newly created + The method must return a tuple of the form *(fi, attr)*, where *fi* is a + FileInfo instance handle like the one returned by `open` and *attr* is + an `EntryAttributes` instance with the attributes of the newly created directory entry. (Successful) execution of this handler increases the lookup count for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyfuse3-release-2.0.0/src/handlers.pxi new/pyfuse3-release-3.0.0/src/handlers.pxi --- old/pyfuse3-release-2.0.0/src/handlers.pxi 2019-09-27 20:42:36.000000000 +0200 +++ new/pyfuse3-release-3.0.0/src/handlers.pxi 2020-05-08 20:31:11.000000000 +0200 @@ -380,16 +380,16 @@ async def fuse_open_async (_Container c): cdef int ret - cdef FileInfo res + cdef FileInfo fi ctx = get_request_context(c.req) try: - res = await operations.open(c.ino, c.fi.flags, ctx) + fi = <FileInfo?> await operations.open(c.ino, c.fi.flags, ctx) except FUSEError as e: ret = fuse_reply_err(c.req, e.errno) else: - res._copy_to_fuse(&c.fi) + fi._copy_to_fuse(&c.fi) ret = fuse_reply_open(c.req, &c.fi) if ret != 0: @@ -848,6 +848,7 @@ async def fuse_create_async (_Container c, name): cdef int ret cdef EntryAttributes entry + cdef FileInfo fi ctx = get_request_context(c.req) try: @@ -855,13 +856,9 @@ except FUSEError as e: ret = fuse_reply_err(c.req, e.errno) else: - c.fi.fh = tmp[0] + fi = <FileInfo?> tmp[0] entry = <EntryAttributes?> tmp[1] - - # Cached file data does not need to be invalidated. - # http://article.gmane.org/gmane.comp.file-systems.fuse.devel/5325/ - c.fi.keep_cache = 1 - + fi._copy_to_fuse(&c.fi) ret = fuse_reply_create(c.req, &entry.fuse_param, &c.fi) if ret != 0:
