Skip to contentSkip to conversation

sandbox: Use GObject introspection binding instead of pygtk2

PATCH Superseded Laurent Bigonville 3 participants 4 messages Sep 18, 2016 – Sep 19, 2016 SELinux security module

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sandbox: Use GObject introspection binding instead of pygtk2

From: Laurent Bigonville <[email protected]>

sandbox command is also now using GTK 3.0

This patch comes from Fedora patch set

---
 policycoreutils/sandbox/sandbox | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
policycoreutils/sandbox/sandbox +11 -7
index 9f200d5..726ba9b 100644
@@ -111,16 +111,18 @@ def copyfile(file, srcdir, dest):
 def savefile(new, orig, X_ind):
     copy = False
     if(X_ind):
-        import gtk
-        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
-                                gtk.BUTTONS_YES_NO,
+        import gi
+        gi.require_version('Gtk', '3.0')
+        from gi.repository import Gtk
+        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
+                                Gtk.ButtonsType.YES_NO,
                                 _("Do you want to save changes to '%s' (Y/N): ") % orig)
         dlg.set_title(_("Sandbox Message"))
-        dlg.set_position(gtk.WIN_POS_MOUSE)
+        dlg.set_position(Gtk.WindowPosition.MOUSE)
         dlg.show_all()
         rc = dlg.run()
         dlg.destroy()
-        if rc == gtk.RESPONSE_YES:
+        if rc == Gtk.ResponseType.YES:
             copy = True
     else:
         try:
@@ -452,8 +454,10 @@ sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-
                     if self.__options.dpi:
                         dpi = self.__options.dpi
                     else:
-                        import gtk
-                        dpi = str(gtk.settings_get_default().props.gtk_xft_dpi / 1024)
+                        import gi
+                        gi.require_version('Gtk', '3.0')
+                        from gi.repository import Gtk
+                        dpi = str(Gtk.Settings.get_default().props.gtk_xft_dpi / 1024)
 
                     xmodmapfile = self.__homedir + "/.xmodmap"
                     xd = open(xmodmapfile, "w")
Signature · 1 line
2.9.3
#1 lore raw
Quoted 5 lines · Laurent Bigonville

From: Laurent Bigonville <[email protected]>

sandbox command is also now using GTK 3.0

This patch comes from Fedora patch set

Works for me on Fedora with python 3 and on latest RHEL-7 with python 2 as well.

Note: the original patchset is based on suggestions from
https://wiki.gnome.org/action/show/Projects/PyGObject/IntrospectionPorting#Porting_from_PyGTK_2_to_PyGI_GTK_3

and created by the referenced script
http://git.gnome.org/browse/pygobject/tree/pygi-convert.sh

Petr

Quoted 53 lines
---
 policycoreutils/sandbox/sandbox | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
policycoreutils/sandbox/sandbox +11 -7
index 9f200d5..726ba9b 100644
@@ -111,16 +111,18 @@ def copyfile(file, srcdir, dest):
 def savefile(new, orig, X_ind):
     copy = False
     if(X_ind):
-        import gtk
-        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
-                                gtk.BUTTONS_YES_NO,
+        import gi
+        gi.require_version('Gtk', '3.0')
+        from gi.repository import Gtk
+        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
+                                Gtk.ButtonsType.YES_NO,
                                 _("Do you want to save changes to '%s' (Y/N): ") % orig)
         dlg.set_title(_("Sandbox Message"))
-        dlg.set_position(gtk.WIN_POS_MOUSE)
+        dlg.set_position(Gtk.WindowPosition.MOUSE)
         dlg.show_all()
         rc = dlg.run()
         dlg.destroy()
-        if rc == gtk.RESPONSE_YES:
+        if rc == Gtk.ResponseType.YES:
             copy = True
     else:
         try:
@@ -452,8 +454,10 @@ sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-
                     if self.__options.dpi:
                         dpi = self.__options.dpi
                     else:
-                        import gtk
-                        dpi = str(gtk.settings_get_default().props.gtk_xft_dpi / 1024)
+                        import gi
+                        gi.require_version('Gtk', '3.0')
+                        from gi.repository import Gtk
+                        dpi = str(Gtk.Settings.get_default().props.gtk_xft_dpi / 1024)
 
                     xmodmapfile = self.__homedir + "/.xmodmap"
                     xd = open(xmodmapfile, "w")
Signature · 7 lines
2.9.3

_______________________________________________
Selinux mailing list
[email protected]
To unsubscribe, send email to [email protected].
To get help, send an email containing "help" to [email protected].
Signature · 1 line
Petr Lautrbach
#2 lore raw
In reply to Laurent Bigonville
Quoted 5 lines · Laurent Bigonville

From: Laurent Bigonville <[email protected]>

sandbox command is also now using GTK 3.0

This patch comes from Fedora patch set

Need a Signed-off-by. If you can extract the actual original patch with its author and signed-off-by, that's preferable.

Quoted 46 lines
---
 policycoreutils/sandbox/sandbox | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
policycoreutils/sandbox/sandbox +11 -7
index 9f200d5..726ba9b 100644
@@ -111,16 +111,18 @@ def copyfile(file, srcdir, dest):
 def savefile(new, orig, X_ind):
     copy = False
     if(X_ind):
-        import gtk
-        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
-                                gtk.BUTTONS_YES_NO,
+        import gi
+        gi.require_version('Gtk', '3.0')
+        from gi.repository import Gtk
+        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
+                                Gtk.ButtonsType.YES_NO,
                                 _("Do you want to save changes to '%s' (Y/N): ") % orig)
         dlg.set_title(_("Sandbox Message"))
-        dlg.set_position(gtk.WIN_POS_MOUSE)
+        dlg.set_position(Gtk.WindowPosition.MOUSE)
         dlg.show_all()
         rc = dlg.run()
         dlg.destroy()
-        if rc == gtk.RESPONSE_YES:
+        if rc == Gtk.ResponseType.YES:
             copy = True
     else:
         try:
@@ -452,8 +454,10 @@ sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-
                     if self.__options.dpi:
                         dpi = self.__options.dpi
                     else:
-                        import gtk
-                        dpi = str(gtk.settings_get_default().props.gtk_xft_dpi / 1024)
+                        import gi
+                        gi.require_version('Gtk', '3.0')
+                        from gi.repository import Gtk
+                        dpi = str(Gtk.Settings.get_default().props.gtk_xft_dpi / 1024)
 
                     xmodmapfile = self.__homedir + "/.xmodmap"
                     xd = open(xmodmapfile, "w")
#3 lore raw
Quoted 9 lines · Stephen Smalley
Quoted 5 lines · Laurent Bigonville

From: Laurent Bigonville <[email protected]>

sandbox command is also now using GTK 3.0

This patch comes from Fedora patch set

Need a Signed-off-by. If you can extract the actual original patch with its author and signed-off-by, that's preferable.

I'm the author of the original patches. However I consider the new patch better and we'll adopt it in Fedora as soon as it's pushed upstream.

I'm completely fine with Laurent resend this patch again with his Signed-Off-By

Petr

Quoted 48 lines
Quoted 47 lines
---
 policycoreutils/sandbox/sandbox | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
policycoreutils/sandbox/sandbox +11 -7
index 9f200d5..726ba9b 100644
@@ -111,16 +111,18 @@ def copyfile(file, srcdir, dest):
 def savefile(new, orig, X_ind):
     copy = False
     if(X_ind):
-        import gtk
-        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
-                                gtk.BUTTONS_YES_NO,
+        import gi
+        gi.require_version('Gtk', '3.0')
+        from gi.repository import Gtk
+        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
+                                Gtk.ButtonsType.YES_NO,
                                 _("Do you want to save changes to '%s' (Y/N): ") % orig)
         dlg.set_title(_("Sandbox Message"))
-        dlg.set_position(gtk.WIN_POS_MOUSE)
+        dlg.set_position(Gtk.WindowPosition.MOUSE)
         dlg.show_all()
         rc = dlg.run()
         dlg.destroy()
-        if rc == gtk.RESPONSE_YES:
+        if rc == Gtk.ResponseType.YES:
             copy = True
     else:
         try:
@@ -452,8 +454,10 @@ sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-
                     if self.__options.dpi:
                         dpi = self.__options.dpi
                     else:
-                        import gtk
-                        dpi = str(gtk.settings_get_default().props.gtk_xft_dpi / 1024)
+                        import gi
+                        gi.require_version('Gtk', '3.0')
+                        from gi.repository import Gtk
+                        dpi = str(Gtk.Settings.get_default().props.gtk_xft_dpi / 1024)
 
                     xmodmapfile = self.__homedir + "/.xmodmap"
                     xd = open(xmodmapfile, "w")
Signature · 1 line
Petr Lautrbach