Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zipstream-ng for
openSUSE:Factory checked in at 2026-08-22 21:36:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zipstream-ng (Old)
and /work/SRC/openSUSE:Factory/.python-zipstream-ng.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zipstream-ng"
Sat Aug 22 21:36:42 2026 rev:6 rq:1373084 version:1.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zipstream-ng/python-zipstream-ng.changes
2026-05-27 16:16:55.300815199 +0200
+++
/work/SRC/openSUSE:Factory/.python-zipstream-ng.new.1258/python-zipstream-ng.changes
2026-08-22 21:38:49.356970187 +0200
@@ -1,0 +2,6 @@
+Sat Aug 22 14:10:16 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 1.9.3:
+ * Fix length calculation when adding extended ascii filenames
+
+-------------------------------------------------------------------
Old:
----
zipstream_ng-1.9.2.tar.gz
New:
----
zipstream_ng-1.9.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zipstream-ng.spec ++++++
--- /var/tmp/diff_new_pack.Z18KcJ/_old 2026-08-22 21:38:50.138998197 +0200
+++ /var/tmp/diff_new_pack.Z18KcJ/_new 2026-08-22 21:38:50.142998340 +0200
@@ -17,7 +17,7 @@
Name: python-zipstream-ng
-Version: 1.9.2
+Version: 1.9.3
Release: 0
Summary: Modern and easy to use streamable zip file generator
License: LGPL-3.0-only
++++++ zipstream_ng-1.9.2.tar.gz -> zipstream_ng-1.9.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zipstream_ng-1.9.2/PKG-INFO
new/zipstream_ng-1.9.3/PKG-INFO
--- old/zipstream_ng-1.9.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/zipstream_ng-1.9.3/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.4
+Metadata-Version: 2.5
Name: zipstream-ng
-Version: 1.9.2
+Version: 1.9.3
Summary: A modern and easy to use streamable zip file generator
Project-URL: Repository, https://github.com/pR0Ps/zipstream-ng
Project-URL: Changelog,
https://github.com/pR0Ps/zipstream-ng/blob/master/CHANGELOG.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zipstream_ng-1.9.2/pyproject.toml
new/zipstream_ng-1.9.3/pyproject.toml
--- old/zipstream_ng-1.9.2/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
+++ new/zipstream_ng-1.9.3/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
@@ -1,6 +1,6 @@
[project]
name = "zipstream-ng"
-version = "1.9.2"
+version = "1.9.3"
description = "A modern and easy to use streamable zip file generator"
urls.Repository = "https://github.com/pR0Ps/zipstream-ng"
urls.Changelog =
"https://github.com/pR0Ps/zipstream-ng/blob/master/CHANGELOG.md"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zipstream_ng-1.9.2/src/zipstream/ng.py
new/zipstream_ng-1.9.3/src/zipstream/ng.py
--- old/zipstream_ng-1.9.2/src/zipstream/ng.py 2020-02-02 01:00:00.000000000
+0100
+++ new/zipstream_ng-1.9.3/src/zipstream/ng.py 2020-02-02 01:00:00.000000000
+0100
@@ -42,6 +42,7 @@
_FLAG_LZMA_EOS_MARKER = 1 << 1
_FLAG_DATA_DESCRIPTOR = 1 << 3
_FLAG_IS_DIRECTORY = 1 << 4
+_FLAG_UTF8_FILENAME = 1 << 11
# Size of chunks to read out of files
# Note that when compressing data the compressor will operate on bigger chunks
@@ -154,6 +155,18 @@
super().__init__(filename, date_time)
+ # Overwrite ZipInfo._encodeFilenameFlags to only use ascii/utf-8.
+ # As of python/cpython#150091 Python will attempt to encode the filename
+ # using cp437 instead of ascii to support modifying zips that used cp437
+ # (valid according to the spec). However, since we're creating a new zip,
we
+ # restrict entries without the utf-8 flag to ascii instead since it's less
+ # likely to be misinterpreted by unarchivers.
+ def _encodeFilenameFlags(self):
+ try:
+ return self.filename.encode("ascii"), self.flag_bits &
~_FLAG_UTF8_FILENAME
+ except UnicodeEncodeError:
+ return self.filename.encode("utf-8"), self.flag_bits |
_FLAG_UTF8_FILENAME
+
def DataDescriptor(self, zip64):
"""Return the data descriptor for the file entry"""
# Using a data descriptor is an alternate way to encode the file size
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zipstream_ng-1.9.2/tests/test_zipstream.py
new/zipstream_ng-1.9.3/tests/test_zipstream.py
--- old/zipstream_ng-1.9.2/tests/test_zipstream.py 2020-02-02
01:00:00.000000000 +0100
+++ new/zipstream_ng-1.9.3/tests/test_zipstream.py 2020-02-02
01:00:00.000000000 +0100
@@ -406,18 +406,21 @@
zs.add(None, "☆/")
zs.add(b"some data", "Здравствуйте")
zs.add(b"", "你好")
+ zs.add(b"", "ääääääääää") # valid cp437 but invalid ascii
data = bytes(zs)
assert len(data) == len(zs)
zinfos = _get_zip(data).infolist()
- assert len(zinfos) == 3
+ assert len(zinfos) == 4
assert zinfos[0].filename == "☆/"
assert zinfos[0].is_dir()
assert zinfos[1].filename == "Здравствуйте"
assert not zinfos[1].is_dir()
assert zinfos[2].filename == "你好"
assert not zinfos[2].is_dir()
+ assert zinfos[3].filename == "ääääääääää"
+ assert not zinfos[3].is_dir()
def test_adding_windows_paths(monkeypatch):