Martin Väth's Homepage


List of Publications

International Research Experience

Teaching Experience

->Activities on Github

Utilities and programs

->Profile on LinkedIn

->Summary at the Czech Academy of Sciences


->Valid XHTML 1.0 Transitional

Some Scripts for Gentoo by M. Väth

Last changes: February 4, 2015

On this page there are some scripts which are useful for the Gentoo linux distribution.

All scripts from this page can be installed directly from the mv overlay (->cgit interface on gentoo experimental) (->mirror on github) I recommend to use this overlay for installing, since then you will also get informed about changes of the scripts. The simplest way to install the mv overlay is to emerge app-portage/layman and then to call
layman -f
layman -a mv.
To update the overlay regularly, you can put the line
into /etc/eix-sync.conf (create the file if you have not done so earlier) and then use
eix-sync (instead of emerge --sync). Alternatively, with >=portage-2.16 you can also use the new git sync features to keep the mv overlay up-to-date.

  • ->eix is my main contribution for Gentoo. I am its maintainer and main contributor. Besides a lot of parsers for various data sources, it also contains a small “programming” language (intentionally not Turing complete) for a flexible output format.
    In contrast to some other packages on this page, eix is in the gentoo repository (app-portage/eix). It had once been hosted on SourceForge and BerliOS. Now you can find ->eix on Github.
  • ->logclean (on GitHub since December 21, 2011). A perl script (with zsh completion support) to keep install logs only for installed packages and to compresses them.
  • ->kernel (on GitHub since December 21, 2011). If you want to configure/compile your kernel as a user and install it as root, usually several standard commands should be entered. I got bored of typing these over and over and thus have written a convenient script to automate this task. This script needs the push function.
  • ->world (on GitHub since January 7, 2012). This script organizes (a backup of) your world file and the list of installed packages and can be used to check whether your world file contains all required packages and, moreover, which obsolete files are on your system. The latter is similar to emerge --depclean. The new versions of the script support (and require) >=portage-2.2. A zsh-completion file is also provided.
  • ->useflags (on GitHub since December 21, 2011). With this perl script you can print or save the current setting of the USE-Flags or compare with the setting of a saved versions. This is the most convenient way to keep track of the changes of the USE-Flags in the portage tree (and of the defaults in your profile). A zsh-completion file is also provided.
  • ->portage-bashrc-mv (on GitHub since December 18, 2011). This provides support for a /etc/portage/package.cflags file/dir where you can store per-packet changes to CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, LDFLAGS, and any other environment variables which you like (e.g. MAKEOPTS or package-specific variables, ...). This is similar to using /etc/portage/env but simpler. The script is also able to do some useful pre-installation tasks like removing of unnecessary .la files, locales, manpages etc. A point of the script is also that a /etc/portage/bashrc.d directory is supported in which you can put scripts which extend the functionality of /etc/portage/bashrc.
  • ->squash_dir (on GitHub since October 31, 2011). This script allows to mount directories (like the portage tree) compressed and writable via squashfs and aufs|unionfs-fuse|unionfs|funionfs and to store the changes during shutdown.
  • ->trickyfetch (on GitHub since January 6, 2012). There are several scripts which should cleanup the ${DISTDIR} directory. However, none of these seems to work really reliable. The only reliable method appears to be to clean this directory completely and fetch all required files again with an emerge -feD @world @system. With this script you can do this without downloading anything again, and moreover, for ordinary downloads you can also take advantage of the getdelta package if you have it installed (configuring at runtime whether you want it or not).
  • emerge.wrapper.tar.gz (removed) This was a wrapper script which was only useful when portage did not have options like --keep-going or sets like @module-rebuild. Since this functionality is now contained in portage, this script is obsolete and was therefore removed.