From: Yevhen Kyriukha Date: Thu, 29 Jan 2015 02:03:04 +0000 (+0200) Subject: Save "Status" field of debian packages during parsing of packages list. X-Git-Tag: 0.6.9~20^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F68%2Fhead;p=thirdparty%2Flibsolv.git Save "Status" field of debian packages during parsing of packages list. When populating packages from "/var/lib/dpkg/status" into repo that should be marked as "installed repo", there should be possible to filter partially installed packages based on their "Status" field. This commit makes saving this field for later manual filtering. --- diff --git a/ext/repo_deb.c b/ext/repo_deb.c index 5af0c70b..65a2f0e6 100644 --- a/ext/repo_deb.c +++ b/ext/repo_deb.c @@ -313,6 +313,10 @@ control2solvable(Solvable *s, Repodata *data, char *control) havesource = 1; } break; + case 'S' << 8 | 'T': + if (!strcasecmp(tag, "status")) + repodata_set_str(data, s - pool->solvables, DEB_DEBSTATUS, q); + break; case 'S' << 8 | 'U': if (!strcasecmp(tag, "suggests")) s->suggests = makedeps(repo, q, s->suggests, 0); diff --git a/src/knownid.h b/src/knownid.h index a2291215..16098ac0 100644 --- a/src/knownid.h +++ b/src/knownid.h @@ -45,6 +45,7 @@ KNOWNID(SOLVABLE_SUGGESTS, "solvable:suggests"), KNOWNID(SOLVABLE_SUPPLEMENTS, "solvable:supplements"), KNOWNID(SOLVABLE_ENHANCES, "solvable:enhances"), KNOWNID(RPM_RPMDBID, "rpm:dbid"), +KNOWNID(DEB_DEBSTATUS, "deb:status"), /* normal requires before this, prereqs after this */ KNOWNID(SOLVABLE_PREREQMARKER, "solvable:prereqmarker"),