[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1105201: unblock: pympress/1.8.5-4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: pympress@packages.debian.org, stuart@debian.org
Control: affects -1 + src:pympress

Please unblock package pympress

[ Reason ]
pympress currently does not even start in trixie, with changes to
dependencies, as discussed in #1096318. The long-term fix is a change in
the pygobject package - that change in experimental, but is not going to
make it to trixie. A simple workaround was provided by pympress upstream
and is included in this upload.

[ Impact ]
pympress in trixie is currently usable, crashing on startup

[ Tests ]
Installing the updated package and try running pympress - it doesn't
crash; I tested it in presentation mode with a couple of PDFs.
The package has only superficial tests.

[ Risks ]
The package can't be any more broken than it currently is.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
The omission of debian/.gitignore from the updated source package is
something I missed in the original upload - sorry - it's obviously not
an important omission for the working of the source package. (I assume
this was automatically omitted by gbp - TIL). I can re-add the file in
an updated upload if that is preferred.

$ debdiff pympress_1.8.5-3.dsc pympress_1.8.5-4.dsc | diffstat -p1
 debian/.gitignore                                        |    1 -
 debian/changelog                                         |    8 ++++++++
 debian/patches/0006-Work-around-pygobject-iterator.patch |   27 +++++++++++++++++++++++++++
 debian/patches/series                                    |    1 +
 4 files changed, 36 insertions(+), 1 deletion(-)


unblock pympress/1.8.5-4
diff -Nru pympress-1.8.5/debian/changelog pympress-1.8.5/debian/changelog
--- pympress-1.8.5/debian/changelog	2025-04-17 10:31:36.000000000 +1000
+++ pympress-1.8.5/debian/changelog	2025-05-10 14:19:22.000000000 +1000
@@ -1,3 +1,11 @@
+pympress (1.8.5-4) unstable; urgency=medium
+
+  * Team upload.
+  * Fix failure to start due to pygobject changes with temporary fix from
+    upstream (Closes: #1096318).
+
+ -- Stuart Prescott <stuart@debian.org>  Sat, 10 May 2025 14:19:22 +1000
+
 pympress (1.8.5-3) unstable; urgency=medium
 
   * Team upload.
diff -Nru pympress-1.8.5/debian/.gitignore pympress-1.8.5/debian/.gitignore
--- pympress-1.8.5/debian/.gitignore	2025-04-17 10:31:36.000000000 +1000
+++ pympress-1.8.5/debian/.gitignore	1970-01-01 10:00:00.000000000 +1000
@@ -1 +0,0 @@
-/files
diff -Nru pympress-1.8.5/debian/patches/0006-Work-around-pygobject-iterator.patch pympress-1.8.5/debian/patches/0006-Work-around-pygobject-iterator.patch
--- pympress-1.8.5/debian/patches/0006-Work-around-pygobject-iterator.patch	1970-01-01 10:00:00.000000000 +1000
+++ pympress-1.8.5/debian/patches/0006-Work-around-pygobject-iterator.patch	2025-05-10 14:19:22.000000000 +1000
@@ -0,0 +1,27 @@
+From: Stuart Prescott <stuart@debian.org>
+Date: Sat, 10 May 2025 14:16:23 +1000
+Subject: Work around pygobject iterator
+
+Picked from https://github.com/Cimbali/pympress/issues/330
+Works around a missing __iter__ method in GPropsIter in pygobject; this is fixed
+by pygobject upstream 3.51 but that fix will not likely make it into trixie.
+This patch should be dropped during the forky development cycle.
+
+Closes: #1096318
+---
+ pympress/builder.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pympress/builder.py b/pympress/builder.py
+index d6f60e2..b4c39c1 100644
+--- a/pympress/builder.py
++++ b/pympress/builder.py
+@@ -76,7 +76,7 @@ class Builder(Gtk.Builder):
+         Args:
+             a_widget (:class:`~GObject.Object`): an object built by the builder, usually a widget
+         """
+-        for str_prop in (prop.name for prop in a_widget.props if prop.value_type == GObject.TYPE_STRING):
++        for str_prop in (prop.name for prop in list(a_widget.props) if prop.value_type == GObject.TYPE_STRING):
+             try:
+                 str_val = getattr(a_widget.props, str_prop)
+                 if str_val:
diff -Nru pympress-1.8.5/debian/patches/series pympress-1.8.5/debian/patches/series
--- pympress-1.8.5/debian/patches/series	2025-04-17 10:31:36.000000000 +1000
+++ pympress-1.8.5/debian/patches/series	2025-05-10 14:19:22.000000000 +1000
@@ -3,3 +3,4 @@
 0004-Options-privacy.patch
 fix-docs-build.patch
 setup.cfg-underscore.patch
+0006-Work-around-pygobject-iterator.patch

Reply to: