=head1 NAME expac - alpm data extraction utility =head1 SYNOPSIS Usage: I [options] EformatE targets... =head1 DESCRIPTION expac is a data extraction tool for alpm databases. It features printf-like flexibility and aims to be used as a simple tool for other pacman based utilities which don't link against the library. It uses pacman.conf as a config file for locating and loading your local and sync databases. Invoking expac consists of supplying a format string, which is generally described by one to many of the formatting tokens (see the B section), any relevant options and zero to many targets. The format string B be the first non-option argument. Targets can be a simple package name, a query string (in the case of a search), or in repo/package syntax when the -sync option is supplied. =head1 OPTIONS =over 4 =item B<-Q, --query> Search the local database for provided targets. This is the default behavior. =item B<-S, --sync> Search the sync databases for provided targets. =item B<-s, --search> Search for packages matching the strings specified by targets. This is a boolean AND query and regex is allowed. =item B<-g, --group> Return packages matching the specified targets as package groups. =item B<--config> Read from I for alpm initialization instead of I. =item B<-H, --humansize> Format package sizes in SI units according to I. Valid options are: B, K, M, G, T, P, E, Z, Y =item B<-1, --readone> Stop searching after the first result. This only has an effect on -S operations without -s. =item B<-d, --delim> Separate each package with the specified I. The default value is a newline character. =item B<-l, --listdelim> Separate each list item with the specified I. Lists are any interpreted sequence specified with a capital letter. The default value is two spaces. =item B<-p, --file> Interpret targets as paths to local files. =item B<-t, --timefmt> Output time described by the specified I. This string is passed directly to strftime(3). The default format is %c. =item B<-v, --verbose> Output more. `Package not found' errors will be shown, and empty field values will display as 'None'. =item B<-h, --help> Display the help message and quit. =back =head1 FORMATTING The format argument allows the following interpreted sequences: %B backup files %C conflicts with %D depends on %E depends on (no version strings) %F files (only with -Q) %G groups %L licenses %N required by %O optional deps %o optional deps (no descriptions) %P provides %R replaces %S provides (no version strings) %a architecture %b build date %d description %f filename (only with -S) %g base64 encoded PGP signature (only with -S) %h sha256sum %V package validation method %i has install scriptlet (only with -Q) %k download size (only with -S) %l install date (only with -Q) %m install size %M modified backup files (only with -Q) %n package name %p packager name %r repo %s md5sum %u project URL %v version %w install reason (only with -Q) %! result number (auto-incremented counter, starts at 0) %% literal % Note that for any lowercase tokens aside from %m and %k, full printf support is allowed, e.g. %-20n. This does not apply to any list based, date, or numerical output. Standard backslash escape sequences are supported, as per printf(1). =head1 EXAMPLES Emulate pacman's search function: =over 4 $ expac -Ss '%r/%n %v\n %d' =back List the oldest 10 installed packages (by build date): =over 4 $ expac --timefmt=%s '%b\t%n' | sort -n | head -10 =back =head1 AUTHOR Dave Reisner Ed@falconindy.comE