libyui in Gentoo

Some time ago I wrote a blog post about osc in Gentoo. As I already stated there, we’ve got some pretty cool technologies in openSUSE and I would like to promote them everywhere. And as I’m also partially Gentoo user and I have many Gentoo friends, I’m trying to make some of the coolest openSUSE technologies available on Gentoo. One of the cool things we’ve got is libYUI.

What is libYUI?

As name suggests, libYUI is a library. It is yet another graphical toolkit you can write your application in. Why is it cool and not lame? Because it is actually abstraction over already existing toolkits. You can write application using libYUI, compile it and run it and depending on what you have installed. During runtime, it will select the best toolkit available. There are currently three different plugins for libYUI. Qt, GTK and ncurses. And depending on what you have installed, application can behave like native Qt application to fit nicely into your KDE environment or behave like GTK application to fit Gnome/Xfce. And it can even look like ncurses application, so you can run it on your server without X! Isn’t it awesome? All this just from one code.

This library was originally created for YaST, openSUSE configuration utility. But this summer, one of our GSoC project was to make it independent of YaST and openSUSE infrastructure. If you are interested in current progress of this GSoC project, you can read blog posts by N.B.Prashanth. He is not only making it openSUSE independent, but he is also fixing documentation and creating examples, so you can start using it much easier!

So now you all know, that libYUI is cool, right? And that it is no longer openSUSE specific technology and you can start using it for any project you like. Here comes my little contribution. From Monday, libYUI is part of Gentoo portage tree as x11-libs/libyui. Currently only available for ~amd64, but ebuilds are there, you can unmask it on other architectures and you’ll see. If it doesn’t work, file a bug report 😉 I tried it to run SaX3 on Gentoo and it works 😀 So if you are going to write an application that can make a use of both ncurses and graphical interface, check out libYUI, it can make you life easier 😉


  1. Meradz says:

    I love to see things like this. I always loved YaST in SUSE and believe it to be the best setup/configuration tool available in Linux hands down!

    I am not a coder myself, but wish more distros would use YaST as it makes it so simple to configure Linux.

    1. Michal Hrušecký says:

      Well, so far this post is about libYUI only and I don’t plan porting YaST to Gentoo. YaST is distribution specific for sure. At least for now 😉 We will see what future holds for us 😉

  2. Joseph says:

    It seems to me that openSUSE is always doing things for other distros (like using GSoC allocations to port libYUI, which won’t benefit openSUSE, or making OBS work with other distros) but other distros are never doing anything for openSUSE. Shouldn’t there be some sort of quid pro quo going on? Say, we’ll port libYUI for you if you make Unity distro-agnostic for us? Are there any other selfless GSoC projects going on? Puppy Linux is never going to give us the technology to make cool super-small openSUSE CDs with persistence and Debian’s never going to help port openSUSE to ARM if we keep giving away everything for free. 😉

    1. Michal Hrušecký says:

      We’ve got our selfish reasons too 😉 Making libyui distro independent is part of being a good upstream. And in this case, we are the upstream. Making it distro independent will allow developers to use it, new awesome applications will be created and our users will be able to use them. We are just behaving like a good member of opensource community. And some of the other distributions are doing so as well. Great example would be RedHat. Both my GSoC projects are using augeas that was created by RedHat and is maintained by them. As it is open source and RedHat is a good member of open source communities, we can use it and we got even some help from them. Open source isn’t about trading one technology for another, but about creating awesome things cooperating with others, having a lot of fun and enjoying people using it (and allowing other distributions to use it brings more users, more feedback, more patches, more developers and even more awesome product).

  3. Rajender says:

    Is there a mouse interface in ncurses mode in libyui? If not what are the chances of adding in near future?

    1. Michal Hrušecký says:

      AFAIK there is no mouse support in ncurses mode yet. Don’t know whether anybody thought about it already, but you can try to visit libyui sourceforge page and either fill in feature request or contribute the code 😉

  4. Humberto says:

    I’m interested in using the benefits of libyui library. I wonder if the libyui Gentoo support is available for i386 architectures.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>