Introduce xbps_repo_get_pkg_plist() and use it in xbps-query -R.
This commit is contained in:
parent
2c03e1c9a8
commit
3abe48b68a
@ -299,7 +299,7 @@ repo_show_pkg_info(struct xbps_handle *xhp,
|
|||||||
((ipkgd = xbps_rpool_get_virtualpkg(xhp, pattern)) == NULL))
|
((ipkgd = xbps_rpool_get_virtualpkg(xhp, pattern)) == NULL))
|
||||||
return errno;
|
return errno;
|
||||||
|
|
||||||
if ((bpkgd = xbps_rpool_get_pkg_plist(xhp, pattern, "./props.plist")) == NULL)
|
if ((bpkgd = xbps_repo_get_pkg_plist(xhp, ipkgd, "./props.plist")) == NULL)
|
||||||
return errno;
|
return errno;
|
||||||
|
|
||||||
prop_dictionary_set(bpkgd, "filename-sha256",
|
prop_dictionary_set(bpkgd, "filename-sha256",
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
*
|
*
|
||||||
* This header documents the full API for the XBPS Library.
|
* This header documents the full API for the XBPS Library.
|
||||||
*/
|
*/
|
||||||
#define XBPS_API_VERSION "20130614"
|
#define XBPS_API_VERSION "20130614-1"
|
||||||
|
|
||||||
#ifndef XBPS_VERSION
|
#ifndef XBPS_VERSION
|
||||||
#define XBPS_VERSION "UNSET"
|
#define XBPS_VERSION "UNSET"
|
||||||
@ -1322,6 +1322,20 @@ prop_dictionary_t xbps_repo_get_pkg(struct xbps_repo *repo, const char *pkg);
|
|||||||
prop_dictionary_t xbps_repo_get_virtualpkg(struct xbps_repo *repo,
|
prop_dictionary_t xbps_repo_get_virtualpkg(struct xbps_repo *repo,
|
||||||
const char *pkg);
|
const char *pkg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a pkg dictionary of the matching \a plist file from a binary package,
|
||||||
|
* by looking at its package dictionary (\a pkgd) returned by a repository or rpool.
|
||||||
|
*
|
||||||
|
* @param[in] xhp Pointer to the xbps_handle struct.
|
||||||
|
* @param[in] pkgd Package dictionary returned by xbps_{repo,rpool}_get_xxxpkg().
|
||||||
|
* @param[in] plist Plist filename to internalize from matching binary package.
|
||||||
|
*
|
||||||
|
* @return The pkg dictionary on success, NULL otherwise.
|
||||||
|
*/
|
||||||
|
prop_dictionary_t xbps_repo_get_pkg_plist(struct xbps_handle *xhp,
|
||||||
|
prop_dictionary_t pkgd,
|
||||||
|
const char *plist);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a proplib array of strings with reverse dependencies from
|
* Returns a proplib array of strings with reverse dependencies from
|
||||||
* repository \a repo matching the expression \a pkg.
|
* repository \a repo matching the expression \a pkg.
|
||||||
|
16
lib/repo.c
16
lib/repo.c
@ -190,6 +190,22 @@ xbps_repo_get_pkg(struct xbps_repo *repo, const char *pkg)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prop_dictionary_t
|
||||||
|
xbps_repo_get_pkg_plist(struct xbps_handle *xhp, prop_dictionary_t pkgd,
|
||||||
|
const char *plist)
|
||||||
|
{
|
||||||
|
prop_dictionary_t bpkgd;
|
||||||
|
char *url;
|
||||||
|
|
||||||
|
url = xbps_repository_pkg_path(xhp, pkgd);
|
||||||
|
if (url == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
bpkgd = xbps_get_pkg_plist_from_binpkg(url, plist);
|
||||||
|
free(url);
|
||||||
|
return bpkgd;
|
||||||
|
}
|
||||||
|
|
||||||
static prop_array_t
|
static prop_array_t
|
||||||
revdeps_match(struct xbps_repo *repo, prop_dictionary_t tpkgd, const char *str)
|
revdeps_match(struct xbps_repo *repo, prop_dictionary_t tpkgd, const char *str)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user