コード例 #1
0
ファイル: hy-package.cpp プロジェクト: edynox/libhif
static DnfReldepList *
reldeps_for(DnfPackage *pkg, Id type)
{
    Pool *pool = dnf_package_get_pool(pkg);
    Solvable *s = get_solvable(pkg);
    DnfReldepList *reldeplist;
    Queue q, q_final;
    Id marker = -1;
    Id solv_type = type;
    Id rel_id;

    if (type == SOLVABLE_REQUIRES)
        marker = 0;

    if (type == SOLVABLE_PREREQMARKER) {
        solv_type = SOLVABLE_REQUIRES;
        marker = 1;
    }
    queue_init(&q);
    queue_init(&q_final);
    solvable_lookup_deparray(s, solv_type, &q, marker);

    for (int i = 0; i < q.count; i++) {
        rel_id = q.elements[i];
        if (rel_id != SOLVABLE_PREREQMARKER)
            queue_push(&q_final, rel_id);
    }

    reldeplist = dnf_reldep_list_from_queue (pool, q_final);

    queue_free(&q);
    queue_free(&q_final);
    return reldeplist;
}
コード例 #2
0
ファイル: package.c プロジェクト: iamcourtney/hawkey
static HyReldepList
reldeps_for(HyPackage pkg, Id type)
{
    Pool *pool = package_pool(pkg);
    Solvable *s = get_solvable(pkg);
    HyReldepList reldeplist;
    Queue q;

    queue_init(&q);
    solvable_lookup_deparray(s, type, &q, -1);
    reldeplist = reldeplist_from_queue(pool, q);

    queue_free(&q);
    return reldeplist;
}
コード例 #3
0
ファイル: hy-package.c プロジェクト: yuqi-zhang/libhif
static HifReldepList *
reldeps_for(HifPackage *pkg, Id type)
{
    Pool *pool = hif_package_get_pool(pkg);
    Solvable *s = get_solvable(pkg);
    HifReldepList *reldeplist;
    Queue q;
    Id marker = -1;
    Id solv_type = type;

    if (type == SOLVABLE_PREREQMARKER) {
        solv_type = SOLVABLE_REQUIRES;
        marker = 1;
    }
    queue_init(&q);
    solvable_lookup_deparray(s, solv_type, &q, marker);

    reldeplist = hif_reldep_list_from_queue (pool, q);

    queue_free(&q);
    return reldeplist;
}