]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Save "Status" field of debian packages during parsing of packages list. 68/head
authorYevhen Kyriukha <kirgene@gmail.com>
Thu, 29 Jan 2015 02:03:04 +0000 (04:03 +0200)
committerYevhen Kyriukha <kirgene@gmail.com>
Thu, 29 Jan 2015 13:32:55 +0000 (15:32 +0200)
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.

ext/repo_deb.c
src/knownid.h

index 5af0c70b942b5537410b59f3d9da5c8d12c90296..65a2f0e65aa5cc0760cc01d5373d69fd77ad9f4a 100644 (file)
@@ -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);
index a2291215049f2b30f8e51b07a7f33b9926b8b865..16098ac06136df77801627cd75c47f2f54548742 100644 (file)
@@ -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"),