satsolver 0.16.3
|
00001 /* 00002 * Copyright (c) 2007, Novell Inc. 00003 * 00004 * This program is licensed under the BSD license, read LICENSE.BSD 00005 * for further information 00006 */ 00007 00008 /* 00009 * knownid.h 00010 * 00011 */ 00012 00013 /* 00014 * Warning: you're free to append new entries, but insert/delete breaks 00015 * the ABI! 00016 */ 00017 00018 #undef KNOWNID 00019 #ifdef KNOWNID_INITIALIZE 00020 # define KNOWNID(a, b) b 00021 static const char *initpool_data[] = { 00022 #else 00023 # define KNOWNID(a, b) a 00024 enum sat_knownid { 00025 #endif 00026 00027 KNOWNID(ID_NULL, "<NULL>"), 00028 KNOWNID(ID_EMPTY, ""), 00029 00030 /* The following Ids are stored in the solvable and must 00031 * come in one block */ 00032 KNOWNID(SOLVABLE_NAME, "solvable:name"), 00033 KNOWNID(SOLVABLE_ARCH, "solvable:arch"), 00034 KNOWNID(SOLVABLE_EVR, "solvable:evr"), 00035 KNOWNID(SOLVABLE_VENDOR, "solvable:vendor"), 00036 KNOWNID(SOLVABLE_PROVIDES, "solvable:provides"), 00037 KNOWNID(SOLVABLE_OBSOLETES, "solvable:obsoletes"), 00038 KNOWNID(SOLVABLE_CONFLICTS, "solvable:conflicts"), 00039 KNOWNID(SOLVABLE_REQUIRES, "solvable:requires"), 00040 KNOWNID(SOLVABLE_RECOMMENDS, "solvable:recommends"), 00041 KNOWNID(SOLVABLE_SUGGESTS, "solvable:suggests"), 00042 KNOWNID(SOLVABLE_SUPPLEMENTS, "solvable:supplements"), 00043 KNOWNID(SOLVABLE_ENHANCES, "solvable:enhances"), 00044 KNOWNID(RPM_RPMDBID, "rpm:dbid"), 00045 00046 /* normal requires before this, prereqs after this */ 00047 KNOWNID(SOLVABLE_PREREQMARKER, "solvable:prereqmarker"), 00048 /* normal provides before this, generated file provides after this */ 00049 KNOWNID(SOLVABLE_FILEMARKER, "solvable:filemarker"), 00050 KNOWNID(NAMESPACE_INSTALLED, "namespace:installed"), 00051 KNOWNID(NAMESPACE_MODALIAS, "namespace:modalias"), 00052 KNOWNID(NAMESPACE_SPLITPROVIDES, "namespace:splitprovides"), 00053 KNOWNID(NAMESPACE_LANGUAGE, "namespace:language"), 00054 KNOWNID(NAMESPACE_FILESYSTEM, "namespace:filesystem"), 00055 KNOWNID(NAMESPACE_OTHERPROVIDERS, "namespace:otherproviders"), 00056 KNOWNID(SYSTEM_SYSTEM, "system:system"), 00057 KNOWNID(ARCH_SRC, "src"), 00058 KNOWNID(ARCH_NOSRC, "nosrc"), 00059 KNOWNID(ARCH_NOARCH, "noarch"), 00060 KNOWNID(ARCH_ALL, "all"), 00061 00062 KNOWNID(REPOSITORY_SOLVABLES, "repository:solvables"), 00063 KNOWNID(REPOSITORY_DELTAINFO, "repository:deltainfo"), 00064 00065 /* sub-repository information, they will get loaded on demand */ 00066 KNOWNID(REPOSITORY_EXTERNAL, "repository:external"), 00067 KNOWNID(REPOSITORY_KEYS, "repository:keys"), 00068 KNOWNID(REPOSITORY_LOCATION, "repository:location"), 00069 00070 /* file provides already added to our solvables */ 00071 KNOWNID(REPOSITORY_ADDEDFILEPROVIDES, "repository:addedfileprovides"), 00072 /* inode of the rpm database for rpm --rebuilddb detection */ 00073 KNOWNID(REPOSITORY_RPMDBCOOKIE, "repository:rpmdbcookie"), 00074 00075 /* The void type is usable to encode one-valued attributes, they have 00076 no associated data. This is useful to encode values which many solvables 00077 have in common, and whose overall set is relatively limited. A prime 00078 example would be the media number. The actual value is encoded in the 00079 SIZE member of the key structure. Be warned: careless use of this 00080 leads to combinatoric explosion of number of schemas. */ 00081 KNOWNID(REPOKEY_TYPE_VOID, "repokey:type:void"), 00082 KNOWNID(REPOKEY_TYPE_CONSTANT, "repokey:type:constant"), 00083 KNOWNID(REPOKEY_TYPE_CONSTANTID, "repokey:type:constantid"), 00084 KNOWNID(REPOKEY_TYPE_ID, "repokey:type:id"), 00085 KNOWNID(REPOKEY_TYPE_NUM, "repokey:type:num"), 00086 KNOWNID(REPOKEY_TYPE_U32, "repokey:type:num32"), 00087 KNOWNID(REPOKEY_TYPE_DIR, "repokey:type:dir"), 00088 KNOWNID(REPOKEY_TYPE_STR, "repokey:type:str"), 00089 KNOWNID(REPOKEY_TYPE_BINARY, "repokey:type:binary"), 00090 KNOWNID(REPOKEY_TYPE_IDARRAY, "repokey:type:idarray"), 00091 KNOWNID(REPOKEY_TYPE_REL_IDARRAY, "repokey:type:relidarray"), 00092 KNOWNID(REPOKEY_TYPE_DIRSTRARRAY, "repokey:type:dirstrarray"), 00093 KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY, "repokey:type:dirnumnumarray"), 00094 KNOWNID(REPOKEY_TYPE_MD5, "repokey:type:md5"), 00095 KNOWNID(REPOKEY_TYPE_SHA1, "repokey:type:sha1"), 00096 KNOWNID(REPOKEY_TYPE_SHA256, "repokey:type:sha256"), 00097 KNOWNID(REPOKEY_TYPE_FIXARRAY, "repokey:type:fixarray"), 00098 KNOWNID(REPOKEY_TYPE_FLEXARRAY, "repokey:type:flexarray"), 00099 KNOWNID(REPOKEY_TYPE_DELETED, "repokey:type:deleted"), 00100 00101 KNOWNID(SOLVABLE_SUMMARY, "solvable:summary"), 00102 KNOWNID(SOLVABLE_DESCRIPTION, "solvable:description"), 00103 KNOWNID(SOLVABLE_DISTRIBUTION, "solvable:distribution"), 00104 KNOWNID(SOLVABLE_AUTHORS, "solvable:authors"), 00105 KNOWNID(SOLVABLE_PACKAGER, "solvable:packager"), 00106 KNOWNID(SOLVABLE_GROUP, "solvable:group"), 00107 KNOWNID(SOLVABLE_URL, "solvable:url"), 00108 KNOWNID(SOLVABLE_KEYWORDS, "solvable:keywords"), 00109 KNOWNID(SOLVABLE_LICENSE, "solvable:license"), 00110 KNOWNID(SOLVABLE_BUILDTIME, "solvable:buildtime"), 00111 KNOWNID(SOLVABLE_BUILDHOST, "solvable:buildhost"), 00112 KNOWNID(SOLVABLE_EULA, "solvable:eula"), 00113 KNOWNID(SOLVABLE_CPEID, "solvable:cpeid"), 00114 KNOWNID(SOLVABLE_MESSAGEINS, "solvable:messageins"), 00115 KNOWNID(SOLVABLE_MESSAGEDEL, "solvable:messagedel"), 00116 KNOWNID(SOLVABLE_INSTALLSIZE, "solvable:installsize"), 00117 KNOWNID(SOLVABLE_DISKUSAGE, "solvable:diskusage"), 00118 KNOWNID(SOLVABLE_FILELIST, "solvable:filelist"), 00119 KNOWNID(SOLVABLE_INSTALLTIME, "solvable:installtime"), 00120 KNOWNID(SOLVABLE_MEDIADIR, "solvable:mediadir"), 00121 KNOWNID(SOLVABLE_MEDIAFILE, "solvable:mediafile"), 00122 KNOWNID(SOLVABLE_MEDIANR, "solvable:medianr"), 00123 KNOWNID(SOLVABLE_DOWNLOADSIZE, "solvable:downloadsize"), 00124 KNOWNID(SOLVABLE_SOURCEARCH, "solvable:sourcearch"), 00125 KNOWNID(SOLVABLE_SOURCENAME, "solvable:sourcename"), 00126 KNOWNID(SOLVABLE_SOURCEEVR, "solvable:sourceevr"), 00127 KNOWNID(SOLVABLE_ISVISIBLE, "solvable:isvisible"), 00128 KNOWNID(SOLVABLE_TRIGGERS, "solvable:triggers"), 00129 KNOWNID(SOLVABLE_CHECKSUM, "solvable:checksum"), 00130 KNOWNID(SOLVABLE_PKGID, "solvable:pkgid"), /* pkgid: md5sum over header + payload */ 00131 KNOWNID(SOLVABLE_HDRID, "solvable:hdrid"), /* hdrid: sha1sum over header only */ 00132 KNOWNID(SOLVABLE_LEADSIGID, "solvable:leadsigid"), /* leadsigid: md5sum over lead + sigheader */ 00133 00134 KNOWNID(SOLVABLE_PATCHCATEGORY, "solvable:patchcategory"), 00135 KNOWNID(SOLVABLE_HEADEREND, "solvable:headerend"), 00136 00137 /* stuff for solvables of type pattern */ 00138 KNOWNID(SOLVABLE_CATEGORY, "solvable:category"), 00139 KNOWNID(SOLVABLE_INCLUDES, "solvable:includes"), 00140 KNOWNID(SOLVABLE_EXTENDS, "solvable:extends"), 00141 KNOWNID(SOLVABLE_ICON, "solvable:icon"), 00142 KNOWNID(SOLVABLE_ORDER, "solvable:order"), 00143 00144 KNOWNID(UPDATE_REBOOT, "update:reboot"), /* reboot suggested (kernel update) */ 00145 KNOWNID(UPDATE_RESTART, "update:restart"), /* restart suggested (update stack update) */ 00146 KNOWNID(UPDATE_RELOGIN, "update:relogin"), /* relogin suggested */ 00147 00148 KNOWNID(UPDATE_MESSAGE, "update:message"), /* informative message */ 00149 00150 /* 'content' of patch, usually list of packages */ 00151 KNOWNID(UPDATE_COLLECTION, "update:collection"), /* "name evr arch" */ 00152 KNOWNID(UPDATE_COLLECTION_NAME, "update:collection:name"), /* name */ 00153 KNOWNID(UPDATE_COLLECTION_EVR, "update:collection:evr"), /* epoch:version-release */ 00154 KNOWNID(UPDATE_COLLECTION_ARCH, "update:collection:arch"), /* architecture */ 00155 KNOWNID(UPDATE_COLLECTION_FILENAME, "update:collection:filename"), /* filename (of rpm) */ 00156 KNOWNID(UPDATE_COLLECTION_FLAGS, "update:collection:flags"), /* reboot(1)/restart(2) suggested if this rpm gets updated */ 00157 00158 KNOWNID(UPDATE_REFERENCE, "update:reference"), /* external references for the update */ 00159 KNOWNID(UPDATE_REFERENCE_TYPE, "update:reference:type"), /* type, e.g. 'bugzilla' or 'cve' */ 00160 KNOWNID(UPDATE_REFERENCE_HREF, "update:reference:href"), /* href, e.g. 'http://bugzilla...' */ 00161 KNOWNID(UPDATE_REFERENCE_ID, "update:reference:id"), /* id, e.g. bug number */ 00162 KNOWNID(UPDATE_REFERENCE_TITLE, "update:reference:title"), /* title, e.g. "the bla forz scribs on fuggle" */ 00163 00164 /* name */ 00165 KNOWNID(PRODUCT_REFERENCEFILE, "product:referencefile"), 00166 KNOWNID(PRODUCT_SHORTLABEL, "product:shortlabel"), 00167 KNOWNID(PRODUCT_DISTPRODUCT, "product:distproduct"), 00168 KNOWNID(PRODUCT_DISTVERSION, "product:distversion"), 00169 KNOWNID(PRODUCT_TYPE, "product:type"), 00170 KNOWNID(PRODUCT_URL, "product:url"), 00171 KNOWNID(PRODUCT_URL_TYPE, "product:url:type"), 00172 KNOWNID(PRODUCT_FLAGS, "product:flags"), 00173 KNOWNID(PRODUCT_PRODUCTLINE, "product:productline"), 00174 KNOWNID(PRODUCT_REGISTER_TARGET, "product:regtarget"), 00175 KNOWNID(PRODUCT_REGISTER_RELEASE, "product:regrelease"), 00176 00177 /* argh */ 00178 KNOWNID(SUSETAGS_DATADIR, "susetags:datadir"), 00179 KNOWNID(SUSETAGS_DESCRDIR, "susetags:descrdir"), 00180 KNOWNID(SUSETAGS_DEFAULTVENDOR, "susetags:defaultvendor"), 00181 KNOWNID(SUSETAGS_FILE, "susetags:file"), 00182 KNOWNID(SUSETAGS_FILE_NAME, "susetags:file:name"), 00183 KNOWNID(SUSETAGS_FILE_TYPE, "susetags:file:type"), 00184 KNOWNID(SUSETAGS_FILE_CHECKSUM, "susetags:file:checksum"), 00185 00186 /* timestamp then the repository was generated */ 00187 KNOWNID(REPOSITORY_TIMESTAMP, "repository:timestamp"), 00188 /* hint when the metadata could be outdated 00189 w/respect to generated timestamp */ 00190 KNOWNID(REPOSITORY_EXPIRE, "repository:expire"), 00191 00192 /* which things does this repo provides updates for, if it does (array) */ 00193 KNOWNID(REPOSITORY_UPDATES, "repository:updates"), 00194 /* for the repository:update label and cpeid, use the repository:product 00195 sub attributes */ 00196 00197 /* which products this repository is supposed to be for (array) */ 00198 KNOWNID(REPOSITORY_DISTROS, "repository:distros"), 00199 KNOWNID(REPOSITORY_PRODUCT_LABEL, "repository:product:label"), 00200 KNOWNID(REPOSITORY_PRODUCT_CPEID, "repository:product:cpeid"), 00201 00202 /* keyword (tags) for this repository */ 00203 KNOWNID(REPOSITORY_KEYWORDS, "repository:keywords"), 00204 /* revision of the repository. arbitrary string */ 00205 KNOWNID(REPOSITORY_REVISION, "repository:revision"), 00206 00207 KNOWNID(DELTA_PACKAGE_NAME, "delta:pkgname"), 00208 KNOWNID(DELTA_PACKAGE_EVR, "delta:pkgevr"), 00209 KNOWNID(DELTA_PACKAGE_ARCH, "delta:pkgarch"), 00210 KNOWNID(DELTA_LOCATION_DIR, "delta:locdir"), 00211 KNOWNID(DELTA_LOCATION_NAME, "delta:locname"), 00212 KNOWNID(DELTA_LOCATION_EVR, "delta:locevr"), 00213 KNOWNID(DELTA_LOCATION_SUFFIX, "delta:locsuffix"), 00214 KNOWNID(DELTA_DOWNLOADSIZE, "delta:downloadsize"), 00215 KNOWNID(DELTA_CHECKSUM, "delta:checksum"), 00216 KNOWNID(DELTA_BASE_EVR, "delta:baseevr"), 00217 KNOWNID(DELTA_SEQ_NAME, "delta:seqname"), 00218 KNOWNID(DELTA_SEQ_EVR, "delta:seqevr"), 00219 KNOWNID(DELTA_SEQ_NUM, "delta:seqnum"), 00220 00221 /* XXX: shouldn't use a real ID */ 00222 KNOWNID(NAMESPACE_PRODUCTBUDDY, "namespace:productbuddy"), 00223 00224 KNOWNID(REPOSITORY_REPOMD, "repository:repomd"), 00225 KNOWNID(REPOSITORY_REPOMD_TYPE, "repository:repomd:type"), 00226 KNOWNID(REPOSITORY_REPOMD_LOCATION, "repository:repomd:location"), 00227 KNOWNID(REPOSITORY_REPOMD_TIMESTAMP, "repository:repomd:timestamp"), 00228 KNOWNID(REPOSITORY_REPOMD_CHECKSUM, "repository:repomd:checksum"), 00229 KNOWNID(REPOSITORY_REPOMD_OPENCHECKSUM, "repository:repomd:openchecksum"), 00230 00231 KNOWNID(PUBKEY_KEYID, "pubkey:keyid"), 00232 KNOWNID(PUBKEY_FINGERPRINT, "pubkey:fingerprint"), 00233 KNOWNID(PUBKEY_EXPIRES, "pubkey:expires"), 00234 KNOWNID(PUBKEY_SIGNATURES, "pubkey:signatures"), 00235 00236 KNOWNID(REPOSITORY_TOOLVERSION, "repository:toolversion"), 00237 KNOWNID(REPOSITORY_REPOID, "repository:repoid"), 00238 00239 KNOWNID(ID_NUM_INTERNAL, 0) 00240 00241 #ifdef KNOWNID_INITIALIZE 00242 }; 00243 #else 00244 }; 00245 #endif 00246 00247 #undef KNOWNID 00248