From dfc7ff4232a7f092b2fa70ccd43277bf182571d4 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 18 Jan 2012 08:25:28 +0100 Subject: [PATCH] API break: simplify xbps_repository_pool_find_virtualpkg(). --- bin/xbps-repo/show.c | 6 +++--- include/xbps_api.h | 15 +++++++-------- lib/repository_finddeps.c | 4 ++-- lib/repository_pool_find.c | 4 ++-- lib/transaction_ops.c | 8 +++----- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/bin/xbps-repo/show.c b/bin/xbps-repo/show.c index c4ae409a..ec2684fb 100644 --- a/bin/xbps-repo/show.c +++ b/bin/xbps-repo/show.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2008-2011 Juan Romero Pardines. + * Copyright (c) 2008-2012 Juan Romero Pardines. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -49,7 +49,7 @@ show_pkg_info_from_repolist(const char *pkgname, const char *option) { prop_dictionary_t pkgd; - pkgd = xbps_repository_pool_find_virtualpkg(pkgname, false, false); + pkgd = xbps_repository_pool_find_virtualpkg(pkgname, false); if (pkgd == NULL) { pkgd = xbps_repository_pool_find_pkg(pkgname, false, false); if (pkgd == NULL) @@ -72,7 +72,7 @@ show_pkg_deps_from_repolist(const char *pkgname) prop_dictionary_t pkgd; const char *ver, *repoloc; - pkgd = xbps_repository_pool_find_virtualpkg(pkgname, false, false); + pkgd = xbps_repository_pool_find_virtualpkg(pkgname, false); if (pkgd == NULL) { pkgd = xbps_repository_pool_find_pkg(pkgname, false, false); if (pkgd == NULL) diff --git a/include/xbps_api.h b/include/xbps_api.h index d595d40a..d1e3da3a 100644 --- a/include/xbps_api.h +++ b/include/xbps_api.h @@ -56,7 +56,7 @@ */ #define XBPS_PKGINDEX_VERSION "1.3" -#define XBPS_API_VERSION "20120117-2" +#define XBPS_API_VERSION "20120118" #define XBPS_VERSION "0.12" /** @@ -1441,7 +1441,8 @@ int xbps_repository_pool_foreach( * account virtual packages set in configuration file. * * @param[in] pkg Package pattern or name. - * @param[in] bypattern True if \a pkg is a pattern, false if it is a pkgname. + * @param[in] bypattern Set it to true if \a pkg is a pkgpattern (foo>=0), + * false if it is a pkgname. * @param[in] best True to find the best version available in repo, false to * fetch the first package found matching its pkgname. * @@ -1469,18 +1470,16 @@ prop_dictionary_t xbps_repository_pool_find_pkg_exact(const char *pkgver); * package pattern or a package name. Only virtual packages set in * configuration file will be matched. * - * @param[in] pkg Virtual package pattern or name. - * @param[in] bypattern True if \a pkg is a pattern, false if it is a pkgname. - * @param[in] best True to find the best version available in repo, false to - * fetch the first package found matching its pkgname. + * @param[in] pkg Virtual package pattern or name to match. + * @param[in] bypattern Set it to true if \a pkg is a pkgpattern (foo>=0), + * false if it is a pkgname. * * @return The package dictionary if found, NULL otherwise. * @note When returned dictionary is no longer needed, you must release it * with prop_object_release(3). */ prop_dictionary_t - xbps_repository_pool_find_virtualpkg(const char *pkg, - bool bypattern, bool best); + xbps_repository_pool_find_virtualpkg(const char *pkg, bool bypattern); /** * Iterate over the the repository pool and search for a metadata plist diff --git a/lib/repository_finddeps.c b/lib/repository_finddeps.c index 2d430fa2..a456b13e 100644 --- a/lib/repository_finddeps.c +++ b/lib/repository_finddeps.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2008-2011 Juan Romero Pardines. + * Copyright (c) 2008-2012 Juan Romero Pardines. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -362,7 +362,7 @@ find_repo_deps(prop_dictionary_t transd, /* transaction dictionary */ * Pass 3: if required dependency is not in repository, * add pkg into the missing deps array and pass to next one. */ - curpkgd = xbps_repository_pool_find_virtualpkg(reqpkg, true, false); + curpkgd = xbps_repository_pool_find_virtualpkg(reqpkg, true); if (curpkgd == NULL) { curpkgd = xbps_repository_pool_find_pkg(reqpkg, true, false); if (curpkgd == NULL) { diff --git a/lib/repository_pool_find.c b/lib/repository_pool_find.c index 5a0e6820..2a821ae8 100644 --- a/lib/repository_pool_find.c +++ b/lib/repository_pool_find.c @@ -234,14 +234,14 @@ repo_find_pkg(const char *pkg, bool bypattern, bool best, bool exact, } prop_dictionary_t -xbps_repository_pool_find_virtualpkg(const char *pkg, bool bypattern, bool best) +xbps_repository_pool_find_virtualpkg(const char *pkg, bool bypattern) { struct repo_pool_fpkg *rpf; prop_dictionary_t pkgd = NULL; assert(pkg != NULL); - rpf = repo_find_pkg(pkg, bypattern, best, false, true); + rpf = repo_find_pkg(pkg, bypattern, false, false, true); if (prop_object_type(rpf->pkgd) == PROP_TYPE_DICTIONARY) pkgd = prop_dictionary_copy(rpf->pkgd); free(rpf); diff --git a/lib/transaction_ops.c b/lib/transaction_ops.c index 203723bf..6d290644 100644 --- a/lib/transaction_ops.c +++ b/lib/transaction_ops.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2009-2011 Juan Romero Pardines. + * Copyright (c) 2009-2012 Juan Romero Pardines. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -92,10 +92,8 @@ transaction_find_pkg(const char *pattern, int action) pkg_repod = xbps_repository_pool_find_pkg(pattern, bypattern, bestpkg); if (pkg_repod == NULL) { - if (!bestpkg) { - pkg_repod = xbps_repository_pool_find_virtualpkg( - pattern, bypattern, bestpkg); - } + pkg_repod = + xbps_repository_pool_find_virtualpkg(pattern, bypattern); if (pkg_repod == NULL) { /* not found */ rv = errno;