[virt-tools-list] virt-manager: converted glade->gtkbuilder, running app on RHEL5 now unsupported

Cole Robinson crobinso at redhat.com
Thu Feb 2 20:00:29 UTC 2012


Hi all,

I've just pushed some patches to virt-manager git which convert the UI files
from glade format to gtkbuilder. glade format is deprecated upstream and we
are overdue for this change. There are 2 main results of this change:

- RHEL5 gtk is now too old to run virt-manager. Officially I'm saying gtk
2.18, the version in RHEL6, is the minimum required version. Really though
that's the oldest I've tested on so even older may work. Just to clarify,
virt-manager can still connect to a remote RHEL5 libvirt host, you just can't
run the app natively on RHEL5.

- Fedora15/Fedora16 'glade' UI tool now actually works on our UI files.
Previously fedora's versions had dropped all .glade file support, so couldn't
handle the files. This sucked for development understandably :)

There were a couple hiccups in the conversion process:

- When saving a file with fedora16 glade, it throws out all instances of
GtkComboBoxEntry. This sucks, and seems to be an intentional glade choice.
GtkComboBoxEntry is deprecated as of gtk 2.24 in favor of a plain ComboBox
with has_entry=True. Unfortunately 2.24 is too new for running on RHEL so that
puts us in a hard place. I worked around this by manually building the
ComboBoxEntrys in python code, kinda:

http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=9adab8371595027e5f8d031f86b3eafe02084ba9

- Fedora 16 glade adds some elements to the gtkbuilder file that RHEL6 chokes
on, breaking app startup. I added a wrapper in python code to strip out these
elements before parsing the ui file, when we are on old GTK:

http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=8717e63687821d6208c83586f208415b195dba61

- Fedora 16 glade likes to remove scrollwindow policies from the UI xml if
policy == automatic. Now I wouldn't think that would cause a problem since
'automatic' should be the default setting, but it doesn't work out in practice
and all scrollwindows have act like policy=always. I manually readded these
elements to the builder xml, but any subsequent uses of glade will re-remove
them, which will have to be undone. (This could just be an unintentional bug
somewhere in gtk2 or glade, I'm planning on digging some more).

Speak up if you hit any additional issues.

Thanks,
Cole




More information about the virt-tools-list mailing list