SUSE working on new base layer for YaST and allied programs
In a blog post entitled "YaST++: next step in system management", SUSE developer Jiří Suchomel has announced a software library which will take care of the low-level work for a range of configuration tools. The intention is not for YaST++ to replace YaST variants based on Qt, GTK+ and ncurses, but to replace the base layer on which these and other configuration tools are built. However, Suchomel notes that it could also be used in other areas, such as WebYaST or SUSE Studio. He hopes that other tools will use the library, including those outside the SUSE ecosystem.
Suchomel cites the fact that large parts of YaST are written in an "outdated language" which hardly anyone still uses as one reason for introducing the new library; in a reply to a comment, Suchomel points out that, while the core of YaST is written in C++, the modules are written in YCP, the YaST Control Programming language – YaST++ is based on Ruby. The software is divided into two layers: YLib, a high-level library that provides the API, and the config agents, which consist of D-BUS services that run as root but are only started for those with correct permissions. "So YaST++ offers role based access management, where specific users can be allowed to do specific sets of actions," added Suchomel.
The current development source code is available on GitHub and is licensed under version 2.1 or 3 of the LGPL. A tutorial on writing modules for YaST++ is also provided. The readme file on GitHub describes the code as "still in a research phase", while the architecture document discusses the advantages of YaST++ and its architecture.