Imported Upstream version 0.7.27
[platform/upstream/libsolv.git] / src / knownid.h
index 9c8e064..19f67ae 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Novell Inc.
+ * Copyright (c) 2007-2014, Novell Inc.
  *
  * This program is licensed under the BSD license, read LICENSE.BSD
  * for further information
@@ -15,6 +15,9 @@
  * the ABI!
  */
 
+#ifndef LIBSOLV_KNOWNID_H
+#define LIBSOLV_KNOWNID_H
+
 #undef KNOWNID
 #ifdef KNOWNID_INITIALIZE
 # define KNOWNID(a, b) b
@@ -47,18 +50,24 @@ KNOWNID(RPM_RPMDBID,                        "rpm:dbid"),
 KNOWNID(SOLVABLE_PREREQMARKER,         "solvable:prereqmarker"),
 /* normal provides before this, generated file provides after this */
 KNOWNID(SOLVABLE_FILEMARKER,           "solvable:filemarker"),
+
 KNOWNID(NAMESPACE_INSTALLED,           "namespace:installed"),
 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"),
+
+/* special solvable architectures */
 KNOWNID(ARCH_SRC,                      "src"),
 KNOWNID(ARCH_NOSRC,                    "nosrc"),
 KNOWNID(ARCH_NOARCH,                   "noarch"),
 KNOWNID(ARCH_ALL,                      "all"),
+KNOWNID(ARCH_ANY,                      "any"),
 
+/* the meta tags used in solv file storage */
 KNOWNID(REPOSITORY_SOLVABLES,          "repository:solvables"),
 KNOWNID(REPOSITORY_DELTAINFO,          "repository:deltainfo"),
 
@@ -67,23 +76,12 @@ 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
-   have in common, and whose overall set is relatively limited.  A prime
-   example would be the media number.  The actual value is encoded in the
-   SIZE member of the key structure.  Be warned: careless use of this
-   leads to combinatoric explosion of number of schemas.  */
+/* the known data types */
 KNOWNID(REPOKEY_TYPE_VOID,             "repokey:type:void"),
 KNOWNID(REPOKEY_TYPE_CONSTANT,         "repokey:type:constant"),
 KNOWNID(REPOKEY_TYPE_CONSTANTID,       "repokey:type:constantid"),
 KNOWNID(REPOKEY_TYPE_ID,               "repokey:type:id"),
 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"),
@@ -93,10 +91,13 @@ KNOWNID(REPOKEY_TYPE_DIRSTRARRAY,   "repokey:type:dirstrarray"),
 KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY,   "repokey:type:dirnumnumarray"),
 KNOWNID(REPOKEY_TYPE_MD5,              "repokey:type:md5"),
 KNOWNID(REPOKEY_TYPE_SHA1,             "repokey:type:sha1"),
+KNOWNID(REPOKEY_TYPE_SHA224,           "repokey:type:sha224"),
 KNOWNID(REPOKEY_TYPE_SHA256,           "repokey:type:sha256"),
+KNOWNID(REPOKEY_TYPE_SHA384,           "repokey:type:sha384"),
+KNOWNID(REPOKEY_TYPE_SHA512,           "repokey:type:sha512"),
 KNOWNID(REPOKEY_TYPE_FIXARRAY,         "repokey:type:fixarray"),
 KNOWNID(REPOKEY_TYPE_FLEXARRAY,                "repokey:type:flexarray"),
-KNOWNID(REPOKEY_TYPE_DELETED,          "repokey:type:deleted"),
+KNOWNID(REPOKEY_TYPE_DELETED,          "repokey:type:deleted"),        /* internal only */
 
 KNOWNID(SOLVABLE_SUMMARY,              "solvable:summary"),
 KNOWNID(SOLVABLE_DESCRIPTION,          "solvable:description"),
@@ -120,6 +121,7 @@ KNOWNID(SOLVABLE_INSTALLTIME,               "solvable:installtime"),
 KNOWNID(SOLVABLE_MEDIADIR,             "solvable:mediadir"),
 KNOWNID(SOLVABLE_MEDIAFILE,            "solvable:mediafile"),
 KNOWNID(SOLVABLE_MEDIANR,              "solvable:medianr"),
+KNOWNID(SOLVABLE_MEDIABASE,            "solvable:mediabase"),  /* <location xml:base=... > */
 KNOWNID(SOLVABLE_DOWNLOADSIZE,         "solvable:downloadsize"),
 KNOWNID(SOLVABLE_SOURCEARCH,           "solvable:sourcearch"),
 KNOWNID(SOLVABLE_SOURCENAME,           "solvable:sourcename"),
@@ -133,6 +135,12 @@ KNOWNID(SOLVABLE_LEADSIGID,                "solvable:leadsigid"),  /* leadsigid: md5sum over l
 
 KNOWNID(SOLVABLE_PATCHCATEGORY,                "solvable:patchcategory"),
 KNOWNID(SOLVABLE_HEADEREND,            "solvable:headerend"),
+KNOWNID(SOLVABLE_CHANGELOG,            "solvable:changelog"),
+KNOWNID(SOLVABLE_CHANGELOG_AUTHOR,     "solvable:changelog:author"),
+KNOWNID(SOLVABLE_CHANGELOG_TIME,       "solvable:changelog:time"),
+KNOWNID(SOLVABLE_CHANGELOG_TEXT,       "solvable:changelog:text"),
+KNOWNID(SOLVABLE_INSTALLSTATUS,                "solvable:installstatus"),      /* debian install status */
+KNOWNID(SOLVABLE_PREREQ_IGNOREINST,    "solvable:prereq_ignoreinst"),  /* ignore these pre-requires for installed packages */
 
 /* stuff for solvables of type pattern */
 KNOWNID(SOLVABLE_CATEGORY,             "solvable:category"),
@@ -141,6 +149,7 @@ KNOWNID(SOLVABLE_EXTENDS,           "solvable:extends"),
 KNOWNID(SOLVABLE_ICON,                 "solvable:icon"),
 KNOWNID(SOLVABLE_ORDER,                        "solvable:order"),
 
+/* extra definitions for updates (i.e. patch: solvables) */
 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 */
@@ -163,20 +172,24 @@ KNOWNID(UPDATE_REFERENCE_HREF,            "update:reference:href"),       /*  href, e.g. 'http:/
 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"),
+/* extra definitions for products */
+KNOWNID(PRODUCT_REFERENCEFILE,         "product:referencefile"),       /* installed product only */
+KNOWNID(PRODUCT_SHORTLABEL,            "product:shortlabel"),          /* not in repomd? */
+KNOWNID(PRODUCT_DISTPRODUCT,           "product:distproduct"),         /* obsolete */
+KNOWNID(PRODUCT_DISTVERSION,           "product:distversion"),         /* obsolete */
+KNOWNID(PRODUCT_TYPE,                  "product:type"),                /* e.g. 'base' */
 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(PRODUCT_FLAGS,                 "product:flags"),               /* e.g. 'update', 'no_you' */
+KNOWNID(PRODUCT_PRODUCTLINE,           "product:productline"),         /* installed product only */
+KNOWNID(PRODUCT_REGISTER_TARGET,       "product:regtarget"),           /* installed and available product */
+KNOWNID(PRODUCT_REGISTER_FLAVOR,       "product:regflavor"),           /* installed and available product */
+KNOWNID(PRODUCT_REGISTER_RELEASE,      "product:regrelease"),          /* installed product only */
+KNOWNID(PRODUCT_UPDATES_REPOID,                "product:updates:repoid"),
+KNOWNID(PRODUCT_UPDATES,               "product:updates"),
+KNOWNID(PRODUCT_ENDOFLIFE,             "product:endoflife"),
+
+/* argh, should rename to repository and unify with REPOMD */
 KNOWNID(SUSETAGS_DATADIR,              "susetags:datadir"),
 KNOWNID(SUSETAGS_DESCRDIR,             "susetags:descrdir"),
 KNOWNID(SUSETAGS_DEFAULTVENDOR,                "susetags:defaultvendor"),
@@ -184,27 +197,23 @@ 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"),
+KNOWNID(SUSETAGS_SHARE_NAME,           "susetags:share:name"),
+KNOWNID(SUSETAGS_SHARE_EVR,            "susetags:share:evr"),
+KNOWNID(SUSETAGS_SHARE_ARCH,           "susetags:share:arch"),
 
-/* 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_ADDEDFILEPROVIDES,  "repository:addedfileprovides"),        /* file provides already added to our solvables */
+KNOWNID(REPOSITORY_RPMDBCOOKIE,                "repository:rpmdbcookie"),      /* inode of the rpm database for rpm --rebuilddb detection */
+KNOWNID(REPOSITORY_FILTEREDFILELIST,   "repository:filteredfilelist"), /* filelist in repository is filtered */
+KNOWNID(REPOSITORY_TIMESTAMP,          "repository:timestamp"),        /* timestamp then the repository was generated */
+KNOWNID(REPOSITORY_EXPIRE,             "repository:expire"),           /* hint when the metadata could be outdated w/respect to generated timestamp */
+KNOWNID(REPOSITORY_UPDATES,            "repository:updates"),          /* which things does this repo provides updates for, if it does (array) (obsolete?) */
+KNOWNID(REPOSITORY_DISTROS,            "repository:distros"),          /* which products this repository is supposed to be for (array) */
 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(REPOSITORY_REPOID,             "repository:repoid"),           /* obsolete? */
+KNOWNID(REPOSITORY_KEYWORDS,           "repository:keywords"),         /* keyword (tags) for this repository */
+KNOWNID(REPOSITORY_REVISION,           "repository:revision"),         /* revision of the repository. arbitrary string */
+KNOWNID(REPOSITORY_TOOLVERSION,                "repository:toolversion"),
 
 KNOWNID(DELTA_PACKAGE_NAME,            "delta:pkgname"),
 KNOWNID(DELTA_PACKAGE_EVR,             "delta:pkgevr"),
@@ -219,9 +228,7 @@ 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(DELTA_LOCATION_BASE,           "delta:locbase"),       /* <location xml:base=... > */
 
 KNOWNID(REPOSITORY_REPOMD,             "repository:repomd"),
 KNOWNID(REPOSITORY_REPOMD_TYPE,                "repository:repomd:type"),
@@ -229,26 +236,43 @@ 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(REPOSITORY_REPOMD_SIZE,                "repository:repomd:size"),
 
 KNOWNID(PUBKEY_KEYID,                  "pubkey:keyid"),
 KNOWNID(PUBKEY_FINGERPRINT,            "pubkey:fingerprint"),
 KNOWNID(PUBKEY_EXPIRES,                        "pubkey:expires"),
 KNOWNID(PUBKEY_SIGNATURES,             "pubkey:signatures"),
+KNOWNID(PUBKEY_DATA,                   "pubkey:data"),
+KNOWNID(PUBKEY_SUBKEYOF,               "pubkey:subkeyof"),
 
-KNOWNID(REPOSITORY_TOOLVERSION,                "repository:toolversion"),
-KNOWNID(REPOSITORY_REPOID,             "repository:repoid"),
+KNOWNID(SIGNATURE_ISSUER,              "signature:issuer"),
+KNOWNID(SIGNATURE_TIME,                        "signature:time"),
+KNOWNID(SIGNATURE_EXPIRES,             "signature:expires"),
+KNOWNID(SIGNATURE_DATA,                        "signature:data"),
 
-KNOWNID(SUSETAGS_SHARE_NAME,           "susetags:share:name"),
-KNOWNID(SUSETAGS_SHARE_EVR,            "susetags:share:evr"),
-KNOWNID(SUSETAGS_SHARE_ARCH,           "susetags:share:arch"),
+/* 'content' of patch, usually list of modules */
+KNOWNID(UPDATE_MODULE,                 "update:module"),               /* "name stream version context arch" */
+KNOWNID(UPDATE_MODULE_NAME,            "update:module:name"),          /* name */
+KNOWNID(UPDATE_MODULE_STREAM,          "update:module:stream"),        /* stream */
+KNOWNID(UPDATE_MODULE_VERSION,         "update:module:version"),       /* version */
+KNOWNID(UPDATE_MODULE_CONTEXT,         "update:module:context"),       /* context */
+KNOWNID(UPDATE_MODULE_ARCH,            "update:module:arch"),          /* architecture */
 
-KNOWNID(ARCH_ANY,                      "any"),
+KNOWNID(SOLVABLE_BUILDVERSION,         "solvable:buildversion"),       /* conda */
+KNOWNID(SOLVABLE_BUILDFLAVOR,          "solvable:buildflavor"),        /* conda */
 
-KNOWNID(REPOSITORY_REPOMD_SIZE,                "repository:repomd:size"),
-KNOWNID(SOLVABLE_CHANGELOG,            "solvable:changelog"),
-KNOWNID(SOLVABLE_CHANGELOG_AUTHOR,     "solvable:changelog:author"),
-KNOWNID(SOLVABLE_CHANGELOG_TIME,       "solvable:changelog:time"),
-KNOWNID(SOLVABLE_CHANGELOG_TEXT,       "solvable:changelog:text"),
+KNOWNID(UPDATE_STATUS,                 "update:status"),               /* "stable", "testing", ...*/
+
+KNOWNID(LIBSOLV_SELF_DESTRUCT_PKG,      "libsolv-self-destruct-pkg()"),        /* this package will self-destruct on installation */
+
+KNOWNID(SOLVABLE_CONSTRAINS,           "solvable:constrains"),         /* conda */
+KNOWNID(SOLVABLE_TRACK_FEATURES,       "solvable:track_features"),     /* conda */
+KNOWNID(SOLVABLE_ISDEFAULT,            "solvable:isdefault"),
+KNOWNID(SOLVABLE_LANGONLY,             "solvable:langonly"),
+
+KNOWNID(UPDATE_COLLECTIONLIST,         "update:collectionlist"),       /* list of UPDATE_COLLECTION (actually packages) and UPDATE_MODULE */
+KNOWNID(SOLVABLE_MULTIARCH,            "solvable:multiarch"),          /* debian multi-arch field */
+KNOWNID(SOLVABLE_SIGNATUREDATA,                "solvable:signaturedata"),      /* conda */
 
 KNOWNID(ID_NUM_INTERNAL,               0)
 
@@ -260,3 +284,6 @@ KNOWNID(ID_NUM_INTERNAL,            0)
 
 #undef KNOWNID
 
+#endif
+
+