xbps_set_pkg_state_installed: simplify (API change).
The third optional argument "pkgver" clearly is useless because we can create it internally with "pkgname" and "version" arguments instead. Also make the "version" argument mandatory.
This commit is contained in:
@ -163,7 +163,7 @@ xbps_configure_pkg(const char *pkgname,
|
||||
}
|
||||
}
|
||||
free(buf);
|
||||
rv = xbps_set_pkg_state_installed(pkgname, lver, pkgver,
|
||||
rv = xbps_set_pkg_state_installed(pkgname, lver,
|
||||
XBPS_PKG_STATE_INSTALLED);
|
||||
if (rv != 0) {
|
||||
xbps_set_cb_state(XBPS_STATE_CONFIGURE_FAIL, rv,
|
||||
|
@ -375,7 +375,7 @@ xbps_remove_pkg(const char *pkgname, const char *version, bool update)
|
||||
/*
|
||||
* Set package state to "half-removed".
|
||||
*/
|
||||
rv = xbps_set_pkg_state_installed(pkgname, version, pkgver,
|
||||
rv = xbps_set_pkg_state_installed(pkgname, version,
|
||||
XBPS_PKG_STATE_HALF_REMOVED);
|
||||
if (rv != 0) {
|
||||
xbps_set_cb_state(XBPS_STATE_REMOVE_FAIL,
|
||||
|
@ -133,22 +133,24 @@ xbps_set_pkg_state_dictionary(prop_dictionary_t dict, pkg_state_t state)
|
||||
}
|
||||
|
||||
static int
|
||||
set_pkg_objs(prop_dictionary_t pkgd,
|
||||
const char *pkgname,
|
||||
const char *version,
|
||||
const char *pkgver)
|
||||
set_pkg_objs(prop_dictionary_t pkgd, const char *name, const char *version)
|
||||
{
|
||||
if (!prop_dictionary_set_cstring_nocopy(pkgd, "pkgname", pkgname))
|
||||
char *pkgver;
|
||||
|
||||
if (!prop_dictionary_set_cstring_nocopy(pkgd, "pkgname", name))
|
||||
return EINVAL;
|
||||
|
||||
if (version != NULL)
|
||||
if (!prop_dictionary_set_cstring_nocopy(pkgd,
|
||||
"version", version))
|
||||
return EINVAL;
|
||||
if (pkgver != NULL)
|
||||
if (!prop_dictionary_set_cstring_nocopy(pkgd,
|
||||
"pkgver", pkgver))
|
||||
return EINVAL;
|
||||
if (!prop_dictionary_set_cstring_nocopy(pkgd, "version", version))
|
||||
return EINVAL;
|
||||
|
||||
pkgver = xbps_xasprintf("%s-%s", name, version);
|
||||
assert(pkgver != NULL);
|
||||
|
||||
if (!prop_dictionary_set_cstring_nocopy(pkgd, "pkgver", pkgver)) {
|
||||
free(pkgver);
|
||||
return EINVAL;
|
||||
}
|
||||
free(pkgver);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -156,7 +158,6 @@ set_pkg_objs(prop_dictionary_t pkgd,
|
||||
int
|
||||
xbps_set_pkg_state_installed(const char *pkgname,
|
||||
const char *version,
|
||||
const char *pkgver,
|
||||
pkg_state_t state)
|
||||
{
|
||||
struct xbps_handle *xhp;
|
||||
@ -178,7 +179,7 @@ xbps_set_pkg_state_installed(const char *pkgname,
|
||||
xhp->pkgdb = NULL;
|
||||
return ENOMEM;
|
||||
}
|
||||
if ((rv = set_pkg_objs(pkgd, pkgname, version, pkgver)) != 0) {
|
||||
if ((rv = set_pkg_objs(pkgd, pkgname, version)) != 0) {
|
||||
prop_object_release(xhp->pkgdb);
|
||||
prop_object_release(pkgd);
|
||||
xhp->pkgdb = NULL;
|
||||
@ -201,8 +202,8 @@ xbps_set_pkg_state_installed(const char *pkgname,
|
||||
if (pkgd == NULL) {
|
||||
newpkg = true;
|
||||
pkgd = prop_dictionary_create();
|
||||
if ((rv = set_pkg_objs(pkgd, pkgname,
|
||||
version, pkgver)) != 0) {
|
||||
rv = set_pkg_objs(pkgd, pkgname, version);
|
||||
if (rv != 0) {
|
||||
prop_object_release(pkgd);
|
||||
return rv;
|
||||
}
|
||||
|
@ -625,7 +625,7 @@ xbps_unpack_binary_pkg(prop_dictionary_t pkg_repod)
|
||||
/*
|
||||
* Set package state to half-unpacked.
|
||||
*/
|
||||
if ((rv = xbps_set_pkg_state_installed(pkgname, version, pkgver,
|
||||
if ((rv = xbps_set_pkg_state_installed(pkgname, version,
|
||||
XBPS_PKG_STATE_HALF_UNPACKED)) != 0) {
|
||||
xbps_set_cb_state(XBPS_STATE_UNPACK_FAIL,
|
||||
rv, pkgname, version,
|
||||
@ -647,7 +647,7 @@ xbps_unpack_binary_pkg(prop_dictionary_t pkg_repod)
|
||||
/*
|
||||
* Set package state to unpacked.
|
||||
*/
|
||||
if ((rv = xbps_set_pkg_state_installed(pkgname, version, pkgver,
|
||||
if ((rv = xbps_set_pkg_state_installed(pkgname, version,
|
||||
XBPS_PKG_STATE_UNPACKED)) != 0) {
|
||||
xbps_set_cb_state(XBPS_STATE_UNPACK_FAIL,
|
||||
rv, pkgname, version,
|
||||
|
Reference in New Issue
Block a user