1RPMDEPLINT(1)                     rpmdeplint                     RPMDEPLINT(1)
2
3
4

NAME

6       rpmdeplint  -  a  tool to find errors in RPM packages in the context of
7       their dependency graph
8

SYNOPSIS

10       rpmdeplint COMMAND [--repo NAME,URL] [RPMPATH]
11
12

DESCRIPTION

14       The rpmdeplint command tests the dependency satisfiability of specified
15       RPM packages against given repositories.
16

OPTIONS

18       --repo NAME[,URL_OR_PATH], -r NAME[,URL_OR_PATH]
19              Load yum repository specified by name or by URL/path.
20
21              If  the  repo  is  already configured in /etc/yum.repos.d/*.repo
22              simply specify its name like:
23
24                 --repo=fedora
25
26              Otherwise, specify a name and the base URL or metalink. The NAME
27              is  for descriptive purposes only in this case. It has no impact
28              on dependency resolution. If rpmdeplint identifies a  dependency
29              issue  relating  to a package in this repo, the NAME will appear
30              in the error message. Examples:
31
32                 --repo=fedora,https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/
33
34                 --repo=fedora,https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64
35
36              You can also specify a local filesystem path instead of  a  URL,
37              like:
38
39                 --repo=myrepo,/home/me/my_repo
40
41              Note  that  the  URL/path should point at a directory containing
42              repodata/repomd.xml. Examples:
43
44       --repos-from-system, -R
45              Use yum repos from the system-wide configuration in /etc/yum.re‐
46              pos.d/*.repo. Repos which are disabled in the configuration (en‐
47              abled=0) are ignored.
48
49              This option can be combined with one or more --repo options.
50
51       --arch ARCH, -a ARCH
52              Only consider packages for ARCH when solving dependencies. If  a
53              repo  contains  packages  for any other arches, they will be ig‐
54              nored.
55
56              Note that the traditional RPM arch compatibility rules  are  ap‐
57              plied,  which  means  that  noarch  packages and "inferior" arch
58              packages are also included (for  example,  i686  implicitly  in‐
59              cludes i386).
60
61              This option is normally not required, because distribution repos
62              are normally split by arch (including the various special  cases
63              for multilib).
64

ARGUMENTS

66       RPMPATH
67              Path  to  an  RPM  package.  This  can be a relative or absolute
68              filesystem path.
69

COMMANDS

71       check  Performs each of the checks listed below.
72
73       check-sat
74              Checks for  unmet  dependencies  with  the  given  RPM  packages
75              against  the  given  repositories.   Each  unmet  dependency  is
76              listed.
77
78       check-repoclosure
79              Checks for unmet dependencies in the  given  repositories,  when
80              considered together with the given packages. This check is simi‐
81              lar to check-sat, except it checks only packages in the  reposi‐
82              tories, not the packages under test.
83
84              Packages are only considered to be available for dependency res‐
85              olution if they are the latest version and not obsoleted by  any
86              other package.  Therefore this check can detect problems where a
87              package under test is updating an existing package in the repos‐
88              itories,  but it no longer provides a requirement needed by some
89              other package in the repositories.
90
91              In case a pre-existing repoclosure problem is  found  (that  is,
92              the  same  problem exists when considering only the repositories
93              without the packages under test) a warning is printed to stderr,
94              but the check is not considered to have failed.
95
96       check-conflicts
97              Checks  for undeclared file conflicts in the given RPM packages:
98              that is, when a given package contains a file also contained  in
99              another package.
100
101              This  command  will not report a file as conflicting between two
102              packages if:
103
104              • there is an explicit RPM Conflicts between the  two  packages;
105                or
106
107              • the file’s checksum, permissions, owner, and group are identi‐
108                cal in both packages (RPM allows both packages to own the file
109                in this case); or
110
111              • the  file’s  color  is different between the two packages (RPM
112                will silently resolve the conflict in  favour  of  the  64-bit
113                file).
114
115       check-upgrade
116              Checks  that  there are no existing packages in the repositories
117              which would upgrade or obsolete the given packages.
118
119              If this check fails, it means that the package under  test  will
120              never  be  installed (since the package manager will always pick
121              the newer or obsoleting package from the  repositories  instead)
122              which  is  not desirable, assuming the package is intended as an
123              update.
124
125       list-deps
126              All dependencies will be listed for each given RPM package.
127

EXIT STATUS

129       0      Checks ran successfully, and no problems were found
130
131       1      Error occurred while running checks  (including  network  errors
132              downloading repodata)
133
134       2      Command-line usage error
135
136       3      Problems were found with the packages under test
137

EXAMPLES

139       Imagine  you have produced a new pre-release build of your package, and
140       you want to check if it will cause dependency errors in Fedora:
141
142          rpmdeplint check \
143              --repo=fedora,https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/ \
144              greenwave-0.6.1-0.git.2.2529bfb.fc29.noarch.rpm
145
146       You don't have to specify the URLs of the repos  if  they  are  already
147       configured in /etc/yum.repos.d/:
148
149          rpmdeplint check \
150              --repo=fedora --repo=updates \
151              greenwave-0.6.1-0.git.2.2529bfb.fc29.noarch.rpm
152
153       or use all configured repos:
154
155          rpmdeplint check \
156              --repos-from-system \
157              greenwave-0.6.1-0.git.2.2529bfb.fc29.noarch.rpm
158
159       You can also use a local filesystem path instead of an absolute URL for
160       the repos to test against. For example, if you are  offline  you  could
161       re-use  your  local  dnf cache. (Note that rpmdeplint may need to fetch
162       packages for file conflict checking and this step will fail if you  use
163       an incomplete repo such as the dnf cache.)
164
165          rpmdeplint check \
166              --repo=rawhide,/var/cache/dnf/rawhide-2d95c80a1fa0a67d/
167              greenwave-0.6.1-0.git.2.2529bfb.fc29.noarch.rpm
168

BUGS

170       Bug         reports         can         be         submitted         to
171       https://github.com/fedora-ci/rpmdeplint/issues.
172

AUTHOR

174       rpmdeplint contributors
175
177       2023, Red Hat
178
179
180
181
1822.0                              Nov 14, 2023                    RPMDEPLINT(1)
Impressum