diff --git a/NEWS b/NEWS index 03d16ef9..5fb1e50f 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,8 @@ xbps-0.48 (???): + * libxbps: the rpool functions now set errno to ENOENT when the target + pkg cannot be found in registered repos. + * libxbps: fix a bug where broken reverse dependencies would be detected before detecting packages that need to be replaced in transaction. diff --git a/lib/rpool.c b/lib/rpool.c index 450df6c8..9acc1181 100644 --- a/lib/rpool.c +++ b/lib/rpool.c @@ -296,14 +296,21 @@ repo_find_pkg(struct xbps_handle *xhp, * Find revdeps for pkg. */ rv = xbps_rpool_foreach(xhp, find_pkg_revdeps_cb, &rpf); + break; } if (rv != 0) { errno = rv; return NULL; } - if (type == REVDEPS_PKG) - return rpf.revdeps; + if (type == REVDEPS_PKG) { + if (rpf.revdeps == NULL) + errno = ENOENT; + return rpf.revdeps; + } else { + if (rpf.pkgd == NULL) + errno = ENOENT; + } return rpf.pkgd; }