[master 1/1] Add a bunch of gi.require_version calls

dashea installerbot-noreply at redhat.com
Wed Jul 8 15:58:53 UTC 2015


From: David Shea <dshea at redhat.com>

pygobject differentiates between different versions of introspectable
libraries in about the dumbest way possible, and now it complains if we
don't play along.
---
 anaconda                                            |  3 +++
 pyanaconda/anaconda.py                              |  4 ++++
 pyanaconda/errors.py                                |  3 +++
 pyanaconda/exception.py                             |  5 +++++
 pyanaconda/iutil.py                                 |  3 +++
 pyanaconda/keyboard.py                              |  3 +++
 pyanaconda/network.py                               |  7 +++++--
 pyanaconda/nm.py                                    |  5 +++++
 pyanaconda/packaging/rpmostreepayload.py            |  6 ++++++
 pyanaconda/safe_dbus.py                             |  7 ++++++-
 pyanaconda/screensaver.py                           |  4 ++++
 pyanaconda/ui/gui/__init__.py                       |  9 +++++++++
 pyanaconda/ui/gui/helpers.py                        |  4 ++++
 pyanaconda/ui/gui/hubs/__init__.py                  |  7 +++++++
 pyanaconda/ui/gui/hubs/progress.py                  |  4 ++++
 pyanaconda/ui/gui/spokes/advstorage/dasd.py         |  6 +++++-
 pyanaconda/ui/gui/spokes/advstorage/iscsi.py        |  4 ++++
 pyanaconda/ui/gui/spokes/advstorage/zfcp.py         |  6 +++++-
 pyanaconda/ui/gui/spokes/custom.py                  | 11 ++++++++---
 pyanaconda/ui/gui/spokes/datetime_spoke.py          |  6 ++++++
 pyanaconda/ui/gui/spokes/filter.py                  |  3 +++
 pyanaconda/ui/gui/spokes/keyboard.py                |  4 ++++
 pyanaconda/ui/gui/spokes/langsupport.py             |  5 +++++
 pyanaconda/ui/gui/spokes/lib/accordion.py           |  5 +++++
 pyanaconda/ui/gui/spokes/lib/cart.py                |  3 +++
 pyanaconda/ui/gui/spokes/lib/dasdfmt.py             |  3 +++
 pyanaconda/ui/gui/spokes/lib/entropy_dialog.py      |  4 ++++
 pyanaconda/ui/gui/spokes/lib/lang_locale_handler.py |  7 ++++++-
 pyanaconda/ui/gui/spokes/lib/passphrase.py          |  3 +++
 pyanaconda/ui/gui/spokes/lib/refresh.py             |  3 +++
 pyanaconda/ui/gui/spokes/lib/resize.py              |  4 ++++
 pyanaconda/ui/gui/spokes/network.py                 | 11 ++++++++++-
 pyanaconda/ui/gui/spokes/software.py                |  4 ++++
 pyanaconda/ui/gui/spokes/source.py                  |  4 ++++
 pyanaconda/ui/gui/spokes/storage.py                 |  6 ++++++
 pyanaconda/ui/gui/utils.py                          |  8 +++++++-
 pyanaconda/ui/gui/xkl_wrapper.py                    |  7 ++++++-
 pyanaconda/ui/tui/spokes/storage.py                 |  6 +++++-
 38 files changed, 184 insertions(+), 13 deletions(-)

diff --git a/anaconda b/anaconda
index fcafcd6..cd9e5b7 100755
--- a/anaconda
+++ b/anaconda
@@ -451,6 +451,9 @@ def setupLoggingFromOpts(options):
             log.error("Could not setup remotelog with %s", options.remotelog)
 
 def gtk_warning(title, reason):
+    import gi
+    gi.require_version("Gtk", "3.0")
+
     from gi.repository import Gtk
     dialog = Gtk.MessageDialog(type=Gtk.MessageType.ERROR,
                                buttons=Gtk.ButtonsType.CLOSE,
diff --git a/pyanaconda/anaconda.py b/pyanaconda/anaconda.py
index cf16e54..1235646 100644
--- a/pyanaconda/anaconda.py
+++ b/pyanaconda/anaconda.py
@@ -163,6 +163,10 @@ def storage(self):
         if not self._storage:
             import blivet
             import blivet.arch
+
+            import gi
+            gi.require_version("BlockDev", "1.0")
+
             from gi.repository import BlockDev as blockdev
             self._storage = blivet.Blivet(ksdata=self.ksdata)
 
diff --git a/pyanaconda/errors.py b/pyanaconda/errors.py
index b497553..d2c2975 100644
--- a/pyanaconda/errors.py
+++ b/pyanaconda/errors.py
@@ -27,6 +27,9 @@
 
 # Only run the pango markup escape if the GUI is available
 try:
+    import gi
+    gi.require_version("Gtk", "3.0")
+
     from gi.repository import Gtk
 
     # XXX: Gtk stopped raising RuntimeError if it fails to
diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py
index ab6b1e1..22efc83 100644
--- a/pyanaconda/exception.py
+++ b/pyanaconda/exception.py
@@ -42,6 +42,9 @@
 from pyanaconda import flags
 from pyanaconda import startup_utils
 
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 import logging
@@ -106,6 +109,8 @@ def handleException(self, dump_info):
         value = dump_info.exc_info.value
 
         try:
+            gi.require_version("Gtk", "3.0")
+
             from gi.repository import Gtk
 
             # XXX: Gtk stopped raising RuntimeError if it fails to
diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py
index 7d80ed7..84bc44a 100644
--- a/pyanaconda/iutil.py
+++ b/pyanaconda/iutil.py
@@ -40,6 +40,9 @@
 from requests_file import FileAdapter
 from requests_ftp import FTPAdapter
 
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 from pyanaconda.flags import flags
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py
index 2c648cc..a0da338 100644
--- a/pyanaconda/keyboard.py
+++ b/pyanaconda/keyboard.py
@@ -36,6 +36,9 @@
 from pyanaconda.flags import can_touch_runtime_system
 from pyanaconda.iutil import open   # pylint: disable=redefined-builtin
 
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 import logging
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 4c3a84c..001a15c 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -24,6 +24,11 @@
 #            David Cantrell <dcantrell at redhat.com>
 #            Radek Vykydal <rvykydal at redhat.com>
 
+import gi
+gi.require_version("NetworkManager", "1.0")
+
+from gi.repository import NetworkManager
+
 import shutil
 from pyanaconda import iutil
 from pyanaconda.iutil import open   # pylint: disable=redefined-builtin
@@ -47,8 +52,6 @@
 from pyanaconda.i18n import _
 from pyanaconda.regexes import HOSTNAME_PATTERN_WITHOUT_ANCHORS
 
-from gi.repository import NetworkManager
-
 import logging
 log = logging.getLogger("anaconda")
 
diff --git a/pyanaconda/nm.py b/pyanaconda/nm.py
index 43f7b6e..8e3e105 100644
--- a/pyanaconda/nm.py
+++ b/pyanaconda/nm.py
@@ -19,6 +19,11 @@
 # Red Hat Author(s): Radek Vykydal <rvykydal at redhat.com>
 #
 
+import gi
+gi.require_version("GLib", "2.0")
+gi.require_version("Gio", "2.0")
+gi.require_version("NetworkManager", "1.0")
+
 from gi.repository import Gio, GLib
 from gi.repository import NetworkManager
 import struct
diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py
index 80a54a2..a1069d5 100644
--- a/pyanaconda/packaging/rpmostreepayload.py
+++ b/pyanaconda/packaging/rpmostreepayload.py
@@ -28,6 +28,12 @@
 from pyanaconda.flags import flags
 from pyanaconda.i18n import _
 from pyanaconda.progress import progressQ
+
+import gi
+gi.require_version("GLib", "2.0")
+gi.require_version("Gio", "2.0")
+gi.require_version("OSTree", "1.0")
+
 from gi.repository import GLib
 from gi.repository import Gio
 
diff --git a/pyanaconda/safe_dbus.py b/pyanaconda/safe_dbus.py
index 10c0866..59702df 100644
--- a/pyanaconda/safe_dbus.py
+++ b/pyanaconda/safe_dbus.py
@@ -20,8 +20,13 @@
 
 """Module providing thread-safe and mainloop-safe DBus operations."""
 
-import os
+import gi
+gi.require_version("GLib", "2.0")
+gi.require_version("Gio", "2.0")
+
 from gi.repository import GLib, Gio
+
+import os
 from pyanaconda.constants import DEFAULT_DBUS_TIMEOUT
 
 DBUS_PROPS_IFACE = "org.freedesktop.DBus.Properties"
diff --git a/pyanaconda/screensaver.py b/pyanaconda/screensaver.py
index 3809cb0..967b70e 100644
--- a/pyanaconda/screensaver.py
+++ b/pyanaconda/screensaver.py
@@ -20,6 +20,10 @@
 #
 
 from pyanaconda import safe_dbus
+
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 import logging
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index d467c51..fa90219 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -23,6 +23,15 @@
 
 from contextlib import contextmanager
 
+import gi
+gi.require_version("Gdk", "3.0")
+gi.require_version("Gtk", "3.0")
+gi.require_version("AnacondaWidgets", "3.0")
+gi.require_version("Keybinder", "3.0")
+gi.require_version("GdkPixbuf", "2.0")
+gi.require_version("GLib", "2.0")
+gi.require_version("GObject", "2.0")
+
 from gi.repository import Gdk, Gtk, AnacondaWidgets, Keybinder, GdkPixbuf, GLib, GObject
 
 from pyanaconda.i18n import _
diff --git a/pyanaconda/ui/gui/helpers.py b/pyanaconda/ui/gui/helpers.py
index deed2b5..d19674c 100644
--- a/pyanaconda/ui/gui/helpers.py
+++ b/pyanaconda/ui/gui/helpers.py
@@ -23,6 +23,10 @@
 # functionality. See also pyanaconda.ui.helpers.
 
 from abc import ABCMeta, abstractproperty, abstractmethod
+
+import gi
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import Gtk
 
 from pyanaconda.ui.helpers import InputCheck, InputCheckHandler
diff --git a/pyanaconda/ui/gui/hubs/__init__.py b/pyanaconda/ui/gui/hubs/__init__.py
index 1c8b276..f3f9531 100644
--- a/pyanaconda/ui/gui/hubs/__init__.py
+++ b/pyanaconda/ui/gui/hubs/__init__.py
@@ -19,6 +19,9 @@
 # Red Hat Author(s): Chris Lumens <clumens at redhat.com>
 #
 
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 from pyanaconda.flags import flags
@@ -95,6 +98,9 @@ def __init__(self, data, storage, payload, instclass):
         self._checker = None
 
     def _createBox(self):
+        gi.require_version("Gtk", "3.0")
+        gi.require_version("AnacondaWidgets", "3.0")
+
         from gi.repository import Gtk, AnacondaWidgets
 
         cats_and_spokes = self._collectCategoriesAndSpokes()
@@ -334,6 +340,7 @@ def refresh(self):
     ### SIGNAL HANDLERS
 
     def _on_spoke_clicked(self, selector, event, spoke):
+        gi.require_version("Gdk", "3.0")
         from gi.repository import Gdk
 
         # This handler only runs for these two kinds of events, and only for
diff --git a/pyanaconda/ui/gui/hubs/progress.py b/pyanaconda/ui/gui/hubs/progress.py
index 7965922..43603fd 100644
--- a/pyanaconda/ui/gui/hubs/progress.py
+++ b/pyanaconda/ui/gui/hubs/progress.py
@@ -21,6 +21,10 @@
 
 
 
+import gi
+gi.require_version("GLib", "2.0")
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import GLib, Gtk
 
 import itertools
diff --git a/pyanaconda/ui/gui/spokes/advstorage/dasd.py b/pyanaconda/ui/gui/spokes/advstorage/dasd.py
index a8ac681..de8277a 100644
--- a/pyanaconda/ui/gui/spokes/advstorage/dasd.py
+++ b/pyanaconda/ui/gui/spokes/advstorage/dasd.py
@@ -19,9 +19,13 @@
 # Red Hat Author(s): Samantha N. Bueno <sbueno at redhat.com>
 #
 
+import gi
+gi.require_version("BlockDev", "1.0")
+
+from gi.repository import BlockDev as blockdev
+
 from pyanaconda.ui.gui import GUIObject
 from pyanaconda.ui.gui.utils import gtk_action_nowait
-from gi.repository import BlockDev as blockdev
 
 __all__ = ["DASDDialog"]
 
diff --git a/pyanaconda/ui/gui/spokes/advstorage/iscsi.py b/pyanaconda/ui/gui/spokes/advstorage/iscsi.py
index cb3c83c..ef15ff6 100644
--- a/pyanaconda/ui/gui/spokes/advstorage/iscsi.py
+++ b/pyanaconda/ui/gui/spokes/advstorage/iscsi.py
@@ -21,6 +21,10 @@
 
 from IPy import IP
 from collections import namedtuple
+
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 from pyanaconda import constants
diff --git a/pyanaconda/ui/gui/spokes/advstorage/zfcp.py b/pyanaconda/ui/gui/spokes/advstorage/zfcp.py
index 544142a..6fe4c58 100644
--- a/pyanaconda/ui/gui/spokes/advstorage/zfcp.py
+++ b/pyanaconda/ui/gui/spokes/advstorage/zfcp.py
@@ -19,9 +19,13 @@
 # Red Hat Author(s): Samantha N. Bueno <sbueno at redhat.com>
 #
 
+import gi
+gi.require_version("BlockDev", "1.0")
+
+from gi.repository import BlockDev as blockdev
+
 from pyanaconda.ui.gui import GUIObject
 from pyanaconda.ui.gui.utils import gtk_action_nowait
-from gi.repository import BlockDev as blockdev
 
 __all__ = ["ZFCPDialog"]
 
diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py
index 0520d13..94ebecd 100644
--- a/pyanaconda/ui/gui/spokes/custom.py
+++ b/pyanaconda/ui/gui/spokes/custom.py
@@ -29,6 +29,14 @@
 # - Implement striping and mirroring for LVM.
 # - Activating reformat should always enable resize for existing devices.
 
+import gi
+gi.require_version("Gtk", "3.0")
+gi.require_version("Gdk", "3.0")
+gi.require_version("AnacondaWidgets", "3.0")
+
+from gi.repository import Gdk, Gtk
+from gi.repository.AnacondaWidgets import MountpointSelector
+
 from pykickstart.constants import CLEARPART_TYPE_NONE
 
 from pyanaconda.i18n import _, N_, CP_
@@ -88,9 +96,6 @@
 from pyanaconda.ui.gui.utils import really_hide, really_show, timed_action
 from pyanaconda.ui.categories.system import SystemCategory
 
-from gi.repository import Gdk, Gtk
-from gi.repository.AnacondaWidgets import MountpointSelector
-
 from functools import wraps
 from itertools import chain
 
diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py
index cc88c4f..12e75be 100644
--- a/pyanaconda/ui/gui/spokes/datetime_spoke.py
+++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py
@@ -22,6 +22,12 @@
 import logging
 log = logging.getLogger("anaconda")
 
+import gi
+gi.require_version("GLib", "2.0")
+gi.require_version("Gdk", "3.0")
+gi.require_version("Gtk", "3.0")
+gi.require_version("TimezoneMap", "1.0")
+
 from gi.repository import GLib, Gdk, Gtk, TimezoneMap
 
 from pyanaconda.ui.communication import hubQ
diff --git a/pyanaconda/ui/gui/spokes/filter.py b/pyanaconda/ui/gui/spokes/filter.py
index bb42031..eaf5116 100644
--- a/pyanaconda/ui/gui/spokes/filter.py
+++ b/pyanaconda/ui/gui/spokes/filter.py
@@ -19,6 +19,9 @@
 # Red Hat Author(s): Chris Lumens <clumens at redhat.com>
 #
 
+import gi
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import Gtk
 
 from collections import namedtuple
diff --git a/pyanaconda/ui/gui/spokes/keyboard.py b/pyanaconda/ui/gui/spokes/keyboard.py
index f7f20c8..49753d6 100644
--- a/pyanaconda/ui/gui/spokes/keyboard.py
+++ b/pyanaconda/ui/gui/spokes/keyboard.py
@@ -20,6 +20,10 @@
 #                    Vratislav Podzimek <vpodzime at redhat.com>
 #
 
+import gi
+gi.require_version("Gkbd", "3.0")
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import Gkbd, Gtk
 
 from pyanaconda.ui.gui import GUIObject
diff --git a/pyanaconda/ui/gui/spokes/langsupport.py b/pyanaconda/ui/gui/spokes/langsupport.py
index 1ae5334..36c93c6 100644
--- a/pyanaconda/ui/gui/spokes/langsupport.py
+++ b/pyanaconda/ui/gui/spokes/langsupport.py
@@ -20,7 +20,12 @@
 #                    Vratislav Podzimek <vpodzime at redhat.com>
 #
 
+import gi
+gi.require_verseion("Pango", "1.0")
+gi.require_version("Gdk", "3.0")
+
 from gi.repository import Pango, Gdk
+
 from pyanaconda.flags import flags
 from pyanaconda.i18n import CN_
 from pyanaconda.ui.gui.spokes import NormalSpoke
diff --git a/pyanaconda/ui/gui/spokes/lib/accordion.py b/pyanaconda/ui/gui/spokes/lib/accordion.py
index b9c0e7f..4b6240d 100644
--- a/pyanaconda/ui/gui/spokes/lib/accordion.py
+++ b/pyanaconda/ui/gui/spokes/lib/accordion.py
@@ -28,6 +28,10 @@
 from pyanaconda.constants import DEFAULT_AUTOPART_TYPE
 from pyanaconda.storage_utils import AUTOPART_CHOICES, AUTOPART_DEVICE_TYPES
 
+import gi
+gi.require_version("AnacondaWidgets", "3.0")
+gi.require_version("Gtk", "3.0")
+
 from gi.repository.AnacondaWidgets import MountpointSelector
 from gi.repository import Gtk
 
@@ -214,6 +218,7 @@ def _mountpointType(self, mountpoint):
             return DATA_DEVICE
 
     def _onSelectorClicked(self, selector, event, cb):
+        gi.require_version("Gdk", "3.0")
         from gi.repository import Gdk
 
         if event and not event.type in [Gdk.EventType.BUTTON_PRESS, Gdk.EventType.KEY_RELEASE, Gdk.EventType.FOCUS_CHANGE]:
diff --git a/pyanaconda/ui/gui/spokes/lib/cart.py b/pyanaconda/ui/gui/spokes/lib/cart.py
index 6c70db7..aad5631 100644
--- a/pyanaconda/ui/gui/spokes/lib/cart.py
+++ b/pyanaconda/ui/gui/spokes/lib/cart.py
@@ -20,6 +20,9 @@
 #                    Chris Lumens <clumens at redhat.com>
 #
 
+import gi
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import Gtk
 
 from pyanaconda.i18n import C_, P_
diff --git a/pyanaconda/ui/gui/spokes/lib/dasdfmt.py b/pyanaconda/ui/gui/spokes/lib/dasdfmt.py
index 27645ee..00cb443 100644
--- a/pyanaconda/ui/gui/spokes/lib/dasdfmt.py
+++ b/pyanaconda/ui/gui/spokes/lib/dasdfmt.py
@@ -27,6 +27,9 @@
 from pyanaconda.i18n import _
 import threading
 
+import gi
+gi.require_version("BlockDev", "1.0")
+
 from gi.repository import BlockDev as blockdev
 
 import logging
diff --git a/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py b/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
index df9d866..60245f8 100644
--- a/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
+++ b/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
@@ -22,6 +22,10 @@
 import time
 import math
 
+import gi
+gi.require_version("Gtk", "3.0")
+gi.require_version("GLib", "2.0")
+
 from gi.repository import Gtk, GLib
 
 from pyanaconda.i18n import P_
diff --git a/pyanaconda/ui/gui/spokes/lib/lang_locale_handler.py b/pyanaconda/ui/gui/spokes/lib/lang_locale_handler.py
index 49c9af2..20d9898 100644
--- a/pyanaconda/ui/gui/spokes/lib/lang_locale_handler.py
+++ b/pyanaconda/ui/gui/spokes/lib/lang_locale_handler.py
@@ -24,8 +24,13 @@
 
 """
 
-import os
+import gi
+gi.require_version("Gtk", "3.0")
+gi.require_version("Pango", "1.0")
+
 from gi.repository import Gtk, Pango
+
+import os
 from pyanaconda import localization
 from pyanaconda.iutil import strip_accents
 from pyanaconda.ui.gui.utils import set_treeview_selection, timed_action, override_cell_property
diff --git a/pyanaconda/ui/gui/spokes/lib/passphrase.py b/pyanaconda/ui/gui/spokes/lib/passphrase.py
index 8264ab1..580a1d3 100644
--- a/pyanaconda/ui/gui/spokes/lib/passphrase.py
+++ b/pyanaconda/ui/gui/spokes/lib/passphrase.py
@@ -19,6 +19,9 @@
 # Red Hat Author(s): David Lehman <dlehman at redhat.com>
 #
 
+import gi
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import Gtk
 
 import pwquality
diff --git a/pyanaconda/ui/gui/spokes/lib/refresh.py b/pyanaconda/ui/gui/spokes/lib/refresh.py
index 639ef45..016e6b8 100644
--- a/pyanaconda/ui/gui/spokes/lib/refresh.py
+++ b/pyanaconda/ui/gui/spokes/lib/refresh.py
@@ -19,6 +19,9 @@
 # Red Hat Author(s): Chris Lumens <clumens at redhat.com>
 #
 
+import gi
+gi.require_version("GLib", "2.0")
+
 from gi.repository import GLib
 
 from pyanaconda.threads import threadMgr, AnacondaThread
diff --git a/pyanaconda/ui/gui/spokes/lib/resize.py b/pyanaconda/ui/gui/spokes/lib/resize.py
index b9113ef..cc086f9 100644
--- a/pyanaconda/ui/gui/spokes/lib/resize.py
+++ b/pyanaconda/ui/gui/spokes/lib/resize.py
@@ -22,6 +22,10 @@
 
 from collections import namedtuple
 
+import gi
+gi.require_version("Gdk", "3.0")
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import Gdk, Gtk
 
 from pyanaconda.i18n import _, C_, N_, P_
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py
index 8d25d22..74e5aa8 100644
--- a/pyanaconda/ui/gui/spokes/network.py
+++ b/pyanaconda/ui/gui/spokes/network.py
@@ -29,7 +29,17 @@
 # - NMClient.CLIENT_WIRELESS_ENABLED callback (hw switch?) - test
 # - nm-c-e run: blocking? logging?
 
+import gi
+gi.require_version("Gtk", "3.0")
+gi.require_version("GLib", "2.0")
+gi.require_version("GObject", "2.0")
+gi.require_version("Pango", "1.0")
+gi.require_version("Gio", "2.0")
+gi.require_version("NetworkManager", "1.0")
+gi.require_version("NMClient", "1.0")
+
 from gi.repository import Gtk
+from gi.repository import GLib, GObject, Pango, Gio, NetworkManager, NMClient
 
 from pyanaconda.flags import can_touch_runtime_system
 from pyanaconda.i18n import _, N_, C_, CN_
@@ -46,7 +56,6 @@
 from pyanaconda import network
 from pyanaconda import nm
 
-from gi.repository import GLib, GObject, Pango, Gio, NetworkManager, NMClient
 import dbus
 import dbus.service
 # Used for ascii_letters and hexdigits constants
diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py
index ed1a395..31bed80 100644
--- a/pyanaconda/ui/gui/spokes/software.py
+++ b/pyanaconda/ui/gui/spokes/software.py
@@ -19,6 +19,10 @@
 # Red Hat Author(s): Chris Lumens <clumens at redhat.com>
 #
 
+import gi
+gi.require_version("Gtk", "3.0")
+gi.require_version("Pango", "1.0")
+
 from gi.repository import Gtk, Pango
 
 from pyanaconda.flags import flags
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py
index 9b73e6f..d909ec9 100644
--- a/pyanaconda/ui/gui/spokes/source.py
+++ b/pyanaconda/ui/gui/spokes/source.py
@@ -28,6 +28,10 @@
 import os, signal, re
 from collections import namedtuple
 
+import gi
+gi.require_version("GLib", "2.0")
+gi.require_version("Gtk", "3.0")
+
 from gi.repository import GLib, Gtk
 
 from pyanaconda.flags import flags
diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py
index a85e0cc..7088e5c 100644
--- a/pyanaconda/ui/gui/spokes/storage.py
+++ b/pyanaconda/ui/gui/spokes/storage.py
@@ -39,6 +39,12 @@
 
 """
 
+import gi
+gi.require_version("Gdk", "3.0")
+gi.require_version("GLib", "2.0")
+gi.require_version("AnacondaWidgets", "3.0")
+gi.require_version("BlockDev", "1.0")
+
 from gi.repository import Gdk, GLib, AnacondaWidgets
 from gi.repository import BlockDev as blockdev
 
diff --git a/pyanaconda/ui/gui/utils.py b/pyanaconda/ui/gui/utils.py
index b4902f3..676416f 100644
--- a/pyanaconda/ui/gui/utils.py
+++ b/pyanaconda/ui/gui/utils.py
@@ -21,12 +21,18 @@
 #                    Vratislav Podzimek <vpodzime at redhat.com>
 #
 
+import gi
+gi.require_version("Gdk", "3.0")
+gi.require_version("Gtk", "3.0")
+gi.require_version("GLib", "2.0")
+
+from gi.repository import Gdk, Gtk, GLib
+
 from contextlib import contextmanager
 
 from pyanaconda.threads import threadMgr, AnacondaThread
 
 from pyanaconda.constants import NOTICEABLE_FREEZE
-from gi.repository import Gdk, Gtk, GLib
 import queue
 import time
 import threading
diff --git a/pyanaconda/ui/gui/xkl_wrapper.py b/pyanaconda/ui/gui/xkl_wrapper.py
index 68fc06b..6ee3199 100644
--- a/pyanaconda/ui/gui/xkl_wrapper.py
+++ b/pyanaconda/ui/gui/xkl_wrapper.py
@@ -29,9 +29,14 @@
 
 """
 
+import gi
+gi.require_version("GdkX11", "3.0")
+gi.require_version("Xkl", "1.0")
+
+from gi.repository import GdkX11, Xkl
+
 import threading
 import gettext
-from gi.repository import GdkX11, Xkl
 from collections import namedtuple
 
 from pyanaconda import flags
diff --git a/pyanaconda/ui/tui/spokes/storage.py b/pyanaconda/ui/tui/spokes/storage.py
index e1e1850..29e6b53 100644
--- a/pyanaconda/ui/tui/spokes/storage.py
+++ b/pyanaconda/ui/tui/spokes/storage.py
@@ -22,6 +22,11 @@
 # which has the same license and authored by David Lehman <dlehman at redhat.com>
 #
 
+import gi
+gi.require_version("BlockDev", "1.0")
+
+from gi.repository import BlockDev as blockdev
+
 from pyanaconda.ui.lib.disks import getDisks, applyDiskSelection, checkDiskSelection
 from pyanaconda.ui.categories.system import SystemCategory
 from pyanaconda.ui.tui.spokes import NormalTUISpoke
@@ -33,7 +38,6 @@
 from blivet.size import Size
 from blivet.errors import StorageError
 from blivet.devices import DASDDevice, FcoeDiskDevice, iScsiDiskDevice, MultipathDevice, ZFCPDiskDevice
-from gi.repository import BlockDev as blockdev
 from pyanaconda.flags import flags
 from pyanaconda.kickstart import doKickstartStorage, resetCustomStorageData
 from pyanaconda.threads import threadMgr, AnacondaThread


-- 
To view this commit on github, visit https://github.com/rhinstaller/anaconda/commit/dc0dd1e21bb3a1240e424b25e0be3e3efa772116


More information about the anaconda-patches mailing list