=head1 NAME urpmf - Finds the packages matching some conditions =head1 SYNOPSIS urpmf [options] <pattern-expression> =head1 DESCRIPTION By default, urpmf outputs the list of the known packages that contain a file whose name or path was specified as an argument on the command-line. <I<pattern-expression>> is the name or part of the name of the file you want to locate. Perl-style regular expressions are allowed. urpmf will then print a list of matching files, with their corresponding packages. By using options, you may format output differently, and search through other rpm tags. The default behaviour corresponds to the B<--files> option; using other options makes urpmf search through other tags' contents. Note that urpmf searches through the urpmi media (B<not> in the system's rpm database -- for that you should use rpm(8) instead). =head1 OPTIONS =over =item B<--help> Prints a help message and exits. =item B<--version> Prints the version number and exits. =item B<--env> I<directory> Use a different environment directly out of a bug report tarball. =item B<--excludemedia> I<medium1,...,mediumN> Do not use the given media. =item B<--literal> Match literally instead of interpreting the argument as a regular expression. =item B<-l> Equivalent to B<--literal>. =item B<--media> I<medium1,...,mediumN> Select specific media to be used, instead of defaulting to all available media (or all update media if B<--update> is used). =item B<--sortmedia> I<medium1,...,mediumN> Sort the given media, substrings may be used to simplify grouping. This way, C<media1> will be taken into account first, then C<media2>, and so on. Media which aren't listed are taken into account after the others. =item B<--synthesis> I<file> Use the given synthesis file instead of urpmi db for searching packages. =item B<--use-distrib> I<directory> Use the given distribution tree instead of urpmi db for searching packages. =item B<--uniq> Do not print identical lines twice. =item B<--update> Use only update media. This means urpmf will only search through media marked as update. =item B<--urpmi-root> I<directory> Use the file system tree rooted for urpmi database and rpm install. Contrary to B<--root>, the urpmi configuration comes from the rooted tree. =item B<--verbose> Verbose mode. urpmf will emit various messages related to the parsing of hdlist files for your media. =item B<-i> Ignore case distinctions in the patterns that follow. =item B<-I> Honor case distinctions in the patterns that follow. This is the default behaviour. =item B<-F> I<string> Change field separator to I<string> for the rest of the output line (it defaults to ':') =item B<--qf> I<format-string> Specify a printf-like output format. =item B<--arch> Prints the architecture tag. =item B<--buildhost> Prints the BuildHost tag. =item B<--buildtime> Prints the BuildTime tag. =item B<--conffiles> Prints the list of configuration files contained in the package. (Might be empty.) =item B<--conflicts> Prints the Conflicts tags. =item B<--description> Prints the Description tag. =item B<--distribution> Prints the Distribution tag. =item B<--epoch> Prints the Epoch tag. =item B<--filename> Prints package file names. =item B<--files> Prints the list of files contained in the rpm (this is the default if you specify no field). =item B<--group> Prints the Group tag. =item B<--name> Prints package names. =item B<--obsoletes> Prints the Obsoletes tags. =item B<--packager> Prints the Packager tag. =item B<--provides> Prints the Provides tags. =item B<--requires> Prints the Requires tag. =item B<--size> Prints the Size tag. =item B<--sourcerpm> Prints the names of source rpms. =item B<--summary> Prints the Summary tag. =item B<--url> Prints the packages' URL. =item B<--vendor> Prints the Vendor tag. =item B<-m> Print the name of the media in which the package has been found. =item B<-f> Print version, release and arch along with name of package. This modifies the effect of the I<--name> option. =item B<-e> Include code directly in the perl search expression. Use it with B<--debug> to look at the generated perl code. In any cases, use it only if you know perl. =item B<-a> Binary AND operator, true if both expressions are true. =item B<-o> Binary OR operator, true if one expression is true. =item B<!> Unary NOT, true if expression is false. =item B<(> Left parenthesis to open a group expression. =item B<)> Right parenthesis to close a group expression. =item B<--debug> Includes debugging output. =back =head1 FORMAT The options to select tags (B<--arch>, B<--buildhost> and so on) control the output format of urpmf. If not explicitly specified somewhere else, the name of the rpm is printed first. Fields are separated by C<:> until specified otherwise. You can also use B<--qf> for that. It takes a format string, where tags to be replaced are specified as B<%>I<[-][number]>B<tagname>. The optional number indicates the length of the space-padding and the B<-> character its justification (like in printf(3)). =head1 EXPRESSIONS The boolean operator switches allow you to construct complex expressions from regexps. Those expressions are then matched against the whole output line. =head1 EXAMPLE This command will list all C<perl-Apache> modules, and list them along with the media in which they're been found, nicely indented : urpmf --qf '%-30name is found in media %media' perl-Apache =head1 FILES See urpmi.files(5). =head1 SEE ALSO urpmi.addmedia(8), urpmi.update(8), urpmi.removemedia(8), urpmi(8), urpmq(8), urpmi.files(5). =head1 AUTHOR Pascal Rigaux <pixel@mandriva.com> (original author and current maintainer), FranE<ccedil>ois Pons, Rafael Garcia-Suarez