Alexey Tourbin
0e2e506379
depends.c: do not check installed Conflicts against addedPackages names
In build.c:checkSpec(), build dependencies are checked by creating a transaction, adding source header to the transaction and then running rpmdepCheck(). Source headers have only BuildRequies and BuildConflicts types of dependencies (no regular Requires and Conflicts). Also, source packages have no Provides, but they have NAMES. When a self-conflicting package is installed, its self conflict will be triggered by the source package name. To fix the problem, note that binary packages explicitly provide their N=EVR among Provides; and source packages provides nothing, even the name. So the solution is as simple as not to check the dependencies against package names. Update: also, do not check installed Requires against erasedPackages names.
This is RPM, the Red Hat Package Manager. The latest releases are always available at: ftp://ftp.rpm.org/pub/rpm Additional RPM documentation (papers, slides, HOWTOs) can also be found at the same site, as well as http://www.rpm.org. There is a mailing list for discussion of RPM issues, rpm-list@redhat.com. To subscribe, send a message to rpm-list-request@redhat.com with the word "subscribe" in the subject line. RPM was originally written by: Erik Troan <ewt@redhat.com> Marc Ewing <marc@redhat.com> See the CREDITS file for a list of folks who have helped us out tremendously. RPM is Copyright (c) 1998 by Red Hat Software, Inc., and may be distributed under the terms of the GPL and LGPL (see the file COPYING for details).
Description
Languages
C
88.7%
Shell
8.9%
M4
1.3%
Makefile
1%