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>


 

Index

NAME
SYNTAX
DESCRIPTION
SYNTAX
OPTIONS
EXAMPLES
REQUIREMENTS
BUGS
AUTHORS