Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-apsw for openSUSE:Factory 
checked in at 2024-01-21 23:08:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-apsw (Old)
 and      /work/SRC/openSUSE:Factory/.python-apsw.new.16006 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-apsw"

Sun Jan 21 23:08:38 2024 rev:22 rq:1140101 version:3.45.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-apsw/python-apsw.changes  2024-01-10 
21:53:16.194306633 +0100
+++ /work/SRC/openSUSE:Factory/.python-apsw.new.16006/python-apsw.changes       
2024-01-21 23:08:57.702829592 +0100
@@ -1,0 +2,6 @@
+Sat Jan 20 12:28:34 UTC 2024 - Dirk Müller <dmuel...@suse.com>
+
+- update to 3.45.0.0:
+  * Correctly handle NULL/None VFS filenames (:issue:`506`)
+
+-------------------------------------------------------------------

Old:
----
  apsw-3.44.2.0.tar.gz

New:
----
  apsw-3.45.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-apsw.spec ++++++
--- /var/tmp/diff_new_pack.fT7rqs/_old  2024-01-21 23:08:58.306851610 +0100
+++ /var/tmp/diff_new_pack.fT7rqs/_new  2024-01-21 23:08:58.310851756 +0100
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-apsw
-Version:        3.44.2.0
+Version:        3.45.0.0
 Release:        0
 Summary:        Another Python SQLite Wrapper
 License:        Zlib

++++++ apsw-3.44.2.0.tar.gz -> apsw-3.45.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/.github/workflows/build-pypi.yml 
new/apsw-3.45.0.0/.github/workflows/build-pypi.yml
--- old/apsw-3.44.2.0/.github/workflows/build-pypi.yml  2023-11-29 
17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/.github/workflows/build-pypi.yml  2024-01-16 
17:40:57.000000000 +0100
@@ -22,8 +22,9 @@
           CIBW_TEST_COMMAND: python -m apsw.tests -v
           APSW_HEAVY_DURATION: 2
 
-      - uses: actions/upload-artifact@v3
+      - uses: actions/upload-artifact@v4
         with:
+          name: dist-${{ matrix.os }}
           path: ./wheelhouse/*.whl
 
 
@@ -51,8 +52,9 @@
             CIBW_TEST_COMMAND: python -m apsw.tests -v
             APSW_HEAVY_DURATION: 2
 
-        - uses: actions/upload-artifact@v3
+        - uses: actions/upload-artifact@v4
           with:
+            name: dist-qemu-${{ matrix.arch }}
             path: ./wheelhouse/*.whl
 
 
@@ -65,8 +67,9 @@
     - name: Create source dist
       run: python setup.py sdist --for-pypi
 
-    - uses: actions/upload-artifact@v3
+    - uses: actions/upload-artifact@v4
       with:
+        name: dist-source
         path: ./dist/*
 
   pypi_publish:
@@ -77,9 +80,10 @@
 
     steps:
     - name: Stage wheels
-      uses: actions/download-artifact@v3
+      uses: actions/download-artifact@v4
       with:
-        name: artifact
+        pattern: dist-*
+        merge-multiple: true
         path: dist
 
     - name: Publish package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/.github/workflows/build-testpypi.yml 
new/apsw-3.45.0.0/.github/workflows/build-testpypi.yml
--- old/apsw-3.44.2.0/.github/workflows/build-testpypi.yml      2023-11-29 
17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/.github/workflows/build-testpypi.yml      2024-01-16 
17:40:57.000000000 +0100
@@ -22,8 +22,9 @@
           CIBW_TEST_COMMAND: python -m apsw.tests -v
           APSW_HEAVY_DURATION: 2
 
-      - uses: actions/upload-artifact@v3
+      - uses: actions/upload-artifact@v4
         with:
+          name: dist-${{ matrix.os }}
           path: ./wheelhouse/*.whl
 
 
@@ -51,8 +52,9 @@
             CIBW_TEST_COMMAND: python -m apsw.tests -v
             APSW_HEAVY_DURATION: 2
 
-        - uses: actions/upload-artifact@v3
+        - uses: actions/upload-artifact@v4
           with:
+            name: dist-qemu-${{ matrix.arch }}
             path: ./wheelhouse/*.whl
 
 
@@ -65,8 +67,9 @@
     - name: Create source dist
       run: python setup.py sdist --for-pypi
 
-    - uses: actions/upload-artifact@v3
+    - uses: actions/upload-artifact@v4
       with:
+        name: dist-source
         path: ./dist/*
 
   pypi_publish:
@@ -77,9 +80,10 @@
 
     steps:
     - name: Stage wheels
-      uses: actions/download-artifact@v3
+      uses: actions/download-artifact@v4
       with:
-        name: artifact
+        pattern: dist-*
+        merge-multiple: true
         path: dist
 
     - name: Publish package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/LICENSE new/apsw-3.45.0.0/LICENSE
--- old/apsw-3.44.2.0/LICENSE   2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/LICENSE   2024-01-16 17:40:57.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2023 Roger Binns <rog...@rogerbinns.com>
+Copyright (c) 2004-2024 Roger Binns <rog...@rogerbinns.com>
 
 All code and documentation is provided under this license:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/Makefile new/apsw-3.45.0.0/Makefile
--- old/apsw-3.44.2.0/Makefile  2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/Makefile  2024-01-16 17:40:57.000000000 +0100
@@ -1,8 +1,8 @@
 
-SQLITEVERSION=3.44.2
+SQLITEVERSION=3.45.0
 APSWSUFFIX=.0
 
-RELEASEDATE="30 November 2023"
+RELEASEDATE="17 January 2024"
 
 VERSION=$(SQLITEVERSION)$(APSWSUFFIX)
 VERDIR=apsw-$(VERSION)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/apsw/__init__.pyi 
new/apsw-3.45.0.0/apsw/__init__.pyi
--- old/apsw-3.44.2.0/apsw/__init__.pyi 2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/apsw/__init__.pyi 2024-01-16 17:40:57.000000000 +0100
@@ -2290,7 +2290,7 @@
         `PyErr_Display`."""
         ...
 
-    def __init__(self, vfs: str, filename: str | URIFilename, flags: 
list[int]):
+    def __init__(self, vfs: str, filename: str | URIFilename | None, flags: 
list[int]):
         """:param vfs: The vfs you want to inherit behaviour from.  You can
            use an empty string ``""`` to inherit from the default vfs.
         :param name: The name of the file being opened.  May be an instance of 
:class:`URIFilename`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/apsw/tests.py 
new/apsw-3.45.0.0/apsw/tests.py
--- old/apsw-3.44.2.0/apsw/tests.py     2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/apsw/tests.py     2024-01-16 17:40:57.000000000 +0100
@@ -5016,6 +5016,39 @@
             self.assertRaisesRegex(RuntimeError, "__init__ has already been 
called, and cannot be called again",
                                    o.__init__, "issue 488")
 
+    def testIssue506(self):
+        "VFS file with None/NULL filename"
+        vfs_saw_none = False
+        vfsfile_saw_none = False
+        class TVFS(apsw.VFS):
+            vfsname = "test"
+            def __init__(self):
+                super().__init__(self.vfsname, "")
+
+            def xOpen(self, name, flags):
+                nonlocal vfs_saw_none
+                if name is None:
+                    vfs_saw_none = True
+                return TVFSFile(name, flags)
+
+        class TVFSFile(apsw.VFSFile):
+            def __init__(self, filename, flags):
+                nonlocal vfsfile_saw_none
+                if filename is None:
+                    vfsfile_saw_none = True
+                super().__init__("", filename, flags)
+
+        tvfs = TVFS()
+        con = apsw.Connection(self.db.filename, vfs=tvfs.vfsname)
+        # put enough stuff in temp table that it spills to disk
+        con.pragma("cache_size", 10)
+        con.execute("create temp table testissue506(x UNIQUE,y UNIQUE, PRIMARY 
KEY(x,y))")
+        con.executemany("insert into testissue506 values(?,?)", (("a"*i, 
"b"*i) for i in range(1000)))
+
+        # verify we saw the Nones
+        self.assertTrue(vfs_saw_none)
+        self.assertTrue(vfsfile_saw_none)
+
     def testCursorGet(self):
         "Cursor.get"
         for query, expected in (("select 3,4", (3, 4)), ("select 3; select 4", 
[3, 4]), ("select 3,4; select 4,5", [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/checksums new/apsw-3.45.0.0/checksums
--- old/apsw-3.44.2.0/checksums 2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/checksums 2024-01-16 17:40:57.000000000 +0100
@@ -8,6 +8,8 @@
 # more peace of mind because the SQLite releases are not signed in any
 # way.
 
+https://sqlite.org/2024/sqlite-autoconf-3450000.tar.gz 3231697 
72887d57a1d8f89f52be38ef84a6353ce8c3ed55ada7864eb944abd9a495e436 
9fc2a78088875ae7c112957d58ccc52b1a0a4afa34ac669290be42f352b1aa76
+
 https://sqlite.org/2023/sqlite-autoconf-3440200.tar.gz 3204841 
1c6719a148bc41cf0f2bbbe3926d7ce3f5ca09d878f1246fcc20767b175bb407 
6c427f0547e2f7babe636b748dd5d5a1f2f31601adadef7e2805e7d1f7171861
 https://sqlite.org/2023/sqlite-autoconf-3440100.tar.gz 3204737 
63c3181633844adb5e36187f75b8f31a51cd32487992a26b89bf26b22ecdcf48 
c405017524ddad7957ede0fc471986a7125b977adbcd7c5b785f2108dbee992d
 https://sqlite.org/2023/sqlite-autoconf-3440000.tar.gz 3198005 
b9cd386e7cd22af6e0d2a0f06d0404951e1bef109e42ea06cc0450e10cd15550 
6869046465eae886f1a9f2c8debeeba44d34328693aa77a5bd4a3cfed93d6556
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/doc/changes.rst 
new/apsw-3.45.0.0/doc/changes.rst
--- old/apsw-3.44.2.0/doc/changes.rst   2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/doc/changes.rst   2024-01-16 17:40:57.000000000 +0100
@@ -10,6 +10,11 @@
 APSW changes by version
 -----------------------
 
+3.45.0.0
+========
+
+Correctly handle NULL/None VFS filenames (:issue:`506`)
+
 3.44.2.0
 ========
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/doc/conf.py 
new/apsw-3.45.0.0/doc/conf.py
--- old/apsw-3.44.2.0/doc/conf.py       2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/doc/conf.py       2024-01-16 17:40:57.000000000 +0100
@@ -47,7 +47,7 @@
 # General substitutions.
 project = 'APSW'
 author = "Roger Binns <rog...@rogerbinns.com>"
-copyright = f'2004-2023, { author }'
+copyright = f'2004-2024, { author }'
 html_logo = "apswlogo.png"
 
 # The default replacements for |version| and |release|, also used in various
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/doc/install.rst 
new/apsw-3.45.0.0/doc/install.rst
--- old/apsw-3.44.2.0/doc/install.rst   2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/doc/install.rst   2024-01-16 17:40:57.000000000 +0100
@@ -74,12 +74,12 @@
 
 .. downloads-begin
 
-* `apsw-3.44.2.0.zip
-  
<https://github.com/rogerbinns/apsw/releases/download/3.44.2.0/apsw-3.44.2.0.zip>`__
+* `apsw-3.45.0.0.zip
+  
<https://github.com/rogerbinns/apsw/releases/download/3.45.0.0/apsw-3.45.0.0.zip>`__
   (Source, includes this HTML Help)
 
-* `apsw-3.44.2.0-sigs.zip 
-  
<https://github.com/rogerbinns/apsw/releases/download/3.44.2.0/apsw-3.44.2.0-sigs.zip>`__
+* `apsw-3.45.0.0-sigs.zip 
+  
<https://github.com/rogerbinns/apsw/releases/download/3.45.0.0/apsw-3.45.0.0-sigs.zip>`__
   GPG signatures for all files
 
 .. downloads-end
@@ -104,7 +104,7 @@
 
   .. code-block:: console
 
-      $ gpg --verify apsw-3.44.2.0.zip.asc
+      $ gpg --verify apsw-3.45.0.0.zip.asc
       gpg: Signature made ... date ... using DSA key ID 0DFBD904
       gpg: Good signature from "Roger Binns <rog...@rogerbinns.com>"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/setup.py new/apsw-3.45.0.0/setup.py
--- old/apsw-3.44.2.0/setup.py  2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/setup.py  2024-01-16 17:40:57.000000000 +0100
@@ -116,7 +116,9 @@
     ver = re.search("3[0-9]{6}", url)
     if ver:
         ver = int(ver.group(0))
-        if ver >= 3410000:
+        if ver >= 3450000:
+            year = "2024"
+        elif ver >= 3410000:
             year = "2023"
         elif ver >= 3370200:
             year = "2022"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/src/apsw.docstrings 
new/apsw-3.45.0.0/src/apsw.docstrings
--- old/apsw-3.44.2.0/src/apsw.docstrings       2023-11-29 17:45:17.000000000 
+0100
+++ new/apsw-3.45.0.0/src/apsw.docstrings       2024-01-16 17:40:57.000000000 
+0100
@@ -2965,7 +2965,7 @@
 ":func:`sys.unraisablehook` and :func:`sys.excepthook`, falling back to\n" \
 "`PyErr_Display`.\n" 
 
-#define  VFSFile_init_DOC 
"__init__($self,vfs,filename,flags)\n--\n\nVFSFile.__init__(vfs: str, filename: 
str | URIFilename, flags: list[int,int])\n\n" \
+#define  VFSFile_init_DOC 
"__init__($self,vfs,filename,flags)\n--\n\nVFSFile.__init__(vfs: str, filename: 
str | URIFilename | None, flags: list[int,int])\n\n" \
 ":param vfs: The vfs you want to inherit behaviour from.  You can\n" \
 "   use an empty string ``\"\"`` to inherit from the default vfs.\n" \
 ":param name: The name of the file being opened.  May be an instance of 
:class:`URIFilename`.\n" \
@@ -2984,7 +2984,7 @@
 "  :meth:`VFS.xOpen`\n" 
 
 #define VFSFile_init_KWNAMES "vfs", "filename", "flags"
-#define VFSFile_init_USAGE "VFSFile.__init__(vfs: str, filename: str | 
URIFilename, flags: list[int,int])"
+#define VFSFile_init_USAGE "VFSFile.__init__(vfs: str, filename: str | 
URIFilename | None, flags: list[int,int])"
 
 #define VFSFile_init_CHECK do { \
   assert(__builtin_types_compatible_p(typeof(vfs), const char *)); \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/src/apswversion.h 
new/apsw-3.45.0.0/src/apswversion.h
--- old/apsw-3.44.2.0/src/apswversion.h 2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/src/apswversion.h 2024-01-16 17:40:57.000000000 +0100
@@ -1 +1 @@
-#define APSW_VERSION "3.44.2.0"
+#define APSW_VERSION "3.45.0.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/src/vfs.c new/apsw-3.45.0.0/src/vfs.c
--- old/apsw-3.44.2.0/src/vfs.c 2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/src/vfs.c 2024-01-16 17:40:57.000000000 +0100
@@ -640,7 +640,7 @@
   if (vargs[2] && vargs[3])
     pyresult = PyObject_VectorcallMethod(apst.xOpen, vargs + 1, 3 | 
PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
   /* issue 501 */
-  if (inflags & (SQLITE_OPEN_URI | SQLITE_OPEN_MAIN_DB))
+  if (inflags & (SQLITE_OPEN_URI | SQLITE_OPEN_MAIN_DB) && nameobject)
     ((APSWURIFilename *)nameobject)->filename = 0;
   if (!pyresult)
   {
@@ -2010,7 +2010,7 @@
   return (PyObject *)self;
 }
 
-/** .. method:: __init__(vfs: str, filename: str | URIFilename, flags: 
list[int,int])
+/** .. method:: __init__(vfs: str, filename: str | URIFilename | None, flags: 
list[int,int])
 
     :param vfs: The vfs you want to inherit behaviour from.  You can
        use an empty string ``""`` to inherit from the default vfs.
@@ -2067,6 +2067,10 @@
     if (!self->filename)
       return -1;
   }
+  else if (Py_IsNone(filename))
+  {
+    self->filename = NULL;
+  }
   else
   {
     PyErr_Format(PyExc_TypeError, "filename should be a string");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/tools/checksums.py 
new/apsw-3.45.0.0/tools/checksums.py
--- old/apsw-3.44.2.0/tools/checksums.py        2023-11-29 17:45:17.000000000 
+0100
+++ new/apsw-3.45.0.0/tools/checksums.py        2024-01-16 17:40:57.000000000 
+0100
@@ -11,6 +11,7 @@
 import setup
 
 sqlitevers = (
+    '3450000',
     '3440200',
     '3440100',
     '3440000',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apsw-3.44.2.0/tools/megatest.py 
new/apsw-3.45.0.0/tools/megatest.py
--- old/apsw-3.44.2.0/tools/megatest.py 2023-11-29 17:45:17.000000000 +0100
+++ new/apsw-3.45.0.0/tools/megatest.py 2024-01-16 17:40:57.000000000 +0100
@@ -202,15 +202,15 @@
 # Default versions we support
 PYVERS = (
     '3.13.0a2',
-    '3.12.0',
-    '3.11.6',
+    '3.12.1',
+    '3.11.7',
     '3.10.13',
     '3.9.18',
     '3.8.18',
     'system',
 )
 
-SQLITEVERS = ('3.44.0', '3.44.1', '3.44.2',)
+SQLITEVERS = ('3.44.0', '3.44.1', '3.44.2', '3.45.0')
 
 BITS = (64, 32)
 

Reply via email to