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