Ignore package conflicts against themselves, due to virtual packages.

This commit is contained in:
Juan RP 2013-02-02 14:34:55 +01:00
parent dcff876533
commit fa1d543dfa
2 changed files with 9 additions and 0 deletions

3
NEWS
View File

@ -1,5 +1,8 @@
xbps-0.21 (???):
* libxbps: ignore packages conflicting themselves, which can happen with
virtual packages.
* xbps-query(8): fix issue #3 from github
"xbps-query -o only works for installed packages".

View File

@ -63,6 +63,9 @@ xbps_pkg_find_conflicts(struct xbps_handle *xhp,
(pkgd = xbps_pkgdb_get_virtualpkg(xhp, cfpkg))) {
prop_dictionary_get_cstring_nocopy(pkgd,
"pkgver", &pkgver);
if (strcmp(pkgver, repopkgver))
continue;
xbps_dbg_printf(xhp, "found conflicting installed "
"pkg %s with pkg in transaction %s\n", pkgver,
repopkgver);
@ -79,6 +82,9 @@ xbps_pkg_find_conflicts(struct xbps_handle *xhp,
(pkgd = xbps_find_virtualpkg_in_array(xhp, unsorted, cfpkg))) {
prop_dictionary_get_cstring_nocopy(pkgd,
"pkgver", &pkgver);
if (strcmp(pkgver, repopkgver))
continue;
xbps_dbg_printf(xhp, "found conflicting pkgs in "
"transaction %s <-> %s\n", pkgver, repopkgver);
buf = xbps_xasprintf("%s conflicts with "