Your message dated Sat, 25 Mar 2023 19:35:57 +0000
with message-id <e1pg9gd-009alr...@respighi.debian.org>
and subject line unblock lios
has caused the Debian Bug report #1033476,
regarding unblock: lios/2.7.2-4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1033476: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033476
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: l...@packages.debian.org
Control: affects -1 + src:lios

Hello,

I have uploaded a fixed version of lios (thanks Gunnar Hjalmarsson!)

[ Reason ]
lios cannot start when gtk4 is installed, because lios is compatible
with gtk3 only, but was not specifying it to gi.

[ Impact ]
So a user would have to choose between installing applications depending
on gtk4 and installing lios.

[ Tests ]
It was tested manually and confirmed by the submitter.

[ Risks ]
The code is very trivial

[ 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

unblock lios/2.7.2-4
diff -Nru lios-2.7.2/debian/changelog lios-2.7.2/debian/changelog
--- lios-2.7.2/debian/changelog 2022-10-23 12:24:21.000000000 +0200
+++ lios-2.7.2/debian/changelog 2023-03-13 20:00:26.000000000 +0100
@@ -1,3 +1,17 @@
+lios (2.7.2-4) unstable; urgency=medium
+
+  * Upload fix to unstable, thanks Gunnar!
+
+ -- Samuel Thibault <sthiba...@debian.org>  Mon, 13 Mar 2023 20:00:26 +0100
+
+lios (2.7.2-3.1) experimental; urgency=medium
+
+  * Non-maintainer upload
+  * Use exact versions when importing Gtk and friends
+    - Cherry picked upstream commit (closes: #1032895)
+
+ -- Gunnar Hjalmarsson <gunna...@debian.org>  Mon, 13 Mar 2023 18:03:42 +0100
+
 lios (2.7.2-3) unstable; urgency=medium
 
   [ Samuel Thibault ]
diff -Nru lios-2.7.2/debian/patches/series lios-2.7.2/debian/patches/series
--- lios-2.7.2/debian/patches/series    2020-02-09 00:13:30.000000000 +0100
+++ lios-2.7.2/debian/patches/series    2023-03-13 19:57:48.000000000 +0100
@@ -1,2 +1,3 @@
 tesseract_langpath
 typo
+Use-exact-versions-when-importing-Gtk-and-friends.patch
diff -Nru 
lios-2.7.2/debian/patches/Use-exact-versions-when-importing-Gtk-and-friends.patch
 
lios-2.7.2/debian/patches/Use-exact-versions-when-importing-Gtk-and-friends.patch
--- 
lios-2.7.2/debian/patches/Use-exact-versions-when-importing-Gtk-and-friends.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
lios-2.7.2/debian/patches/Use-exact-versions-when-importing-Gtk-and-friends.patch
   2023-03-13 19:57:48.000000000 +0100
@@ -0,0 +1,274 @@
+From: Mikhail Rudenko <mike.rude...@gmail.com>
+Date: Mon, 21 Jun 2021 21:29:30 +0300
+Subject: Use exact versions when importing Gtk and friends
+
+This is necessary in environments where Gtk-3 and Gtk-4 are both
+installed. Otherwise, multiple `AttributeError`s arise, e.g.
+
+```
+Traceback (most recent call last):
+  File "/usr/bin/lios", line 19, in <module>
+    from lios.main import *
+  File "/usr/lib/python3.9/site-packages/lios/main.py", line 27, in <module>
+    from lios import scanner, editor, imageview, cam, ocr, preferences, speech
+  File "/usr/lib/python3.9/site-packages/lios/editor.py", line 20, in <module>
+    from lios.ui.gtk import text_view, tree_view, widget, dialog, 
file_chooser, containers, window
+  File "/usr/lib/python3.9/site-packages/lios/ui/gtk/widget.py", line 166, in 
<module>
+    class Separator(Gtk.HSeparator):
+  File "/usr/lib/python3.9/site-packages/gi/overrides/__init__.py", line 32, 
in __getattr__
+    return getattr(self._introspection_module, name)
+  File "/usr/lib/python3.9/site-packages/gi/module.py", line 123, in 
__getattr__
+    raise AttributeError("%r object has no attribute %r" % (
+AttributeError: 'gi.repository.Gtk' object has no attribute 'HSeparator'
+```
+
+Origin: https://github.com/zendalona/lios/commit/73fc343c
+Bug-Debian: https://bugs.debian.org/1032895
+---
+ lios/cam.py                 | 5 +++++
+ lios/ui/gtk/about.py        | 3 +++
+ lios/ui/gtk/containers.py   | 5 ++++-
+ lios/ui/gtk/dialog.py       | 3 +++
+ lios/ui/gtk/drawing_area.py | 7 +++++--
+ lios/ui/gtk/file_chooser.py | 3 +++
+ lios/ui/gtk/icon_view.py    | 4 ++++
+ lios/ui/gtk/loop.py         | 9 ++++++---
+ lios/ui/gtk/menu.py         | 5 ++++-
+ lios/ui/gtk/print_dialog.py | 3 +++
+ lios/ui/gtk/terminal.py     | 3 +++
+ lios/ui/gtk/text_view.py    | 3 +++
+ lios/ui/gtk/tree_view.py    | 4 ++++
+ lios/ui/gtk/widget.py       | 3 +++
+ lios/ui/gtk/window.py       | 4 ++++
+ 15 files changed, 57 insertions(+), 7 deletions(-)
+
+diff --git a/lios/cam.py b/lios/cam.py
+index db0a06f..23087ad 100644
+--- a/lios/cam.py
++++ b/lios/cam.py
+@@ -16,6 +16,11 @@
+ #    You should have received a copy of the GNU General Public License
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
++
++import gi
++gi.require_version("Gtk", "3.0")
++gi.require_version('GstVideo', '1.0')
++
+ from gi.repository import GdkX11, GstVideo
+ from gi.repository import Gtk
+ from gi.repository import Gst
+diff --git a/lios/ui/gtk/about.py b/lios/ui/gtk/about.py
+index b98196c..cfd8e1e 100644
+--- a/lios/ui/gtk/about.py
++++ b/lios/ui/gtk/about.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ from gi.repository import GdkPixbuf
+ 
+diff --git a/lios/ui/gtk/containers.py b/lios/ui/gtk/containers.py
+index afc462e..91d073c 100644
+--- a/lios/ui/gtk/containers.py
++++ b/lios/ui/gtk/containers.py
+@@ -18,7 +18,10 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
+-from gi.repository import Gtk 
++import gi
++gi.require_version("Gtk", "3.0")
++
++from gi.repository import Gtk
+ from lios.ui.gtk import icon
+ from lios import macros
+               
+diff --git a/lios/ui/gtk/dialog.py b/lios/ui/gtk/dialog.py
+index 671d9b8..33aaae2 100644
+--- a/lios/ui/gtk/dialog.py
++++ b/lios/ui/gtk/dialog.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ 
+ 
+diff --git a/lios/ui/gtk/drawing_area.py b/lios/ui/gtk/drawing_area.py
+index 112c36f..ed32040 100755
+--- a/lios/ui/gtk/drawing_area.py
++++ b/lios/ui/gtk/drawing_area.py
+@@ -18,8 +18,11 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
+-from gi.repository import Gtk         
+-from gi.repository import Gdk         
++import gi
++gi.require_version("Gtk", "3.0")
++
++from gi.repository import Gtk
++from gi.repository import Gdk
+ from gi.repository import GdkPixbuf
+               
+ 
+diff --git a/lios/ui/gtk/file_chooser.py b/lios/ui/gtk/file_chooser.py
+index cd8eb17..b2e2a64 100644
+--- a/lios/ui/gtk/file_chooser.py
++++ b/lios/ui/gtk/file_chooser.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ 
+ 
+diff --git a/lios/ui/gtk/icon_view.py b/lios/ui/gtk/icon_view.py
+index c37f12a..5bce48f 100644
+--- a/lios/ui/gtk/icon_view.py
++++ b/lios/ui/gtk/icon_view.py
+@@ -17,6 +17,10 @@
+ #    You should have received a copy of the GNU General Public License
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
++
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ from gi.repository import Gdk
+ from gi.repository import GdkPixbuf
+diff --git a/lios/ui/gtk/loop.py b/lios/ui/gtk/loop.py
+index 9c205ed..7db04eb 100644
+--- a/lios/ui/gtk/loop.py
++++ b/lios/ui/gtk/loop.py
+@@ -18,9 +18,12 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
+-from gi.repository import Gtk         
+-from gi.repository import Gdk         
+-              
++import gi
++gi.require_version("Gtk", "3.0")
++
++from gi.repository import Gtk
++from gi.repository import Gdk
++
+ def start_main_loop():
+       Gtk.main()
+ 
+diff --git a/lios/ui/gtk/menu.py b/lios/ui/gtk/menu.py
+index 12ebd05..6b6092d 100644
+--- a/lios/ui/gtk/menu.py
++++ b/lios/ui/gtk/menu.py
+@@ -18,8 +18,11 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+-from lios.ui.gtk import icon          
++from lios.ui.gtk import icon
+ from lios import macros
+ 
+ SEPARATOR = 1;
+diff --git a/lios/ui/gtk/print_dialog.py b/lios/ui/gtk/print_dialog.py
+index 4010e5d..5ba4a70 100644
+--- a/lios/ui/gtk/print_dialog.py
++++ b/lios/ui/gtk/print_dialog.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ from gi.repository import Pango
+ from gi.repository import PangoCairo
+diff --git a/lios/ui/gtk/terminal.py b/lios/ui/gtk/terminal.py
+index 5139c52..656a6c2 100644
+--- a/lios/ui/gtk/terminal.py
++++ b/lios/ui/gtk/terminal.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk, GObject, Vte
+ from gi.repository import GLib
+ from gi.repository import Gdk
+diff --git a/lios/ui/gtk/text_view.py b/lios/ui/gtk/text_view.py
+index 9aad00d..2b38172 100644
+--- a/lios/ui/gtk/text_view.py
++++ b/lios/ui/gtk/text_view.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ from gi.repository import Gdk
+ from gi.repository import GdkPixbuf
+diff --git a/lios/ui/gtk/tree_view.py b/lios/ui/gtk/tree_view.py
+index afa4fe7..d17fa8e 100755
+--- a/lios/ui/gtk/tree_view.py
++++ b/lios/ui/gtk/tree_view.py
+@@ -17,6 +17,10 @@
+ #    You should have received a copy of the GNU General Public License
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
++
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ 
+ class CellRendererSpin(Gtk.CellRendererSpin):
+diff --git a/lios/ui/gtk/widget.py b/lios/ui/gtk/widget.py
+index c28ef2f..c8a579e 100644
+--- a/lios/ui/gtk/widget.py
++++ b/lios/ui/gtk/widget.py
+@@ -18,6 +18,9 @@
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
+ 
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ from gi.repository import GLib
+ from gi.repository import Gdk
+diff --git a/lios/ui/gtk/window.py b/lios/ui/gtk/window.py
+index 81ac685..ac3971f 100644
+--- a/lios/ui/gtk/window.py
++++ b/lios/ui/gtk/window.py
+@@ -17,6 +17,10 @@
+ #    You should have received a copy of the GNU General Public License
+ #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ ###########################################################################
++
++import gi
++gi.require_version("Gtk", "3.0")
++
+ from gi.repository import Gtk
+ from gi.repository import GdkPixbuf
+       

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to