- Himerge
Himerge is a graphical user interface for emerge (Gentoo's Portage system) written in Haskell using gtk2hs.
The main idea is to simplify browsing the entire portage tree as well as of running the most basic and common options from the emerge command. Himerge also offers several handy tools, like global and local use flags browsers, pretty much inspired on UFED (Gentoo Linux USE flags editor). It also uses eix (Small utility for searching ebuilds with indexing for fast results) as a back-end command to show package information on html/css format, so you can access the package web-site for a quick-glance.
- Features on Himerge 0.30
- Access the whole portage tree using the 'Category', 'Package', 'Version' views.
- Category: List all the categories of the repository. This is /usr/portage by default, but you can specify a new one (overlays.)
- Package: List all the packages inside a category.
- Version: List all the available versions of a specific package.
- Run the most common 'emerge' operations with just one click: emerge, unmerge, binpkg, fetch, usepkg and more.
- Sync the tree pressing a button.
- Himerge makes you working around a queue of packages, so you can easily remove and add packages to this queue, and choose what operations you want to apply on them.
- Update world. The package queue method of Himerge makes it very flexible to select which package to remove or add on a system updating.
- Quick access through the information window to the web site of each package. (Himerge will open a firefox or mozilla compatible browser for this, just be sure you have a binary named 'firefox' on the path)
- See what it is happening. Himerge has a 'View' system that allows to watch the output of each operation, so, you 'as' a Gentoo user, don't miss anything ;-)
- Resizable windows. You can change the size of the main panels of Himerge, so you can get a complete view for any operation you are doing.
- USE Flag Browser. Himerge has an USE Flag browser that lets you to choose with just one click if you want to add or remove a flag.
- Package Branch Browser. This is a browser that makes editing easy for the files inside /etc/portage/. The functionality of this browser is connected to the view of packages of Himerge, so you can easily 'keyword', 'mask', 'unmask', or even specify which use flags to select for a package from a single right click over a package name.
- Access some extra operations like: update metadata, rebuild dependencies.
- Himerge uses 'eix' as a back-end for fast indexing and searching of packages.
- Himerge uses 'equery' as a back-end for reverse dependencies calculation. (new since version 0.14)
- You can easily save the log of the output of 'any' operation from Himerge, use "Save Current Page" , or "Save All Pages" from the menu , choose a file name and done. This comes in handy when you have to report package bugs or information to developers.
- Himerge allows you to check the ebuild file for a package and even edit it. It also shows the Changelog file for each selected package.
- Himerge supports overlays. All the operations are equally available for your own repositories too.
- It easily shows the installed packages versions available in the system.
- And more!
- How-to
Himerge works around a queue system. This queue contains all the packages upon which you are going to act with a specific emerge option. For example, to install package A-1.1, you go to the 'Version' view, select the package, and press the button queue. Now it will calculate all the necessary dependencies for A-1.1 and they will be added to the 'Queue' page inside the panel under the portage tree views, including the package A-1.1 too.
This queue will also show all the use flags options for every package, in other words, it shows the output from the command 'emerge --verbose --pretend' for the given package.
After calculating the queue, you can choose the action you want to apply for these packages. In this specific example, the most common choice would be to install the package with all of its dependencies, so we press the emerge button.
In the same way, the following buttons work around this queue:
- unmerge = un-install package (--unmerge)
- binary = install and build a binary package (--buildpkg)
- usepkg = install a binary package if available (--usepkg)
- fetch = fetch only these (queued) packages. (--nodeps --fetchonly)
Other buttons are used alone (independent of the queue contents), for example, the world and sync buttons update both the system and portage tree respectively.
- Short-Cut Keys
As of version 0.30.30 , Himerge support several handy short-cut keys for all the most common operations.
Now all of the buttons operations are available using the combinations 'Ctrl+Alt+[Op]' where [Op] can be any of the following keys depending on the operation:
- Q : Queue
- R : Reverse Dependencies
- W : World
- N : New World
- M : System
- D : Dependencies Clean
- A : List all installed packages
- S : Sync
- E : Emerge
- U : Unmerge
- B : Build binary packages
- K : Use packages
- F : Fetch packages
Besides all the toolbutton operations, Himege now also offers the following handy shortcuts for easier navigation through the main browser view and access to the most common operations for working around a package:
- Ctrl+O : will take you right to the search box!
- Ctrl+C : on top of a process or queue panel will close such a page from the 'Control Panel'
Acess the main tree views of the browser using:
- Ctrl+J : for category list
- Ctrl+K : for package list
- Ctrl+L : for version list
As an example of how easy is to find a package , select a specific version of it and install it, do the following:
- Ctrl+O : Enter package name
- Ctrl+L : Get to package view, select version
- Ctrl+Alt+Q : Calculate dependencies for the package
- Ctrl+Alt+E : Install the package with all its dependencies!
Easy!
- Documentation
You can access this help any time through Himerge from the Menu list (Help - Help) or with the keys combination 'Ctrl+H'.
You also can visit the official Himerge web site at http://www.haskell.org/himerge for further information about this program or project.
- Wiki
Himerge has now a wiki site at http://www.haskell.org/haskellwiki/Himerge.This site is intended to contain the latest information and documentation about Himerge, everyone is welcome to participate and cooperate with it.
- Development
Visit http://www.haskell.org/himerge/development.html for information about Himerge development and report bugs or send suggestions to the trac site at http://trac.haskell.org/himerge/.