mirror of
https://abf.rosa.ru/djam/urpm-tools.git
synced 2025-02-23 17:32:46 +00:00
107 lines
6.9 KiB
Groff
107 lines
6.9 KiB
Groff
![]() |
.\" urpm-repograph
|
||
|
.TH "urpm-repograph" "1" "21 December 2011" "Vladimir Testov" "Mandriva Package Management"
|
||
|
.SH "NAME"
|
||
|
urpm-repograph - build dependency graph of repository
|
||
|
.SH "SYNOPSIS"
|
||
|
\fBurpm-repograph\fP [options] REPOSITORY
|
||
|
.SH "DESCRIPTION"
|
||
|
.PP
|
||
|
\fBurpm-repograph\fP is a tool for generating dependency graph for REPOSITORY packages.
|
||
|
Output is in the format of language "DOT". Meanwhile it can check for
|
||
|
missing dependecies, track cross-repository dependecies, search and display dependency cycles
|
||
|
(A needs B, B needs C, C needs A), search and display alternatives ("word" is provided by
|
||
|
A, B and C), also the tool with options \fB--whatrequires\fP and \fB--requires-recursive\fP can
|
||
|
select only that part of the graph which is provided (in recursive sense) by PKG or
|
||
|
requires (also in recursive sense) PKG. Note that warning about repository mismatches
|
||
|
will not be shown in the last case.
|
||
|
.PP
|
||
|
.SH "GENERAL OPTIONS"
|
||
|
.IP "\fBREPOSITORY\fP"
|
||
|
The only required argument. URL (starts with "http://" or "ftp://")
|
||
|
or PATH (global or local, can starts with "file://")
|
||
|
to repository (exactly url or path which consists of packages and includes directory "media_info",
|
||
|
which is the only object of interest for this tool. (You can download separately files
|
||
|
"synthesis.hdlist.cz" and "files.xml.lzma" to folder (for example)
|
||
|
"./A/media_info" and run tool with "./A": "urpm-repograph ./A",
|
||
|
"files.xml.lzma" is needed only if \fB--file / -f\fP option is present.)
|
||
|
.IP "\fB\-\-cross, -c CROSS_REPO [CROSS_REPO ...]\fP"
|
||
|
Check \fBCROSS_REPO(s)\fP for cross-repository dependencies. Note that dependencies inside \fBCROSS_REPO(s)\fP
|
||
|
(PKG1 from CROSS_REPO(s) needs PKG2 from CROSS_REPO(s)) will not be shown, still dependencies inside \fBREPOSITORY\fP will be.
|
||
|
.IP "\fB\-\-quiet, -q\fP"
|
||
|
Hide service messages. Hides all kinds of status messages.
|
||
|
Note, that you can not use options \fB--quiet, -q\fP, \fB--nograph, -n\fP and do not use option \fB--verbose, -v\fP at the same time.
|
||
|
.IP "\fB\-\-verbose, -v\fP"
|
||
|
Show extended information. Shows more detailed information. Also shows warnings -
|
||
|
about missing dependecies, self-dependecies, cross-repository dependencies.
|
||
|
Note, that you can not use options \fB--quiet, -q\fP, \fB--nograph, -n\fP and do not use option \fB--verbose, -v\fP at the same time.
|
||
|
.IP "\fB\-\-requires, -r\fP"
|
||
|
Also describes \fB--suggests, -s\fP. These two options declare for which types of dependecies
|
||
|
the graph should be build and whick dependecies should be checked and processed.
|
||
|
\fB--requires, -r\fP - required dependencies, as in RPM spec-file. \fB--suggests, -s\fP - suggested dependencies, as in RPM spec-file.
|
||
|
If none of the options are present then tool works as if \fB--requires, -r\fP option was present.
|
||
|
.IP "\fB\-\-suggest, -s\fP"
|
||
|
See \fB--requires, -r\fP description.
|
||
|
.IP "\fB\-\-file, -f\fP"
|
||
|
Process file dependecies. If not present then tool will skip both checking and processing
|
||
|
dependencies from files. If present, then "files.xml.lzma" should be present.
|
||
|
.IP "\fB\-\-unprovided, -u\fP"
|
||
|
Show unprovided dependencies. Unprovided phrases in requires (and \ or suggests) sections of synthesis.hdlist will be shown in final graph.
|
||
|
Do not use with \fB--broken, -b\fP option, error will be shown and workflow terminated. \fB--broken, -b\fP does the same as \fB--unprovided, -u\fP.
|
||
|
So there is no sense in using these two options together.
|
||
|
.PP
|
||
|
.SH "PACKAGE SPECIFIC OPTIONS"
|
||
|
Only one option in this group can be present. PKG is either packagename (e.g. urpm-tools)
|
||
|
or full package name (with version, release etc). Note that if option from this group is
|
||
|
present then PKG will be checked - if there is no package named PKG in \fBREPOSITORY\fP and
|
||
|
(if \fB--cross, -c\fP option is present) there is no package named PKG in \fBCROSS_REPO(s)\fP
|
||
|
(or if there is no cross-repository dependencies to or from PKG really present in \fBCROSS_REPO(s)\fP)
|
||
|
then selecting of sub-graph will not be performed, warning will be shown and the tool will stop.
|
||
|
Also note that no warnings will be shown (even if \fB--verbose, -v\fP option is present).
|
||
|
If \fB--verbose, -v\fP option is present then list of packages will be written to STDIN. Also some types of warnings will be written to STDIN
|
||
|
when using \fB--verbose, -v\fP.
|
||
|
.IP "\fB\-\-requires-recursive PKG\fP"
|
||
|
Search for packages, which are required by package PKG.
|
||
|
(in recursive sense, for example, if PKG needs PKG2 and PKG2 needs PKG3,
|
||
|
then PKG3 will be also checked and processed and so on)
|
||
|
.IP "\fB\-\-whatrequires PKG\fP"
|
||
|
Search for packages, which requires package PKG.
|
||
|
(in recursive sense, for example, if PKG is needed by PKG2 and PKG2 is needed by PKG3,
|
||
|
then PKG3 will be also checked and processed and so on)
|
||
|
.PP
|
||
|
.SH "ALTERNATIVE TASK OPTIONS"
|
||
|
Only one option from this group can be present. Note that \fB--requires-recursive\fP and \fB--whatrequires\fP processes are first to made (if present).
|
||
|
So, for example, you can select subgraph connected with specific package and then select subgraph of broken packages from the first subgraph.
|
||
|
If \fB--loops, -l\fP, \fB--alternatives, -a\fP or \fB--broken, -b\fP options are present - then another graph will be shown and additional algorithms will be performed.
|
||
|
.IP "\fB\-\-loops, -l\fP"
|
||
|
Search for all simple loops of cycled dependencies.
|
||
|
.IP "\fB\-\-alternatives, -a\fP"
|
||
|
Search for alternative packages providing the same feature.
|
||
|
.IP "\fB\-\-broken, -b\fP"
|
||
|
Search for broken packages and those, which are dependend from broken.
|
||
|
.IP "\fB\-\-different, -d\fP"
|
||
|
Output each loop or each alternative in different file. \fBOUTPUT_FILE\fP is tracted as folder name for new files in that case.
|
||
|
Ignored if both \fB--loops, -l\fP and \fB--alternatives, -a\fP options are absent. Also ignored if \fB--output, -o\fP option is not present.
|
||
|
.PP
|
||
|
.SH "OUTPUT OPTIONS"
|
||
|
Only one option in this group can be present. If not specified, graph will be outputted to STDIN.
|
||
|
.IP "\fB\-\-output, -o OUTPUT_FILE\fP"
|
||
|
Output graph to a specified file OUTPUT_FILE. OUTPUT_FILE is treated as directory name if \fB--different, -d\fP option is present.
|
||
|
.IP "\fB\-\-nograph, -n\fP"
|
||
|
Do not output graph.
|
||
|
Note, that you can not use options \fB--quiet, -q\fP, \fB--nograph, -n\fP and do not use option \fB--verbose, -v\fP at the same time.
|
||
|
.PP
|
||
|
.SH "EXAMPLES"
|
||
|
.IP "Analyze local repository and output graph to file './full-graph.dot', show service messages:"
|
||
|
\fBurpm-repograph /tmp/repo -v -o ./full-graph.dot\fP
|
||
|
.IP "Analyze external repository, hide service messages, show warnings and save them into 'warnings.txt':"
|
||
|
\fBurpm-repograph http://example.com/repo -qvn > warnings.txt\fP
|
||
|
.IP "Analyze two external repository - 'http://example.com/main/release' and additional 'http://example.com/contrib/release'. Select only packages that requires 'example-pkg' (in recursive sense). Search for loops in this group of packages and output every loop in different file in directory '/tmp/tmp-forever':"
|
||
|
\fBurpm-repograph http://example.com/main/release -c http://example.com/contrib/release --whatrequires example-pkg -qad -o /tmp/tmp-forever/\fP
|
||
|
.PP
|
||
|
|
||
|
.PP
|
||
|
.SH "AUTHORS"
|
||
|
.nf
|
||
|
See the Authors file included with this program.
|
||
|
.fi
|