2 * Copyright (c) 2007, Novell Inc.
4 * This program is licensed under the BSD license, read LICENSE.BSD
5 * for further information
14 #ifdef KNOWNID_INITIALIZE
15 # define KNOWNID(a, b) b
16 static const char *initpool_data[] = {
18 # define KNOWNID(a, b) a
22 KNOWNID(ID_NULL, "<NULL>"),
23 KNOWNID(ID_EMPTY, ""),
24 KNOWNID(SOLVABLE_NAME, "solvable:name"),
25 KNOWNID(SOLVABLE_ARCH, "solvable:arch"),
26 KNOWNID(SOLVABLE_EVR, "solvable:evr"),
27 KNOWNID(SOLVABLE_VENDOR, "solvable:vendor"),
28 KNOWNID(SOLVABLE_PROVIDES, "solvable:provides"),
29 KNOWNID(SOLVABLE_OBSOLETES, "solvable:obsoletes"),
30 KNOWNID(SOLVABLE_CONFLICTS, "solvable:conflicts"),
31 KNOWNID(SOLVABLE_REQUIRES, "solvable:requires"),
32 KNOWNID(SOLVABLE_RECOMMENDS, "solvable:recommends"),
33 KNOWNID(SOLVABLE_SUGGESTS, "solvable:suggests"),
34 KNOWNID(SOLVABLE_SUPPLEMENTS, "solvable:supplements"),
35 KNOWNID(SOLVABLE_ENHANCES, "solvable:enhances"),
36 KNOWNID(SOLVABLE_FRESHENS, "solvable:freshens"),
37 KNOWNID(RPM_RPMDBID, "rpm:dbid"),
38 /* normal requires before this, prereqs after this */
39 KNOWNID(SOLVABLE_PREREQMARKER, "solvable:prereqmarker"),
40 /* normal provides before this, generated file provides after this */
41 KNOWNID(SOLVABLE_FILEMARKER, "solvable:filemarker"),
42 KNOWNID(NAMESPACE_INSTALLED, "namespace:installed"),
43 KNOWNID(NAMESPACE_MODALIAS, "namespace:modalias"),
44 KNOWNID(NAMESPACE_SPLITPROVIDES, "namespace:splitprovides"),
45 KNOWNID(NAMESPACE_LANGUAGE, "namespace:language"),
46 KNOWNID(NAMESPACE_FILESYSTEM, "namespace:filesystem"),
47 KNOWNID(SYSTEM_SYSTEM, "system:system"),
48 KNOWNID(ARCH_SRC, "src"),
49 KNOWNID(ARCH_NOSRC, "nosrc"),
50 KNOWNID(ARCH_NOARCH, "noarch"),
51 KNOWNID(REPODATA_INFO, "repodata:info"),
52 KNOWNID(REPODATA_EXTERNAL, "repodata:external"),
53 KNOWNID(REPODATA_KEYS, "repodata:keys"),
54 KNOWNID(REPODATA_LOCATION, "repodata:location"),
55 KNOWNID(REPODATA_ADDEDFILEPROVIDES, "repodata:addedfileprovides"),
56 KNOWNID(REPODATA_RPMDBCOOKIE, "repodata:rpmdbcookie"),
58 /* The void type is usable to encode one-valued attributes, they have
59 no associated data. This is useful to encode values which many solvables
60 have in common, and whose overall set is relatively limited. A prime
61 example would be the media number. The actual value is encoded in the
62 SIZE member of the key structure. Be warned: careless use of this
63 leads to combinatoric explosion of number of schemas. */
64 KNOWNID(REPOKEY_TYPE_VOID, "repokey:type:void"),
65 KNOWNID(REPOKEY_TYPE_CONSTANT, "repokey:type:constant"),
66 KNOWNID(REPOKEY_TYPE_CONSTANTID, "repokey:type:constantid"),
67 KNOWNID(REPOKEY_TYPE_ID, "repokey:type:id"),
68 KNOWNID(REPOKEY_TYPE_NUM, "repokey:type:num"),
69 KNOWNID(REPOKEY_TYPE_U32, "repokey:type:num32"),
70 KNOWNID(REPOKEY_TYPE_DIR, "repokey:type:dir"),
71 KNOWNID(REPOKEY_TYPE_STR, "repokey:type:str"),
72 KNOWNID(REPOKEY_TYPE_IDARRAY, "repokey:type:idarray"),
73 KNOWNID(REPOKEY_TYPE_REL_IDARRAY, "repokey:type:relidarray"),
74 KNOWNID(REPOKEY_TYPE_DIRSTRARRAY, "repokey:type:dirstrarray"),
75 KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY, "repokey:type:dirnumnumarray"),
76 KNOWNID(REPOKEY_TYPE_MD5, "repokey:type:md5"),
77 KNOWNID(REPOKEY_TYPE_SHA1, "repokey:type:sha1"),
78 KNOWNID(REPOKEY_TYPE_SHA256, "repokey:type:sha256"),
79 KNOWNID(REPOKEY_TYPE_COUNTED, "repokey:type:counted"),
81 KNOWNID(SOLVABLE_SUMMARY, "solvable:summary"),
82 KNOWNID(SOLVABLE_DESCRIPTION, "solvable:description"),
83 KNOWNID(SOLVABLE_AUTHORS, "solvable:authors"),
84 KNOWNID(SOLVABLE_GROUP, "solvable:group"),
85 KNOWNID(SOLVABLE_KEYWORDS, "solvable:keywords"),
86 KNOWNID(SOLVABLE_LICENSE, "solvable:license"),
87 KNOWNID(SOLVABLE_BUILDTIME, "solvable:buildtime"),
88 KNOWNID(SOLVABLE_EULA, "solvable:eula"),
89 KNOWNID(SOLVABLE_MESSAGEINS, "solvable:messageins"),
90 KNOWNID(SOLVABLE_MESSAGEDEL, "solvable:messagedel"),
91 KNOWNID(SOLVABLE_INSTALLSIZE, "solvable:installsize"),
92 KNOWNID(SOLVABLE_DISKUSAGE, "solvable:diskusage"),
93 KNOWNID(SOLVABLE_FILELIST, "solvable:filelist"),
94 KNOWNID(SOLVABLE_INSTALLTIME, "solvable:installtime"),
95 KNOWNID(SOLVABLE_MEDIADIR, "solvable:mediadir"),
96 KNOWNID(SOLVABLE_MEDIAFILE, "solvable:mediafile"),
97 KNOWNID(SOLVABLE_MEDIANR, "solvable:medianr"),
98 KNOWNID(SOLVABLE_DOWNLOADSIZE, "solvable:downloadsize"),
99 KNOWNID(SOLVABLE_SOURCEARCH, "solvable:sourcearch"),
100 KNOWNID(SOLVABLE_SOURCENAME, "solvable:sourcename"),
101 KNOWNID(SOLVABLE_SOURCEEVR, "solvable:sourceevr"),
102 KNOWNID(SOLVABLE_ISVISIBLE, "solvable:isvisible"),
103 KNOWNID(SOLVABLE_CHECKSUM, "solvable:checksum"),
104 /* pkgid: md5sum over header + payload */
105 KNOWNID(SOLVABLE_PKGID, "solvable:pkgid"),
106 /* hdrid: sha1sum over header only */
107 KNOWNID(SOLVABLE_HDRID, "solvable:hdrid"),
108 /* leadsigid: md5sum over lead + sigheader */
109 KNOWNID(SOLVABLE_LEADSIGID, "solvable:leadsigid"),
111 KNOWNID(SOLVABLE_PATCHCATEGORY, "solvable:patchcategory"),
112 KNOWNID(SOLVABLE_HEADEREND, "solvable:headerend"),
114 KNOWNID(SOLVABLE_CATEGORY, "solvable:category"),
115 KNOWNID(SOLVABLE_INCLUDES, "solvable:includes"),
116 KNOWNID(SOLVABLE_EXTENDS, "solvable:extends"),
117 KNOWNID(SOLVABLE_ICON, "solvable:icon"),
118 KNOWNID(SOLVABLE_ORDER, "solvable:order"),
120 KNOWNID(UPDATE_REBOOT, "update:reboot"), /* reboot suggested (kernel update) */
121 KNOWNID(UPDATE_RESTART, "update:restart"), /* restart suggested (update stack update) */
123 /* 'content' of patch, usually list of packages */
124 KNOWNID(UPDATE_COLLECTION, "update:collection"), /* "name evr arch" */
125 KNOWNID(UPDATE_COLLECTION_NAME, "update:collection:name"), /* name */
126 KNOWNID(UPDATE_COLLECTION_EVR, "update:collection:evr"), /* epoch:version-release */
127 KNOWNID(UPDATE_COLLECTION_ARCH, "update:collection:arch"), /* architecture */
128 KNOWNID(UPDATE_COLLECTION_FILENAME, "update:collection:filename"), /* filename (of rpm) */
129 KNOWNID(UPDATE_COLLECTION_FLAGS, "update:collection:flags"), /* reboot(1)/restart(2) suggested if this rpm gets updated */
131 /* external references for the update */
132 KNOWNID(UPDATE_REFERENCE_TYPE, "update:reference:type"), /* type, e.g. 'bugzilla' or 'cve' */
133 KNOWNID(UPDATE_REFERENCE_HREF, "update:reference:href"), /* href, e.g. 'http://bugzilla...' */
134 KNOWNID(UPDATE_REFERENCE_ID, "update:reference:id"), /* id, e.g. bug number */
135 KNOWNID(UPDATE_REFERENCE_TITLE, "update:reference:title"), /* title, e.g. "the bla forz scribs on fuggle" */
138 KNOWNID(PRODUCT_SHORTLABEL, "product:shortlabel"),
139 KNOWNID(PRODUCT_DISTPRODUCT, "product:distproduct"),
140 KNOWNID(PRODUCT_DISTVERSION, "product:distversion"),
141 KNOWNID(PRODUCT_TYPE, "product:type"),
142 KNOWNID(PRODUCT_RELNOTESURL, "product:relnotesurl"),
143 KNOWNID(PRODUCT_UPDATEURLS, "product:updateurls"),
144 KNOWNID(PRODUCT_EXTRAURLS, "product:extraurls"),
145 KNOWNID(PRODUCT_OPTIONALURLS, "product:optionalurls"),
146 KNOWNID(PRODUCT_FLAGS, "product:flags"),
149 KNOWNID(SUSETAGS_DATADIR, "susetags:datadir"),
151 KNOWNID(DELTA_PACKAGE_NAME, "delta:pkgname"),
152 KNOWNID(DELTA_PACKAGE_EVR, "delta:pkgevr"),
153 KNOWNID(DELTA_PACKAGE_ARCH, "delta:pkgarch"),
154 KNOWNID(DELTA_LOCATION_DIR, "delta:locdir"),
155 KNOWNID(DELTA_LOCATION_NAME, "delta:locname"),
156 KNOWNID(DELTA_LOCATION_EVR, "delta:locevr"),
157 KNOWNID(DELTA_LOCATION_SUFFIX, "delta:locsuffix"),
158 KNOWNID(DELTA_DOWNLOADSIZE, "delta:downloadsize"),
159 KNOWNID(DELTA_CHECKSUM, "delta:checksum"),
160 KNOWNID(DELTA_BASE_EVR, "delta:baseevr"),
161 KNOWNID(DELTA_SEQ_NAME, "delta:seqname"),
162 KNOWNID(DELTA_SEQ_EVR, "delta:seqevr"),
163 KNOWNID(DELTA_SEQ_NUM, "delta:seqnum"),
165 KNOWNID(ID_NUM_INTERNAL, 0)
167 #ifdef KNOWNID_INITIALIZE