www.LinuxHowtos.org
genlop
Section: Gentoo Linux log parser (1)Updated: Jul 29 2005
Index Return to Main Contents
NAME
genlop - parses portage logfile(s) for information.SYNTAX
genlop [-f logfile] [--date datespec] [-chiglnpqrstuv] name ...DESCRIPTION
genlop is a portage utility for extracting information about emerged ebuilds.
Detailed features include:
- Nice colorful output.
- Full Portage merge and unmerge history.
- Display date, time and build time of every merge.
- Display total and average build time of selected ebuilds[s].
- Estimate upgrade time.
- Watching current merge progress.
- Use alternate portage logfile(s).
- Compressed logfiles (gzip, bzip2) are supported
- Match ebuild names using regular expressions.
- Log corruption detection.
- Display build specific USE, CFLAGS, CXXFLAGS, and LDFLAGS variables.
- GMT/UTC or localized time and date.
- Full portage rsync history.
SYNTAX
- name
- is the name of a gentoo ebuild, it may be supplied in the form of:
ebuild (eg. genlop)
category/ebuild (eg. app-portage/genlop)
category/ebuild-version (eg. app-portage/genlop-0.16.3)
- datespec ( argument to the --date option ) may be supplied in any form
- parsed by Date::Manip e.g.
yesterday
last sunday
02/15/2004
and many more...
OPTIONS
- -f logfile
- specify the logfile to use instead of the default /var/log/emerge.log multiple -f options are supported, as is reading from compressed logfiles
- -g --gmt
- display time in GMT/UTC format (default is local time)
- -h --help
- output help information.
- -i --info
- prints a brief summary; this includes USE, CFLAGS, CXXFLAGS, and LDFLAGS for the currently installed ebuilds, average and total build time.
- -l --list
- lists complete merge history.
- -n --nocolor
- disables colored output.
- -q
- query gentoo.linuxhowtos.org database if no local emerge was found
- -r --rsync
- looks for portage rsync/sync history.
- -s --search regexp
- Select ebuilds matching the provided regular expression; depending on your shell you may need to escape some special characters.
- -S
- use case sensitive matching, old (pre 0.30.2) behaviour.
- -t --time
- calculate merge time.
- -u --unmerge
- display unmerges.
- -v --version
- output version information.
- --date startdate [--date enddate]
- will only select events between startdate and enddate, if enddate is not specified, examined period will be from startdate to current time.
- -p --pretend
- take output from a pretending emerge and calculate estimated build time.
- -c --current
- show the current merge in action.
Please note that short options may be bundled and that -t and -l cannot be used together.
EXAMPLES
The simplest way to use genlop is
genlop category/ebuild
To view last 10 merges, run
genlop -l | tail -n 10
To view how long merging openoffice took
genlop -t openoffice
To estimate how much 'emerge -u world' will take
emerge -pu world | genlop --pretend
Have a console watching the latest merging ebuild during upgrade
watch genlop --current --nocolor
For use in terminals that do not support ANSI
genlop -un x11-libs/qt
If you rotate emerge.log you could use:
genlop -tu -f /var/log/emerge.log -f /var/log/emerge.log.0 -f /var/log/emerge.log.1.gz ... <category/ebuild>
Full merge history
genlop -lu
Search ebuilds that match a regular expression
genlop -s gen[lt]o
what was it that I installed last week ?
genlop -l --date last week
and the week before that ?
genlop -l --date 2 weeks ago --date last week
You have installed an ftp server on monday and you want to know what USE was
specified. If you don't remember the exact ebuild name, use -s and perform
a regexp search
genlop -si ftp --date last monday --date last monday
REQUIREMENTS
Perl module Date::Manip is required for genlop to work.Perl module Time::Duration is no longer required since genlop 0.30
BUGS
- The --current option only works if FEATURES contains 'sandbox' and does not contain 'userpriv', or if FEATURES contains 'sandbox' and 'userpriv' and 'usersandbox'. You can check this by running `portageq envvar FEATURES' and checking its output.
- definitley too many options !
AUTHORS
Giorgio Mandolfo <giorgio@pollycoke.org> Antonio Dolcetta <adolcetta@infracom.it>