- 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.17
- 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.
- 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.
- 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.