Esempio n. 1
0
static void
walk_repo_obj(ucl_object_t *obj, const char *file)
{
	ucl_object_t *cur;
	ucl_object_iter_t it = NULL;
	struct pkg_repo *r;
	const char *key;

	while ((cur = ucl_iterate_object(obj, &it, true))) {
		key = ucl_object_key(cur);
		pkg_debug(1, "PkgConfig: parsing key '%s'", key);
		r = pkg_repo_find_ident(key);
		if (r != NULL)
			pkg_debug(1, "PkgConfig: overwriting repository %s", key);
		if (cur->type == UCL_OBJECT)
			add_repo(cur, r, key);
		else
			pkg_emit_error("Ignoring bad configuration entry in %s: %s",
			    file, ucl_object_emit(cur, UCL_EMIT_YAML));
	}
}
Esempio n. 2
0
const char *
pkgdb_get_reponame(struct pkgdb *db, const char *repo)
{
    const char	*reponame = NULL;
    struct pkg_repo	*r;

    assert(db->type == PKGDB_REMOTE);

    if (repo != NULL) {
        if ((r = pkg_repo_find_ident(repo)) == NULL) {
            pkg_emit_error("repository '%s' does not exist", repo);
            return (NULL);
        }
        reponame = pkg_repo_name(r);

        if (!pkgdb_is_attached(db->sqlite, reponame)) {
            pkg_emit_error("repository '%s' does not exist", repo);
            return (NULL);
        }
    }

    return (reponame);
}