- add SOLVER_NOAUTOSET to disable automatic SET deduction
[platform/upstream/libsolv.git] / src / knownid.h
index 65f4e49..1c322b7 100644 (file)
  *
  */
 
+/*
+ * Warning: you're free to append new entries, but insert/delete breaks
+ * the ABI!
+ */
+
 #undef KNOWNID
 #ifdef KNOWNID_INITIALIZE
 # define KNOWNID(a, b) b
@@ -21,6 +26,9 @@ enum sat_knownid {
 
 KNOWNID(ID_NULL,                       "<NULL>"),
 KNOWNID(ID_EMPTY,                      ""),
+
+/* The following Ids are stored in the solvable and must
+ * come in one block */
 KNOWNID(SOLVABLE_NAME,                 "solvable:name"),
 KNOWNID(SOLVABLE_ARCH,                 "solvable:arch"),
 KNOWNID(SOLVABLE_EVR,                  "solvable:evr"),
@@ -33,8 +41,8 @@ KNOWNID(SOLVABLE_RECOMMENDS,          "solvable:recommends"),
 KNOWNID(SOLVABLE_SUGGESTS,             "solvable:suggests"),
 KNOWNID(SOLVABLE_SUPPLEMENTS,          "solvable:supplements"),
 KNOWNID(SOLVABLE_ENHANCES,             "solvable:enhances"),
-KNOWNID(SOLVABLE_FRESHENS,             "solvable:freshens"),
 KNOWNID(RPM_RPMDBID,                   "rpm:dbid"),
+
 /* normal requires before this, prereqs after this */
 KNOWNID(SOLVABLE_PREREQMARKER,         "solvable:prereqmarker"),
 /* normal provides before this, generated file provides after this */
@@ -44,16 +52,25 @@ KNOWNID(NAMESPACE_MODALIAS,         "namespace:modalias"),
 KNOWNID(NAMESPACE_SPLITPROVIDES,       "namespace:splitprovides"),
 KNOWNID(NAMESPACE_LANGUAGE,            "namespace:language"),
 KNOWNID(NAMESPACE_FILESYSTEM,          "namespace:filesystem"),
+KNOWNID(NAMESPACE_OTHERPROVIDERS,      "namespace:otherproviders"),
 KNOWNID(SYSTEM_SYSTEM,                 "system:system"),
 KNOWNID(ARCH_SRC,                      "src"),
 KNOWNID(ARCH_NOSRC,                    "nosrc"),
 KNOWNID(ARCH_NOARCH,                   "noarch"),
-KNOWNID(REPODATA_INFO,                 "repodata:info"),
-KNOWNID(REPODATA_EXTERNAL,             "repodata:external"),
-KNOWNID(REPODATA_KEYS,                 "repodata:keys"),
-KNOWNID(REPODATA_LOCATION,             "repodata:location"),
-KNOWNID(REPODATA_ADDEDFILEPROVIDES,    "repodata:addedfileprovides"),
-KNOWNID(REPODATA_RPMDBCOOKIE,          "repodata:rpmdbcookie"),
+KNOWNID(ARCH_ALL,                      "all"),
+
+KNOWNID(REPOSITORY_SOLVABLES,          "repository:solvables"),
+KNOWNID(REPOSITORY_DELTAINFO,          "repository:deltainfo"),
+
+/* sub-repository information, they will get loaded on demand */
+KNOWNID(REPOSITORY_EXTERNAL,           "repository:external"),
+KNOWNID(REPOSITORY_KEYS,               "repository:keys"),
+KNOWNID(REPOSITORY_LOCATION,           "repository:location"),
+
+/* file provides already added to our solvables */
+KNOWNID(REPOSITORY_ADDEDFILEPROVIDES,  "repository:addedfileprovides"),
+/* inode of the rpm database for rpm --rebuilddb detection */
+KNOWNID(REPOSITORY_RPMDBCOOKIE,                "repository:rpmdbcookie"),
 
 /* The void type is usable to encode one-valued attributes, they have
    no associated data.  This is useful to encode values which many solvables
@@ -69,6 +86,7 @@ KNOWNID(REPOKEY_TYPE_NUM,             "repokey:type:num"),
 KNOWNID(REPOKEY_TYPE_U32,              "repokey:type:num32"),
 KNOWNID(REPOKEY_TYPE_DIR,              "repokey:type:dir"),
 KNOWNID(REPOKEY_TYPE_STR,              "repokey:type:str"),
+KNOWNID(REPOKEY_TYPE_BINARY,           "repokey:type:binary"),
 KNOWNID(REPOKEY_TYPE_IDARRAY,          "repokey:type:idarray"),
 KNOWNID(REPOKEY_TYPE_REL_IDARRAY,      "repokey:type:relidarray"),
 KNOWNID(REPOKEY_TYPE_DIRSTRARRAY,      "repokey:type:dirstrarray"),
@@ -76,16 +94,23 @@ KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY,        "repokey:type:dirnumnumarray"),
 KNOWNID(REPOKEY_TYPE_MD5,              "repokey:type:md5"),
 KNOWNID(REPOKEY_TYPE_SHA1,             "repokey:type:sha1"),
 KNOWNID(REPOKEY_TYPE_SHA256,           "repokey:type:sha256"),
-KNOWNID(REPOKEY_TYPE_COUNTED,          "repokey:type:counted"),
+KNOWNID(REPOKEY_TYPE_FIXARRAY,         "repokey:type:fixarray"),
+KNOWNID(REPOKEY_TYPE_FLEXARRAY,                "repokey:type:flexarray"),
+KNOWNID(REPOKEY_TYPE_DELETED,          "repokey:type:deleted"),
 
 KNOWNID(SOLVABLE_SUMMARY,              "solvable:summary"),
 KNOWNID(SOLVABLE_DESCRIPTION,          "solvable:description"),
+KNOWNID(SOLVABLE_DISTRIBUTION,         "solvable:distribution"),
 KNOWNID(SOLVABLE_AUTHORS,              "solvable:authors"),
+KNOWNID(SOLVABLE_PACKAGER,             "solvable:packager"),
 KNOWNID(SOLVABLE_GROUP,                        "solvable:group"),
+KNOWNID(SOLVABLE_URL,                  "solvable:url"),
 KNOWNID(SOLVABLE_KEYWORDS,             "solvable:keywords"),
 KNOWNID(SOLVABLE_LICENSE,              "solvable:license"),
 KNOWNID(SOLVABLE_BUILDTIME,            "solvable:buildtime"),
+KNOWNID(SOLVABLE_BUILDHOST,            "solvable:buildhost"),
 KNOWNID(SOLVABLE_EULA,                 "solvable:eula"),
+KNOWNID(SOLVABLE_CPEID,                        "solvable:cpeid"),
 KNOWNID(SOLVABLE_MESSAGEINS,           "solvable:messageins"),
 KNOWNID(SOLVABLE_MESSAGEDEL,           "solvable:messagedel"),
 KNOWNID(SOLVABLE_INSTALLSIZE,          "solvable:installsize"),
@@ -100,53 +125,116 @@ KNOWNID(SOLVABLE_SOURCEARCH,             "solvable:sourcearch"),
 KNOWNID(SOLVABLE_SOURCENAME,           "solvable:sourcename"),
 KNOWNID(SOLVABLE_SOURCEEVR,            "solvable:sourceevr"),
 KNOWNID(SOLVABLE_ISVISIBLE,            "solvable:isvisible"),
+KNOWNID(SOLVABLE_TRIGGERS,             "solvable:triggers"),
 KNOWNID(SOLVABLE_CHECKSUM,             "solvable:checksum"),
-/* pkgid: md5sum over header + payload */
-KNOWNID(SOLVABLE_PKGID,                        "solvable:pkgid"),
-/* hdrid: sha1sum over header only */
-KNOWNID(SOLVABLE_HDRID,                        "solvable:hdrid"),
-/* leadsigid: md5sum over lead + sigheader */
-KNOWNID(SOLVABLE_LEADSIGID,            "solvable:leadsigid"),
+KNOWNID(SOLVABLE_PKGID,                        "solvable:pkgid"),      /* pkgid: md5sum over header + payload */
+KNOWNID(SOLVABLE_HDRID,                        "solvable:hdrid"),      /* hdrid: sha1sum over header only */
+KNOWNID(SOLVABLE_LEADSIGID,            "solvable:leadsigid"),  /* leadsigid: md5sum over lead + sigheader */
 
 KNOWNID(SOLVABLE_PATCHCATEGORY,                "solvable:patchcategory"),
 KNOWNID(SOLVABLE_HEADEREND,            "solvable:headerend"),
 
+/* stuff for solvables of type pattern */
 KNOWNID(SOLVABLE_CATEGORY,             "solvable:category"),
 KNOWNID(SOLVABLE_INCLUDES,             "solvable:includes"),
 KNOWNID(SOLVABLE_EXTENDS,              "solvable:extends"),
 KNOWNID(SOLVABLE_ICON,                 "solvable:icon"),
 KNOWNID(SOLVABLE_ORDER,                        "solvable:order"),
 
-KNOWNID(UPDATE_REBOOT,                 "update:reboot"),   /* reboot suggested (kernel update) */
-KNOWNID(UPDATE_RESTART,                        "update:restart"),  /* restart suggested (update stack update) */
+KNOWNID(UPDATE_REBOOT,                 "update:reboot"),       /* reboot suggested (kernel update) */
+KNOWNID(UPDATE_RESTART,                        "update:restart"),      /* restart suggested (update stack update) */
+KNOWNID(UPDATE_RELOGIN,                        "update:relogin"),      /* relogin suggested */
+
+KNOWNID(UPDATE_MESSAGE,                        "update:message"),      /* informative message */
 
-                                                                       /* 'content' of patch, usually list of packages */
-KNOWNID(UPDATE_COLLECTION,             "update:collection"),          /*  "name evr arch" */
-KNOWNID(UPDATE_COLLECTION_NAME,                "update:collection:name"),     /*   name */
-KNOWNID(UPDATE_COLLECTION_EVR,         "update:collection:evr"),      /*   epoch:version-release */
-KNOWNID(UPDATE_COLLECTION_ARCH,                "update:collection:arch"),     /*   architecture */
-KNOWNID(UPDATE_COLLECTION_FILENAME,     "update:collection:filename"), /*   filename (of rpm) */
-KNOWNID(UPDATE_COLLECTION_FLAGS,        "update:collection:flags"),    /*   reboot(1)/restart(2) suggested if this rpm gets updated */
+/* 'content' of patch, usually list of packages */
+KNOWNID(UPDATE_COLLECTION,             "update:collection"),          /*  "name evr arch" */
+KNOWNID(UPDATE_COLLECTION_NAME,                "update:collection:name"),     /*   name */
+KNOWNID(UPDATE_COLLECTION_EVR,         "update:collection:evr"),      /*   epoch:version-release */
+KNOWNID(UPDATE_COLLECTION_ARCH,                "update:collection:arch"),     /*   architecture */
+KNOWNID(UPDATE_COLLECTION_FILENAME,    "update:collection:filename"), /*   filename (of rpm) */
+KNOWNID(UPDATE_COLLECTION_FLAGS,       "update:collection:flags"),    /*   reboot(1)/restart(2) suggested if this rpm gets updated */
 
-                                                                   /* external references for the update */
-KNOWNID(UPDATE_REFERENCE_TYPE,         "update:reference:type"),  /*  type, e.g. 'bugzilla' or 'cve' */
-KNOWNID(UPDATE_REFERENCE_HREF,         "update:reference:href"),  /*  href, e.g. 'http://bugzilla...' */
-KNOWNID(UPDATE_REFERENCE_ID,           "update:reference:id"),    /*  id, e.g. bug number */
-KNOWNID(UPDATE_REFERENCE_TITLE,                "update:reference:title"), /*  title, e.g. "the bla forz scribs on fuggle" */
+KNOWNID(UPDATE_REFERENCE,              "update:reference"),            /* external references for the update */
+KNOWNID(UPDATE_REFERENCE_TYPE,         "update:reference:type"),       /*  type, e.g. 'bugzilla' or 'cve' */
+KNOWNID(UPDATE_REFERENCE_HREF,         "update:reference:href"),       /*  href, e.g. 'http://bugzilla...' */
+KNOWNID(UPDATE_REFERENCE_ID,           "update:reference:id"),         /*  id, e.g. bug number */
+KNOWNID(UPDATE_REFERENCE_TITLE,                "update:reference:title"),      /*  title, e.g. "the bla forz scribs on fuggle" */
 
 /* name */
+KNOWNID(PRODUCT_REFERENCEFILE,         "product:referencefile"),
 KNOWNID(PRODUCT_SHORTLABEL,            "product:shortlabel"),
 KNOWNID(PRODUCT_DISTPRODUCT,           "product:distproduct"),
 KNOWNID(PRODUCT_DISTVERSION,           "product:distversion"),
 KNOWNID(PRODUCT_TYPE,                  "product:type"),
-KNOWNID(PRODUCT_RELNOTESURL,           "product:relnotesurl"),
-KNOWNID(PRODUCT_UPDATEURLS,            "product:updateurls"),
-KNOWNID(PRODUCT_EXTRAURLS,             "product:extraurls"),
-KNOWNID(PRODUCT_OPTIONALURLS,          "product:optionalurls"),
+KNOWNID(PRODUCT_URL,                   "product:url"),
+KNOWNID(PRODUCT_URL_TYPE,              "product:url:type"),
 KNOWNID(PRODUCT_FLAGS,                 "product:flags"),
+KNOWNID(PRODUCT_PRODUCTLINE,           "product:productline"),
+KNOWNID(PRODUCT_REGISTER_TARGET,       "product:regtarget"),
+KNOWNID(PRODUCT_REGISTER_RELEASE,      "product:regrelease"),
 
 /* argh */
 KNOWNID(SUSETAGS_DATADIR,              "susetags:datadir"),
+KNOWNID(SUSETAGS_DESCRDIR,             "susetags:descrdir"),
+KNOWNID(SUSETAGS_DEFAULTVENDOR,                "susetags:defaultvendor"),
+KNOWNID(SUSETAGS_FILE,                 "susetags:file"),
+KNOWNID(SUSETAGS_FILE_NAME,            "susetags:file:name"),
+KNOWNID(SUSETAGS_FILE_TYPE,            "susetags:file:type"),
+KNOWNID(SUSETAGS_FILE_CHECKSUM,                "susetags:file:checksum"),
+
+/* timestamp then the repository was generated */
+KNOWNID(REPOSITORY_TIMESTAMP,          "repository:timestamp"),
+/* hint when the metadata could be outdated
+   w/respect to generated timestamp */
+KNOWNID(REPOSITORY_EXPIRE,             "repository:expire"),
+
+/* which things does this repo provides updates for, if it does (array) */
+KNOWNID(REPOSITORY_UPDATES,            "repository:updates"),
+/* for the repository:update label and cpeid, use the repository:product
+   sub attributes */
+
+/* which products this repository is supposed to be for (array) */
+KNOWNID(REPOSITORY_DISTROS,            "repository:distros"),
+KNOWNID(REPOSITORY_PRODUCT_LABEL,       "repository:product:label"),
+KNOWNID(REPOSITORY_PRODUCT_CPEID,      "repository:product:cpeid"),
+
+/* keyword (tags) for this repository */
+KNOWNID(REPOSITORY_KEYWORDS,           "repository:keywords"),
+/* revision of the repository. arbitrary string */
+KNOWNID(REPOSITORY_REVISION,           "repository:revision"),
+
+KNOWNID(DELTA_PACKAGE_NAME,            "delta:pkgname"),
+KNOWNID(DELTA_PACKAGE_EVR,             "delta:pkgevr"),
+KNOWNID(DELTA_PACKAGE_ARCH,            "delta:pkgarch"),
+KNOWNID(DELTA_LOCATION_DIR,            "delta:locdir"),
+KNOWNID(DELTA_LOCATION_NAME,           "delta:locname"),
+KNOWNID(DELTA_LOCATION_EVR,            "delta:locevr"),
+KNOWNID(DELTA_LOCATION_SUFFIX,         "delta:locsuffix"),
+KNOWNID(DELTA_DOWNLOADSIZE,            "delta:downloadsize"),
+KNOWNID(DELTA_CHECKSUM,                        "delta:checksum"),
+KNOWNID(DELTA_BASE_EVR,                        "delta:baseevr"),
+KNOWNID(DELTA_SEQ_NAME,                        "delta:seqname"),
+KNOWNID(DELTA_SEQ_EVR,                 "delta:seqevr"),
+KNOWNID(DELTA_SEQ_NUM,                 "delta:seqnum"),
+
+/* XXX: shouldn't use a real ID */
+KNOWNID(NAMESPACE_PRODUCTBUDDY,         "namespace:productbuddy"),
+
+KNOWNID(REPOSITORY_REPOMD,             "repository:repomd"),
+KNOWNID(REPOSITORY_REPOMD_TYPE,                "repository:repomd:type"),
+KNOWNID(REPOSITORY_REPOMD_LOCATION,    "repository:repomd:location"),
+KNOWNID(REPOSITORY_REPOMD_TIMESTAMP,   "repository:repomd:timestamp"),
+KNOWNID(REPOSITORY_REPOMD_CHECKSUM,    "repository:repomd:checksum"),
+KNOWNID(REPOSITORY_REPOMD_OPENCHECKSUM,        "repository:repomd:openchecksum"),
+
+KNOWNID(PUBKEY_KEYID,                  "pubkey:keyid"),
+KNOWNID(PUBKEY_FINGERPRINT,            "pubkey:fingerprint"),
+KNOWNID(PUBKEY_EXPIRES,                        "pubkey:expires"),
+KNOWNID(PUBKEY_SIGNATURES,             "pubkey:signatures"),
+
+KNOWNID(REPOSITORY_TOOLVERSION,                "repository:toolversion"),
+KNOWNID(REPOSITORY_REPOID,             "repository:repoid"),
 
 KNOWNID(ID_NUM_INTERNAL,               0)