Control: tags 1130351 + patch
Control: tags 1130351 + pending

Dear maintainer,

I've prepared an NMU for python-pylibacl (versioned as 0.7.3-0.1) and 
uploaded it to DELAYED/2. Please feel free to tell me if I should
cancel it.

cu
Adrian
diffstat for python-pylibacl-0.7.2 python-pylibacl-0.7.3

 Makefile                   |    2 +-
 NEWS.md                    |   13 +++++++++++++
 PKG-INFO                   |    2 +-
 README.md                  |    2 +-
 debian/changelog           |    8 ++++++++
 doc/conf.py                |    4 ++--
 doc/news.md                |   13 +++++++++++++
 doc/readme.md              |    2 +-
 pylibacl.egg-info/PKG-INFO |    2 +-
 setup.py                   |    2 +-
 tests/test_acls.py         |   19 -------------------
 11 files changed, 42 insertions(+), 27 deletions(-)

diff -Nru python-pylibacl-0.7.2/debian/changelog python-pylibacl-0.7.3/debian/changelog
--- python-pylibacl-0.7.2/debian/changelog	2025-02-24 00:39:44.000000000 +0200
+++ python-pylibacl-0.7.3/debian/changelog	2026-07-05 13:01:39.000000000 +0300
@@ -1,3 +1,11 @@
+python-pylibacl (0.7.3-0.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * New upstream release.
+    - Fixes FTBFS with Python 3.14 as default. (Closes: #1130351)
+
+ -- Adrian Bunk <[email protected]>  Sun, 05 Jul 2026 13:01:39 +0300
+
 python-pylibacl (0.7.2-1) unstable; urgency=medium
 
   * New upstream version(s), mainly without user-visible changes, but
diff -Nru python-pylibacl-0.7.2/doc/conf.py python-pylibacl-0.7.3/doc/conf.py
--- python-pylibacl-0.7.2/doc/conf.py	2025-02-23 23:58:39.000000000 +0200
+++ python-pylibacl-0.7.3/doc/conf.py	2025-07-12 21:25:14.000000000 +0300
@@ -48,9 +48,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '0.7.2'
+version = '0.7.3'
 # The full version, including alpha/beta/rc tags.
-release = '0.7.2'
+release = '0.7.3'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff -Nru python-pylibacl-0.7.2/doc/news.md python-pylibacl-0.7.3/doc/news.md
--- python-pylibacl-0.7.2/doc/news.md	2025-02-23 23:57:31.000000000 +0200
+++ python-pylibacl-0.7.3/doc/news.md	2025-07-12 21:25:14.000000000 +0300
@@ -1,5 +1,18 @@
 # News
 
+## Version 0.7.3
+
+*released Sun, 13 Jul 2025*
+
+This is a test-only changes release, removing some very old testing for
+reference counts, introduced in 2012, but which stopped working with Python
+3.14 as it changed reference counting by introducing optimizations in some
+cases. No need to upgrade unless you want to make sure the test suite passes on
+3.14, and no real failures are hidden by the broken reference testing.
+
+Additionally, the release enables CI on Python 3.14, thanks Marcin
+Zajączkowski!
+
 ## Version 0.7.2
 
 *released Sun, 23 Feb 2025*
diff -Nru python-pylibacl-0.7.2/doc/readme.md python-pylibacl-0.7.3/doc/readme.md
--- python-pylibacl-0.7.2/doc/readme.md	2025-02-23 23:58:29.000000000 +0200
+++ python-pylibacl-0.7.3/doc/readme.md	2025-07-12 21:25:14.000000000 +0300
@@ -5,7 +5,7 @@
 combinations.
 
 Downloads: go to <https://pylibacl.k1024.org/downloads>. Latest
-version is 0.7.2. The source repository is either at
+version is 0.7.3. The source repository is either at
 <https://git.k1024.org/pylibacl.git> or at
 <https://github.com/iustin/pylibacl>.
 
diff -Nru python-pylibacl-0.7.2/Makefile python-pylibacl-0.7.3/Makefile
--- python-pylibacl-0.7.2/Makefile	2025-02-23 23:58:20.000000000 +0200
+++ python-pylibacl-0.7.3/Makefile	2025-07-12 21:25:14.000000000 +0300
@@ -5,7 +5,7 @@
 DOCHTML       = $(DOCDIR)/html
 DOCTREES      = $(DOCDIR)/doctrees
 ALLSPHINXOPTS = -d $(DOCTREES) $(SPHINXOPTS) $(DOCDIR)
-VERSION       = 0.7.2
+VERSION       = 0.7.3
 FULLVER       = pylibacl-$(VERSION)
 DISTFILE      = $(FULLVER).tar.gz
 
diff -Nru python-pylibacl-0.7.2/NEWS.md python-pylibacl-0.7.3/NEWS.md
--- python-pylibacl-0.7.2/NEWS.md	2025-02-23 23:57:31.000000000 +0200
+++ python-pylibacl-0.7.3/NEWS.md	2025-07-12 21:25:14.000000000 +0300
@@ -1,5 +1,18 @@
 # News
 
+## Version 0.7.3
+
+*released Sun, 13 Jul 2025*
+
+This is a test-only changes release, removing some very old testing for
+reference counts, introduced in 2012, but which stopped working with Python
+3.14 as it changed reference counting by introducing optimizations in some
+cases. No need to upgrade unless you want to make sure the test suite passes on
+3.14, and no real failures are hidden by the broken reference testing.
+
+Additionally, the release enables CI on Python 3.14, thanks Marcin
+Zajączkowski!
+
 ## Version 0.7.2
 
 *released Sun, 23 Feb 2025*
diff -Nru python-pylibacl-0.7.2/PKG-INFO python-pylibacl-0.7.3/PKG-INFO
--- python-pylibacl-0.7.2/PKG-INFO	2025-02-23 23:59:51.964322000 +0200
+++ python-pylibacl-0.7.3/PKG-INFO	2025-07-12 21:25:47.820422000 +0300
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pylibacl
-Version: 0.7.2
+Version: 0.7.3
 Summary: POSIX.1e ACLs for python
 Home-page: https://pylibacl.k1024.org/
 Author: Iustin Pop
diff -Nru python-pylibacl-0.7.2/pylibacl.egg-info/PKG-INFO python-pylibacl-0.7.3/pylibacl.egg-info/PKG-INFO
--- python-pylibacl-0.7.2/pylibacl.egg-info/PKG-INFO	2025-02-23 23:59:51.000000000 +0200
+++ python-pylibacl-0.7.3/pylibacl.egg-info/PKG-INFO	2025-07-12 21:25:47.000000000 +0300
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pylibacl
-Version: 0.7.2
+Version: 0.7.3
 Summary: POSIX.1e ACLs for python
 Home-page: https://pylibacl.k1024.org/
 Author: Iustin Pop
diff -Nru python-pylibacl-0.7.2/README.md python-pylibacl-0.7.3/README.md
--- python-pylibacl-0.7.2/README.md	2025-02-23 23:58:29.000000000 +0200
+++ python-pylibacl-0.7.3/README.md	2025-07-12 21:25:14.000000000 +0300
@@ -5,7 +5,7 @@
 combinations.
 
 Downloads: go to <https://pylibacl.k1024.org/downloads>. Latest
-version is 0.7.2. The source repository is either at
+version is 0.7.3. The source repository is either at
 <https://git.k1024.org/pylibacl.git> or at
 <https://github.com/iustin/pylibacl>.
 
diff -Nru python-pylibacl-0.7.2/setup.py python-pylibacl-0.7.3/setup.py
--- python-pylibacl-0.7.2/setup.py	2025-02-23 23:58:47.000000000 +0200
+++ python-pylibacl-0.7.3/setup.py	2025-07-12 21:25:14.000000000 +0300
@@ -31,7 +31,7 @@
 implements POSIX ACLs manipulation. It is a wrapper on top
 of the systems's acl C library - see acl(5)."""
 
-version = "0.7.2"
+version = "0.7.3"
 
 setup(name="pylibacl",
       version=version,
diff -Nru python-pylibacl-0.7.2/tests/test_acls.py python-pylibacl-0.7.3/tests/test_acls.py
--- python-pylibacl-0.7.2/tests/test_acls.py	2023-04-24 23:04:38.000000000 +0300
+++ python-pylibacl-0.7.3/tests/test_acls.py	2025-07-12 21:25:14.000000000 +0300
@@ -623,23 +623,10 @@
 class TestModification:
     """ACL modification tests"""
 
-    def checkRef(self, obj):
-        """Checks if a given obj has a 'sane' refcount"""
-        if platform.python_implementation() == "PyPy":
-            return
-        ref_cnt = sys.getrefcount(obj)
-        # FIXME: hardcoded value for the max ref count... but I've
-        # seen it overflow on bad reference counting, so it's better
-        # to be safe
-        if ref_cnt < 2 or ref_cnt > 1024:
-            pytest.fail("Wrong reference count, expected 2-1024 and got %d" %
-                        ref_cnt)
-
     def test_str(self):
         """Test str() of an ACL."""
         acl = posix1e.ACL(text=BASIC_ACL_TEXT)
         str_acl = str(acl)
-        self.checkRef(str_acl)
 
     def test_append(self):
         """Test append a new Entry to the ACL"""
@@ -648,7 +635,6 @@
         e.tag_type = posix1e.ACL_OTHER
         ignore_ioerror(errno.EINVAL, acl.calc_mask)
         str_format = str(e)
-        self.checkRef(str_format)
         e2 = acl.append(e)
         ignore_ioerror(errno.EINVAL, acl.calc_mask)
         assert not acl.valid()
@@ -675,7 +661,6 @@
         e = posix1e.Entry(acl)
         ignore_ioerror(errno.EINVAL, acl.calc_mask)
         str_format = str(e)
-        self.checkRef(str_format)
 
     def test_entry_failed_creation(self):
         # Checks for partial initialisation and deletion on error
@@ -890,14 +875,12 @@
         ps = e.permset
         ps.clear()
         str_ps = str(ps)
-        self.checkRef(str_ps)
         assert not ps.test(perm), ("Empty permission set should not"
                                    " have permission '%s'" % txt)
         ps.add(perm)
         assert ps.test(perm), ("Permission '%s' should exist"
                                " after addition" % txt)
         str_ps = str(ps)
-        self.checkRef(str_ps)
         ps.delete(perm)
         assert not ps.test(perm), ("Permission '%s' should not exist"
                                    " after deletion" % txt)
@@ -923,7 +906,6 @@
         def setter(value):
             return accessor.__set__(ps, value) # type: ignore
         str_ps = str(ps)
-        self.checkRef(str_ps)
         assert not getter(), ("Empty permission set should not"
                               " have permission '%s'" % txt)
         setter(True)
@@ -932,7 +914,6 @@
         assert getter(), ("Permission '%s' should exist"
                           " after addition" % txt)
         str_ps = str(ps)
-        self.checkRef(str_ps)
         setter(False)
         assert not ps.test(perm), ("Permission '%s' should not exist"
                                    " after deletion" % txt)

Reply via email to