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:


Reply via email to