From Mageia wiki
libyui is a set of graphical library which are abstraction layer above Qt, Gtk and ncurses.
The manatools team has added some features called libyui-mga.
Here are the steps to have them packaged in Mageia.
- Build libyui package without mga support
- You need to build libuyui first with "%bcond_with mga" in the spec file of libyui. You can find the line containing "%bcond" into the spec file easily with an explanation near. This step builds libyui-bindings without the 'mga' part.
- Build libyui-mga package alone
- To do that you need to install libyui and libyui-devel, the packages built in the previous step. Note that you need only those two to build libyui-mga. Note that all the libyui packages must be built with the same major version. Find the related line into all the spec files %define major (16 at the time we are writing this page).
- Buid libyui with mga support
- Once libyui-mga builds fine, you have to install libyui-mga and libyui-mga-devel. Go back on libyui packages, change its spec file and rebuild it with %bcond_without mga
- Once finished you can build all the other libyui-mga and the Gtk plugins having installed the built version of libyui, libyui-devel, libyui-mga and libyui-mga-devel.
- Note that now libyui-bindings is ready to support libyui-mga extension plugins, but tto work properly it needs all the libyui-mga-XX too.
- Build Qt mga plugin
- Install the just built libyui-qt and libyui-qt-devel and build libyui-mga-qt
- Build ncurses mga plugin
- Install just built libyui-ncurses and libyui-ncurses-devel and build libyui-mga-ncurses
- Build GTK plugins (libyui-gtk first)
- GTK libyui mga plugin needs libyui-gtk to be built against new libyui, first. Once it's built install libyui-gtk and libyui-gtk-devel and build libyui-mga-gtk.