From Fedora Project Wiki

< User:Timlau

Revision as of 06:37, 28 May 2008 by Timlau (talk | contribs) (TimLauridsen/YumGuiBackBone moved to User:Timlau/YumGuiBackBone)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Yum GUI Backbone

This page contains ideas about creating a common backbone for Yum Gui Application like pirut, pup, anaconda, yumex and other. [[TableOfContents(4)]

The Dream

To share a much code as possible for the different application, there provides a GUI to some kind of yum functionality. Different kind of GUIs target different types of users and provides different features, but behind the scene they to much of the same actions against the yum api. So different GUI maintain a lot of code to do the same things, so if some common action could be put in some kind of common python library build on top of the yum api, a lot of developer time could be save and i will be much easier for developers to create GUI tools to provide users with yum based functionality. The different GUI, will mostly have different glade files and gui event handlers there calls different action in the common yum gui library.

The Players

This section lists the application there could benefit from a common yum gui backbone.

Yum Extender (yumex)

A advanced package manager with a lot of Advanced Feature to install/remove/update packages and groups of packages.


The default Fedora GUI for install/remove packages and groups of packages.


The default Fedora GUI for updating packages.


The default Fedora GUI for installing local RPMs.


The Fedora Installer uses the same category/group selection as pirut.


The Fedora GUI tool for creating kickstart files. Uses the same category/group selection as pirut.


Fedora respin and live CD/USB creator GUI. Uses the same category/group selection as pirut.

Fedora Offline Package Manager

The Fedora Offline Package Manager is a tool for installing packages and dependencies on offline systems.

Library content

This section describes the thing there could be contained in the common yum gui library.

  • Generic Callback handlers. (RPM, Download, etc)
  • Generic Progressbar handlers.
  • Generic Glade interface to access the glade widget and the event callback in generic way.
  • Generic Package & Group View (Easy to customize).
  • Add an abstraction layer to yum, to do simple actions without knowing the full yum api.
  • Add you own ideas here.

The Code

The have create a git repository with sample code for a generic yumguicore python module.