knownid.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. /*
  2. * Copyright (c) 2007-2014, Novell Inc.
  3. *
  4. * This program is licensed under the BSD license, read LICENSE.BSD
  5. * for further information
  6. */
  7. /*
  8. * knownid.h
  9. *
  10. */
  11. /*
  12. * Warning: you're free to append new entries, but insert/delete breaks
  13. * the ABI!
  14. */
  15. #ifndef LIBSOLV_KNOWNID_H
  16. #define LIBSOLV_KNOWNID_H
  17. #undef KNOWNID
  18. #ifdef KNOWNID_INITIALIZE
  19. # define KNOWNID(a, b) b
  20. static const char *initpool_data[] = {
  21. #else
  22. # define KNOWNID(a, b) a
  23. enum solv_knownid {
  24. #endif
  25. KNOWNID(ID_NULL, "<NULL>"),
  26. KNOWNID(ID_EMPTY, ""),
  27. /* The following Ids are stored in the solvable and must
  28. * come in one block */
  29. KNOWNID(SOLVABLE_NAME, "solvable:name"),
  30. KNOWNID(SOLVABLE_ARCH, "solvable:arch"),
  31. KNOWNID(SOLVABLE_EVR, "solvable:evr"),
  32. KNOWNID(SOLVABLE_VENDOR, "solvable:vendor"),
  33. KNOWNID(SOLVABLE_PROVIDES, "solvable:provides"),
  34. KNOWNID(SOLVABLE_OBSOLETES, "solvable:obsoletes"),
  35. KNOWNID(SOLVABLE_CONFLICTS, "solvable:conflicts"),
  36. KNOWNID(SOLVABLE_REQUIRES, "solvable:requires"),
  37. KNOWNID(SOLVABLE_RECOMMENDS, "solvable:recommends"),
  38. KNOWNID(SOLVABLE_SUGGESTS, "solvable:suggests"),
  39. KNOWNID(SOLVABLE_SUPPLEMENTS, "solvable:supplements"),
  40. KNOWNID(SOLVABLE_ENHANCES, "solvable:enhances"),
  41. KNOWNID(RPM_RPMDBID, "rpm:dbid"),
  42. /* normal requires before this, prereqs after this */
  43. KNOWNID(SOLVABLE_PREREQMARKER, "solvable:prereqmarker"),
  44. /* normal provides before this, generated file provides after this */
  45. KNOWNID(SOLVABLE_FILEMARKER, "solvable:filemarker"),
  46. KNOWNID(NAMESPACE_INSTALLED, "namespace:installed"),
  47. KNOWNID(NAMESPACE_MODALIAS, "namespace:modalias"),
  48. KNOWNID(NAMESPACE_SPLITPROVIDES, "namespace:splitprovides"),
  49. KNOWNID(NAMESPACE_LANGUAGE, "namespace:language"),
  50. KNOWNID(NAMESPACE_FILESYSTEM, "namespace:filesystem"),
  51. KNOWNID(NAMESPACE_OTHERPROVIDERS, "namespace:otherproviders"),
  52. KNOWNID(SYSTEM_SYSTEM, "system:system"),
  53. /* special solvable architectures */
  54. KNOWNID(ARCH_SRC, "src"),
  55. KNOWNID(ARCH_NOSRC, "nosrc"),
  56. KNOWNID(ARCH_NOARCH, "noarch"),
  57. KNOWNID(ARCH_ALL, "all"),
  58. KNOWNID(ARCH_ANY, "any"),
  59. /* the meta tags used in solv file storage */
  60. KNOWNID(REPOSITORY_SOLVABLES, "repository:solvables"),
  61. KNOWNID(REPOSITORY_DELTAINFO, "repository:deltainfo"),
  62. /* sub-repository information, they will get loaded on demand */
  63. KNOWNID(REPOSITORY_EXTERNAL, "repository:external"),
  64. KNOWNID(REPOSITORY_KEYS, "repository:keys"),
  65. KNOWNID(REPOSITORY_LOCATION, "repository:location"),
  66. /* the known data types */
  67. KNOWNID(REPOKEY_TYPE_VOID, "repokey:type:void"),
  68. KNOWNID(REPOKEY_TYPE_CONSTANT, "repokey:type:constant"),
  69. KNOWNID(REPOKEY_TYPE_CONSTANTID, "repokey:type:constantid"),
  70. KNOWNID(REPOKEY_TYPE_ID, "repokey:type:id"),
  71. KNOWNID(REPOKEY_TYPE_NUM, "repokey:type:num"),
  72. KNOWNID(REPOKEY_TYPE_DIR, "repokey:type:dir"),
  73. KNOWNID(REPOKEY_TYPE_STR, "repokey:type:str"),
  74. KNOWNID(REPOKEY_TYPE_BINARY, "repokey:type:binary"),
  75. KNOWNID(REPOKEY_TYPE_IDARRAY, "repokey:type:idarray"),
  76. KNOWNID(REPOKEY_TYPE_REL_IDARRAY, "repokey:type:relidarray"),
  77. KNOWNID(REPOKEY_TYPE_DIRSTRARRAY, "repokey:type:dirstrarray"),
  78. KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY, "repokey:type:dirnumnumarray"),
  79. KNOWNID(REPOKEY_TYPE_MD5, "repokey:type:md5"),
  80. KNOWNID(REPOKEY_TYPE_SHA1, "repokey:type:sha1"),
  81. KNOWNID(REPOKEY_TYPE_SHA224, "repokey:type:sha224"),
  82. KNOWNID(REPOKEY_TYPE_SHA256, "repokey:type:sha256"),
  83. KNOWNID(REPOKEY_TYPE_SHA384, "repokey:type:sha384"),
  84. KNOWNID(REPOKEY_TYPE_SHA512, "repokey:type:sha512"),
  85. KNOWNID(REPOKEY_TYPE_FIXARRAY, "repokey:type:fixarray"),
  86. KNOWNID(REPOKEY_TYPE_FLEXARRAY, "repokey:type:flexarray"),
  87. KNOWNID(REPOKEY_TYPE_DELETED, "repokey:type:deleted"), /* internal only */
  88. KNOWNID(SOLVABLE_SUMMARY, "solvable:summary"),
  89. KNOWNID(SOLVABLE_DESCRIPTION, "solvable:description"),
  90. KNOWNID(SOLVABLE_DISTRIBUTION, "solvable:distribution"),
  91. KNOWNID(SOLVABLE_AUTHORS, "solvable:authors"),
  92. KNOWNID(SOLVABLE_PACKAGER, "solvable:packager"),
  93. KNOWNID(SOLVABLE_GROUP, "solvable:group"),
  94. KNOWNID(SOLVABLE_URL, "solvable:url"),
  95. KNOWNID(SOLVABLE_KEYWORDS, "solvable:keywords"),
  96. KNOWNID(SOLVABLE_LICENSE, "solvable:license"),
  97. KNOWNID(SOLVABLE_BUILDTIME, "solvable:buildtime"),
  98. KNOWNID(SOLVABLE_BUILDHOST, "solvable:buildhost"),
  99. KNOWNID(SOLVABLE_EULA, "solvable:eula"),
  100. KNOWNID(SOLVABLE_CPEID, "solvable:cpeid"),
  101. KNOWNID(SOLVABLE_MESSAGEINS, "solvable:messageins"),
  102. KNOWNID(SOLVABLE_MESSAGEDEL, "solvable:messagedel"),
  103. KNOWNID(SOLVABLE_INSTALLSIZE, "solvable:installsize"),
  104. KNOWNID(SOLVABLE_DISKUSAGE, "solvable:diskusage"),
  105. KNOWNID(SOLVABLE_FILELIST, "solvable:filelist"),
  106. KNOWNID(SOLVABLE_INSTALLTIME, "solvable:installtime"),
  107. KNOWNID(SOLVABLE_MEDIADIR, "solvable:mediadir"),
  108. KNOWNID(SOLVABLE_MEDIAFILE, "solvable:mediafile"),
  109. KNOWNID(SOLVABLE_MEDIANR, "solvable:medianr"),
  110. KNOWNID(SOLVABLE_MEDIABASE, "solvable:mediabase"), /* <location xml:base=... > */
  111. KNOWNID(SOLVABLE_DOWNLOADSIZE, "solvable:downloadsize"),
  112. KNOWNID(SOLVABLE_SOURCEARCH, "solvable:sourcearch"),
  113. KNOWNID(SOLVABLE_SOURCENAME, "solvable:sourcename"),
  114. KNOWNID(SOLVABLE_SOURCEEVR, "solvable:sourceevr"),
  115. KNOWNID(SOLVABLE_ISVISIBLE, "solvable:isvisible"),
  116. KNOWNID(SOLVABLE_TRIGGERS, "solvable:triggers"),
  117. KNOWNID(SOLVABLE_CHECKSUM, "solvable:checksum"),
  118. KNOWNID(SOLVABLE_PKGID, "solvable:pkgid"), /* pkgid: md5sum over header + payload */
  119. KNOWNID(SOLVABLE_HDRID, "solvable:hdrid"), /* hdrid: sha1sum over header only */
  120. KNOWNID(SOLVABLE_LEADSIGID, "solvable:leadsigid"), /* leadsigid: md5sum over lead + sigheader */
  121. KNOWNID(SOLVABLE_PATCHCATEGORY, "solvable:patchcategory"),
  122. KNOWNID(SOLVABLE_HEADEREND, "solvable:headerend"),
  123. KNOWNID(SOLVABLE_CHANGELOG, "solvable:changelog"),
  124. KNOWNID(SOLVABLE_CHANGELOG_AUTHOR, "solvable:changelog:author"),
  125. KNOWNID(SOLVABLE_CHANGELOG_TIME, "solvable:changelog:time"),
  126. KNOWNID(SOLVABLE_CHANGELOG_TEXT, "solvable:changelog:text"),
  127. KNOWNID(SOLVABLE_INSTALLSTATUS, "solvable:installstatus"), /* debian install status */
  128. KNOWNID(SOLVABLE_PREREQ_IGNOREINST, "solvable:prereq_ignoreinst"), /* ignore these pre-requires for installed packages */
  129. /* stuff for solvables of type pattern */
  130. KNOWNID(SOLVABLE_CATEGORY, "solvable:category"),
  131. KNOWNID(SOLVABLE_INCLUDES, "solvable:includes"),
  132. KNOWNID(SOLVABLE_EXTENDS, "solvable:extends"),
  133. KNOWNID(SOLVABLE_ICON, "solvable:icon"),
  134. KNOWNID(SOLVABLE_ORDER, "solvable:order"),
  135. /* extra definitions for updates (i.e. patch: solvables) */
  136. KNOWNID(UPDATE_REBOOT, "update:reboot"), /* reboot suggested (kernel update) */
  137. KNOWNID(UPDATE_RESTART, "update:restart"), /* restart suggested (update stack update) */
  138. KNOWNID(UPDATE_RELOGIN, "update:relogin"), /* relogin suggested */
  139. KNOWNID(UPDATE_MESSAGE, "update:message"), /* informative message */
  140. KNOWNID(UPDATE_SEVERITY, "update:severity"), /* "Important", ...*/
  141. KNOWNID(UPDATE_RIGHTS, "update:rights"), /* copyright */
  142. /* 'content' of patch, usually list of packages */
  143. KNOWNID(UPDATE_COLLECTION, "update:collection"), /* "name evr arch" */
  144. KNOWNID(UPDATE_COLLECTION_NAME, "update:collection:name"), /* name */
  145. KNOWNID(UPDATE_COLLECTION_EVR, "update:collection:evr"), /* epoch:version-release */
  146. KNOWNID(UPDATE_COLLECTION_ARCH, "update:collection:arch"), /* architecture */
  147. KNOWNID(UPDATE_COLLECTION_FILENAME, "update:collection:filename"), /* filename (of rpm) */
  148. KNOWNID(UPDATE_COLLECTION_FLAGS, "update:collection:flags"), /* reboot(1)/restart(2) suggested if this rpm gets updated */
  149. KNOWNID(UPDATE_REFERENCE, "update:reference"), /* external references for the update */
  150. KNOWNID(UPDATE_REFERENCE_TYPE, "update:reference:type"), /* type, e.g. 'bugzilla' or 'cve' */
  151. KNOWNID(UPDATE_REFERENCE_HREF, "update:reference:href"), /* href, e.g. 'http://bugzilla...' */
  152. KNOWNID(UPDATE_REFERENCE_ID, "update:reference:id"), /* id, e.g. bug number */
  153. KNOWNID(UPDATE_REFERENCE_TITLE, "update:reference:title"), /* title, e.g. "the bla forz scribs on fuggle" */
  154. /* extra definitions for products */
  155. KNOWNID(PRODUCT_REFERENCEFILE, "product:referencefile"), /* installed product only */
  156. KNOWNID(PRODUCT_SHORTLABEL, "product:shortlabel"), /* not in repomd? */
  157. KNOWNID(PRODUCT_DISTPRODUCT, "product:distproduct"), /* obsolete */
  158. KNOWNID(PRODUCT_DISTVERSION, "product:distversion"), /* obsolete */
  159. KNOWNID(PRODUCT_TYPE, "product:type"), /* e.g. 'base' */
  160. KNOWNID(PRODUCT_URL, "product:url"),
  161. KNOWNID(PRODUCT_URL_TYPE, "product:url:type"),
  162. KNOWNID(PRODUCT_FLAGS, "product:flags"), /* e.g. 'update', 'no_you' */
  163. KNOWNID(PRODUCT_PRODUCTLINE, "product:productline"), /* installed product only */
  164. KNOWNID(PRODUCT_REGISTER_TARGET, "product:regtarget"), /* installed and available product */
  165. KNOWNID(PRODUCT_REGISTER_FLAVOR, "product:regflavor"), /* installed and available product */
  166. KNOWNID(PRODUCT_REGISTER_RELEASE, "product:regrelease"), /* installed product only */
  167. KNOWNID(PRODUCT_UPDATES_REPOID, "product:updates:repoid"),
  168. KNOWNID(PRODUCT_UPDATES, "product:updates"),
  169. KNOWNID(PRODUCT_ENDOFLIFE, "product:endoflife"),
  170. /* argh, should rename to repository and unify with REPOMD */
  171. KNOWNID(SUSETAGS_DATADIR, "susetags:datadir"),
  172. KNOWNID(SUSETAGS_DESCRDIR, "susetags:descrdir"),
  173. KNOWNID(SUSETAGS_DEFAULTVENDOR, "susetags:defaultvendor"),
  174. KNOWNID(SUSETAGS_FILE, "susetags:file"),
  175. KNOWNID(SUSETAGS_FILE_NAME, "susetags:file:name"),
  176. KNOWNID(SUSETAGS_FILE_TYPE, "susetags:file:type"),
  177. KNOWNID(SUSETAGS_FILE_CHECKSUM, "susetags:file:checksum"),
  178. KNOWNID(SUSETAGS_SHARE_NAME, "susetags:share:name"),
  179. KNOWNID(SUSETAGS_SHARE_EVR, "susetags:share:evr"),
  180. KNOWNID(SUSETAGS_SHARE_ARCH, "susetags:share:arch"),
  181. KNOWNID(REPOSITORY_ADDEDFILEPROVIDES, "repository:addedfileprovides"), /* file provides already added to our solvables */
  182. KNOWNID(REPOSITORY_RPMDBCOOKIE, "repository:rpmdbcookie"), /* inode of the rpm database for rpm --rebuilddb detection */
  183. KNOWNID(REPOSITORY_FILTEREDFILELIST, "repository:filteredfilelist"), /* filelist in repository is filtered */
  184. KNOWNID(REPOSITORY_TIMESTAMP, "repository:timestamp"), /* timestamp then the repository was generated */
  185. KNOWNID(REPOSITORY_EXPIRE, "repository:expire"), /* hint when the metadata could be outdated w/respect to generated timestamp */
  186. KNOWNID(REPOSITORY_UPDATES, "repository:updates"), /* which things does this repo provides updates for, if it does (array) (obsolete?) */
  187. KNOWNID(REPOSITORY_DISTROS, "repository:distros"), /* which products this repository is supposed to be for (array) */
  188. KNOWNID(REPOSITORY_PRODUCT_LABEL, "repository:product:label"),
  189. KNOWNID(REPOSITORY_PRODUCT_CPEID, "repository:product:cpeid"),
  190. KNOWNID(REPOSITORY_REPOID, "repository:repoid"), /* obsolete? */
  191. KNOWNID(REPOSITORY_KEYWORDS, "repository:keywords"), /* keyword (tags) for this repository */
  192. KNOWNID(REPOSITORY_REVISION, "repository:revision"), /* revision of the repository. arbitrary string */
  193. KNOWNID(REPOSITORY_TOOLVERSION, "repository:toolversion"),
  194. KNOWNID(DELTA_PACKAGE_NAME, "delta:pkgname"),
  195. KNOWNID(DELTA_PACKAGE_EVR, "delta:pkgevr"),
  196. KNOWNID(DELTA_PACKAGE_ARCH, "delta:pkgarch"),
  197. KNOWNID(DELTA_LOCATION_DIR, "delta:locdir"),
  198. KNOWNID(DELTA_LOCATION_NAME, "delta:locname"),
  199. KNOWNID(DELTA_LOCATION_EVR, "delta:locevr"),
  200. KNOWNID(DELTA_LOCATION_SUFFIX, "delta:locsuffix"),
  201. KNOWNID(DELTA_DOWNLOADSIZE, "delta:downloadsize"),
  202. KNOWNID(DELTA_CHECKSUM, "delta:checksum"),
  203. KNOWNID(DELTA_BASE_EVR, "delta:baseevr"),
  204. KNOWNID(DELTA_SEQ_NAME, "delta:seqname"),
  205. KNOWNID(DELTA_SEQ_EVR, "delta:seqevr"),
  206. KNOWNID(DELTA_SEQ_NUM, "delta:seqnum"),
  207. KNOWNID(DELTA_LOCATION_BASE, "delta:locbase"), /* <location xml:base=... > */
  208. KNOWNID(REPOSITORY_REPOMD, "repository:repomd"),
  209. KNOWNID(REPOSITORY_REPOMD_TYPE, "repository:repomd:type"),
  210. KNOWNID(REPOSITORY_REPOMD_LOCATION, "repository:repomd:location"),
  211. KNOWNID(REPOSITORY_REPOMD_TIMESTAMP, "repository:repomd:timestamp"),
  212. KNOWNID(REPOSITORY_REPOMD_CHECKSUM, "repository:repomd:checksum"),
  213. KNOWNID(REPOSITORY_REPOMD_OPENCHECKSUM, "repository:repomd:openchecksum"),
  214. KNOWNID(REPOSITORY_REPOMD_SIZE, "repository:repomd:size"),
  215. KNOWNID(PUBKEY_KEYID, "pubkey:keyid"),
  216. KNOWNID(PUBKEY_FINGERPRINT, "pubkey:fingerprint"),
  217. KNOWNID(PUBKEY_EXPIRES, "pubkey:expires"),
  218. KNOWNID(PUBKEY_SIGNATURES, "pubkey:signatures"),
  219. KNOWNID(PUBKEY_DATA, "pubkey:data"),
  220. KNOWNID(PUBKEY_SUBKEYOF, "pubkey:subkeyof"),
  221. KNOWNID(SIGNATURE_ISSUER, "signature:issuer"),
  222. KNOWNID(SIGNATURE_TIME, "signature:time"),
  223. KNOWNID(SIGNATURE_EXPIRES, "signature:expires"),
  224. KNOWNID(SIGNATURE_DATA, "signature:data"),
  225. /* 'content' of patch, usually list of modules */
  226. KNOWNID(UPDATE_MODULE, "update:module"), /* "name stream version context arch" */
  227. KNOWNID(UPDATE_MODULE_NAME, "update:module:name"), /* name */
  228. KNOWNID(UPDATE_MODULE_STREAM, "update:module:stream"), /* stream */
  229. KNOWNID(UPDATE_MODULE_VERSION, "update:module:version"), /* version */
  230. KNOWNID(UPDATE_MODULE_CONTEXT, "update:module:context"), /* context */
  231. KNOWNID(UPDATE_MODULE_ARCH, "update:module:arch"), /* architecture */
  232. KNOWNID(SOLVABLE_BUILDVERSION, "solvable:buildversion"), /* conda */
  233. KNOWNID(SOLVABLE_BUILDFLAVOR, "solvable:buildflavor"), /* conda */
  234. KNOWNID(UPDATE_STATUS, "update:status"), /* "stable", "testing", ...*/
  235. KNOWNID(LIBSOLV_SELF_DESTRUCT_PKG, "libsolv-self-destruct-pkg()"), /* this package will self-destruct on installation */
  236. KNOWNID(SOLVABLE_CONSTRAINS, "solvable:constrains"), /* conda */
  237. KNOWNID(SOLVABLE_TRACK_FEATURES, "solvable:track_features"), /* conda */
  238. KNOWNID(SOLVABLE_ISDEFAULT, "solvable:isdefault"),
  239. KNOWNID(SOLVABLE_LANGONLY, "solvable:langonly"),
  240. KNOWNID(UPDATE_COLLECTIONLIST, "update:collectionlist"), /* list of UPDATE_COLLECTION (actually packages) and UPDATE_MODULE */
  241. KNOWNID(SOLVABLE_MULTIARCH, "solvable:multiarch"), /* debian multi-arch field */
  242. KNOWNID(ID_NUM_INTERNAL, 0)
  243. #ifdef KNOWNID_INITIALIZE
  244. };
  245. #else
  246. };
  247. #endif
  248. #undef KNOWNID
  249. #endif