Imported Upstream version 0.6.11
[platform/upstream/libsolv.git] / doc / libsolv-constantids.3
1 '\" t
2 .\"     Title: Libsolv-Constantids
3 .\"    Author: [see the "Author" section]
4 .\" Generator: DocBook XSL Stylesheets v1.78.0 <http://docbook.sf.net/>
5 .\"      Date: 03/19/2015
6 .\"    Manual: LIBSOLV
7 .\"    Source: libsolv
8 .\"  Language: English
9 .\"
10 .TH "LIBSOLV\-CONSTANTIDS" "3" "03/19/2015" "libsolv" "LIBSOLV"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 libsolv-constantids \- fixed Ids for often used strings
32 .SH "DESCRIPTION"
33 .sp
34 Constant Ids are Ids of strings that are often needed\&. They are defined to ease programming and reduce the number of pool_str2id calls\&. The constant Ids are part of the binary ABI of libsolv, a minor version update will only add new constants and not change existing Ids to maintain compatible\&. The on\-disk solv format works does not use the fixed Ids, but instead references the strings, so solv files can still be read when the ABI is broken\&.
35 .SH "SPECIAL STRINGS"
36 .PP
37 \fBID_EMPTY ""\fR
38 .RS 4
39 The empty string\&. It will always have Id 1\&.
40 .RE
41 .PP
42 \fBSYSTEM_SYSTEM "system:system"\fR
43 .RS 4
44 The name of the always installed "system" solvable\&.
45 .RE
46 .SH "SOLVABLE ATTRIBUTES"
47 .sp
48 These are Ids for keyname of attributes\&. They can be used in the lookup and storage functions to select the correct attribute in the solvable\&. The descriptions below describe the intended semantics of the values stored in the attribute with the keyname\&.
49 .PP
50 \fBSOLVABLE_NAME "solvable:name"\fR
51 .RS 4
52 The name of the package\&.
53 .RE
54 .PP
55 \fBSOLVABLE_ARCH "solvable:arch"\fR
56 .RS 4
57 The architecture of the package\&. See the Solvable Architecture section for predefined architecture Id values\&.
58 .RE
59 .PP
60 \fBSOLVABLE_EVR "solvable:evr"\fR
61 .RS 4
62 The version of the package\&. It usually consists of some combination of the Epoch, the Version, and the Release of the solvable\&.
63 .RE
64 .PP
65 \fBSOLVABLE_VENDOR "solvable:vendor"\fR
66 .RS 4
67 A vendor string\&. Usually the company or group that created the binary package\&.
68 .RE
69 .PP
70 \fBSOLVABLE_PROVIDES "solvable:provides"\fR
71 .RS 4
72 Stores an array of dependency Ids that describe the capabilities that the package provides\&.
73 .RE
74 .PP
75 \fBSOLVABLE_OBSOLETES "solvable:obsoletes"\fR
76 .RS 4
77 Stores an array of dependency Ids that describe the packages that this package replaces\&.
78 .RE
79 .PP
80 \fBSOLVABLE_CONFLICTS "solvable:conflicts"\fR
81 .RS 4
82 Stores an array of dependency Ids that describe the capabilities that this package conflicts with, i\&.e\&. that can\(cqt be installed together with this package\&.
83 .RE
84 .PP
85 \fBSOLVABLE_REQUIRES "solvable:requires"\fR
86 .RS 4
87 Stores an array of dependency Ids that describe the capabilities that also must be installed when this package is installed\&.
88 .RE
89 .PP
90 \fBSOLVABLE_RECOMMENDS "solvable:recommends"\fR
91 .RS 4
92 Stores an array of dependency Ids that describe the capabilities that also should be installed when this package is installed\&. It\(cqs not an error if not all capabilites can be met\&.
93 .RE
94 .PP
95 \fBSOLVABLE_SUGGESTS "solvable:suggests"\fR
96 .RS 4
97 Stores an array of dependency Ids that describe the capabilities that also useful to have installed when this package is installed\&. This is intended to provide a hint to the user about other packages\&.
98 .RE
99 .PP
100 \fBSOLVABLE_SUPPLEMENTS "solvable:supplements"\fR
101 .RS 4
102 Stores an array of dependency Ids that define that this package should be installed if one of the capabilities is met\&. This is like the recommends attribute, but works in the reverse way\&.
103 .RE
104 .PP
105 \fBSOLVABLE_ENHANCES "solvable:enhances"\fR
106 .RS 4
107 Stores an array of dependency Ids that define that this package is useful to have installed if one of the capabilities is met\&. This is like the suggests attribute, but works in the reverse way\&.
108 .RE
109 .PP
110 \fBSOLVABLE_SUMMARY "solvable:summary"\fR
111 .RS 4
112 The summary should be a short string without any newlines that describes what a package does\&.
113 .RE
114 .PP
115 \fBSOLVABLE_DESCRIPTION "solvable:description"\fR
116 .RS 4
117 The description should be a more verbose description about what a package does\&. It may consist of multiple lines\&.
118 .RE
119 .PP
120 \fBSOLVABLE_DISTRIBUTION "solvable:distribution"\fR
121 .RS 4
122 The distribution is a short string that describes the OS and OS version this package is built for\&.
123 .RE
124 .PP
125 \fBSOLVABLE_AUTHORS "solvable:authors"\fR
126 .RS 4
127 A list of authors of this package\&. This attribute was used in SUSE packages\&.
128 .RE
129 .PP
130 \fBSOLVABLE_PACKAGER "solvable:packager"\fR
131 .RS 4
132 The person who created the binary package, see also the vendor attribute\&.
133 .RE
134 .PP
135 \fBSOLVABLE_GROUP "solvable:group"\fR
136 .RS 4
137 The package group that this package belongs to\&. See also the keywords attribute\&.
138 .RE
139 .PP
140 \fBSOLVABLE_URL "solvable:url"\fR
141 .RS 4
142 An URL that points to more information about the package\&.
143 .RE
144 .PP
145 \fBSOLVABLE_KEYWORDS "solvable:keywords"\fR
146 .RS 4
147 list of keyword string IDs used for tagging this package\&.
148 .RE
149 .PP
150 \fBSOLVABLE_LICENSE "solvable:license"\fR
151 .RS 4
152 The license(s) of this package\&.
153 .RE
154 .PP
155 \fBSOLVABLE_BUILDTIME "solvable:buildtime"\fR
156 .RS 4
157 The seconds since the unix epoch when the binary package was created\&.
158 .RE
159 .PP
160 \fBSOLVABLE_BUILDHOST "solvable:buildhost"\fR
161 .RS 4
162 The name of the host on which the binary package was created\&.
163 .RE
164 .PP
165 \fBSOLVABLE_EULA "solvable:eula"\fR
166 .RS 4
167 If this attribute is present the user should be asked to accept the end user license agreement before the package gets installed\&.
168 .RE
169 .PP
170 \fBSOLVABLE_CPEID "solvable:cpeid"\fR
171 .RS 4
172 A Common Platform Enumeration string describes the platform this package is intended for\&. See also the distribution attribute\&.
173 .RE
174 .PP
175 \fBSOLVABLE_MESSAGEINS "solvable:messageins"\fR
176 .RS 4
177 A message that should be displayed to the user when the package gets installed\&.
178 .RE
179 .PP
180 \fBSOLVABLE_MESSAGEDEL "solvable:messagedel"\fR
181 .RS 4
182 A message that should be displayed to the user when the package gets erased\&.
183 .RE
184 .PP
185 \fBSOLVABLE_INSTALLSIZE "solvable:installsize"\fR
186 .RS 4
187 The disk space in bytes needed when installing the package\&.
188 .RE
189 .PP
190 \fBSOLVABLE_DISKUSAGE "solvable:diskusage"\fR
191 .RS 4
192 A SUSE extension that stores for each directory the needed amount of disk space in kilobytes and inodes\&.
193 .RE
194 .PP
195 \fBSOLVABLE_FILELIST "solvable:filelist"\fR
196 .RS 4
197 A list of files that the package contains\&.
198 .RE
199 .PP
200 \fBSOLVABLE_INSTALLTIME "solvable:installtime"\fR
201 .RS 4
202 The seconds since the unix epoch when the binary package was installed on the system\&.
203 .RE
204 .PP
205 \fBSOLVABLE_MEDIADIR "solvable:mediadir"\fR
206 .RS 4
207 The directory on the repository that contains the package\&. If this attribute is set to void, the package architecture is used as directory\&.
208 .RE
209 .PP
210 \fBSOLVABLE_MEDIAFILE "solvable:mediafile"\fR
211 .RS 4
212 The filename on the repository that contains the package\&. If this attribute is set to void, the canonical file name of the package is used (i\&.e\&. a combination of the name, version, architecture)\&.
213 .RE
214 .PP
215 \fBSOLVABLE_MEDIANR "solvable:medianr"\fR
216 .RS 4
217 The media number\&. This is an integer describing on which of a multi\-part media set this package is on\&.
218 .RE
219 .PP
220 \fBSOLVABLE_MEDIABASE "solvable:mediabase"\fR
221 .RS 4
222 This attribute can be used to overwrite the repositories base url\&.
223 .RE
224 .PP
225 \fBSOLVABLE_DOWNLOADSIZE "solvable:downloadsize"\fR
226 .RS 4
227 The size of the binary package in bytes\&.
228 .RE
229 .PP
230 \fBSOLVABLE_SOURCEARCH "solvable:sourcearch"\fR
231 .RS 4
232 The architecture of the source package that this package belongs to\&.
233 .RE
234 .PP
235 \fBSOLVABLE_SOURCENAME "solvable:sourcename"\fR
236 .RS 4
237 The name of the source package that this package belongs to\&. If set to void, the package name attribute is used instead\&.
238 .RE
239 .PP
240 \fBSOLVABLE_SOURCEEVR "solvable:sourceevr"\fR
241 .RS 4
242 The version of the source package that this package belongs to\&. If set to void, the package version attribute is used instead\&.
243 .RE
244 .PP
245 \fBSOLVABLE_TRIGGERS "solvable:triggers"\fR
246 .RS 4
247 A list of package triggers for this package\&. Used in the transaction ordering code\&.
248 .RE
249 .PP
250 \fBSOLVABLE_CHECKSUM "solvable:checksum"\fR
251 .RS 4
252 The checksum of the binary package\&. See the Data Types section for a list of supported algorithms\&.
253 .RE
254 .PP
255 \fBSOLVABLE_PKGID "solvable:pkgid"\fR
256 .RS 4
257 A string identifying a package\&. For rpm packages, this is the md5sum over the package header and the payload\&.
258 .RE
259 .PP
260 \fBSOLVABLE_HDRID "solvable:hdrid"\fR
261 .RS 4
262 A string identifying a package\&. For rpm packages, this is the sha1sum over just the package header\&.
263 .RE
264 .PP
265 \fBSOLVABLE_LEADSIGID "solvable:leadsigid"\fR
266 .RS 4
267 A string identifying the signature part of a package\&. For rpm packages, this is the md5sum from the start of the file up to the package header (i\&.e\&. it includes the lead, the signature header, and the padding)\&.
268 .RE
269 .PP
270 \fBSOLVABLE_HEADEREND "solvable:headerend"\fR
271 .RS 4
272 The offset of the payload in rpm binary packages\&. You can use this information to download just the header if you want to display information not included in the repository metadata\&.
273 .RE
274 .PP
275 \fBSOLVABLE_CHANGELOG "solvable:changelog"\fR
276 .RS 4
277 The array containing all the changelog structures\&.
278 .RE
279 .PP
280 \fBSOLVABLE_CHANGELOG_AUTHOR "solvable:changelog:author"\fR
281 .RS 4
282 The author of a changelog entry\&.
283 .RE
284 .PP
285 \fBSOLVABLE_CHANGELOG_TIME "solvable:changelog:time"\fR
286 .RS 4
287 The seconds since the unix epoch when the changelog entry was written\&.
288 .RE
289 .PP
290 \fBSOLVABLE_CHANGELOG_TEXT "solvable:changelog:text"\fR
291 .RS 4
292 The text of a changelog entry\&.
293 .RE
294 .SH "SPECIAL SOLVABLE ATTRIBUTES"
295 .PP
296 \fBRPM_RPMDBID "rpm:dbid"\fR
297 .RS 4
298 The rpm database id of this (installed) package\&. Usually a small integer number\&.
299 .RE
300 .PP
301 \fBSOLVABLE_PATCHCATEGORY "solvable:patchcategory"\fR
302 .RS 4
303 The category field for patch solvables\&. Should be named \(lqupdate:category\(rq instead\&.
304 .RE
305 .PP
306 \fBUPDATE_REBOOT "update:reboot"\fR
307 .RS 4
308 If this attribute is present the system should be rebooted after the update is installed\&.
309 .RE
310 .PP
311 \fBUPDATE_RESTART "update:restart"\fR
312 .RS 4
313 If this attribute is present the software manager should be run again after the update is installed\&.
314 .RE
315 .PP
316 \fBUPDATE_RELOGIN "update:relogin"\fR
317 .RS 4
318 If this attribute is present the user should log off and on again after the update is installed\&.
319 .RE
320 .PP
321 \fBUPDATE_MESSAGE "update:message"\fR
322 .RS 4
323 A message that should be shown to the user to warn him about anything non\-standard\&.
324 .RE
325 .PP
326 \fBUPDATE_SEVERITY "update:severity"\fR
327 .RS 4
328 The severity of the update\&.
329 .RE
330 .PP
331 \fBUPDATE_RIGHTS "update:rights"\fR
332 .RS 4
333 Any legal or other rights of the update\&.
334 .RE
335 .PP
336 \fBUPDATE_COLLECTION "update:collection"\fR
337 .RS 4
338 The array containing the package list of the update\&.
339 .RE
340 .PP
341 \fBUPDATE_COLLECTION_NAME "update:collection:name"\fR
342 .RS 4
343 The name of the updated package\&.
344 .RE
345 .PP
346 \fBUPDATE_COLLECTION_EVR "update:collection:evr"\fR
347 .RS 4
348 The version of the updated package\&.
349 .RE
350 .PP
351 \fBUPDATE_COLLECTION_ARCH "update:collection:arch"\fR
352 .RS 4
353 The architecture of the updated package\&.
354 .RE
355 .PP
356 \fBUPDATE_COLLECTION_FILENAME "update:collection:filename"\fR
357 .RS 4
358 The file name of the updated package\&.
359 .RE
360 .PP
361 \fBUPDATE_REFERENCE "update:reference"\fR
362 .RS 4
363 The array containing the reference list of the update\&.
364 .RE
365 .PP
366 \fBUPDATE_REFERENCE_TYPE "update:reference:type"\fR
367 .RS 4
368 The type of the reference, e\&.g\&. bugzilla\&.
369 .RE
370 .PP
371 \fBUPDATE_REFERENCE_HREF "update:reference:href"\fR
372 .RS 4
373 The URL of the reference\&.
374 .RE
375 .PP
376 \fBUPDATE_REFERENCE_ID "update:reference:id"\fR
377 .RS 4
378 The identification string of the reference, e\&.g\&. the bug number\&.
379 .RE
380 .PP
381 \fBUPDATE_REFERENCE_TITLE "update:reference:title"\fR
382 .RS 4
383 The title of the reference, e\&.g\&. the bug summary\&.
384 .RE
385 .PP
386 \fBPRODUCT_REFERENCEFILE "product:referencefile"\fR
387 .RS 4
388 The basename of the product file in the package\&.
389 .RE
390 .PP
391 \fBPRODUCT_SHORTLABEL "product:shortlabel"\fR
392 .RS 4
393 A identification string of the product\&.
394 .RE
395 .PP
396 \fBPRODUCT_DISTPRODUCT "product:distproduct"\fR
397 .RS 4
398 Obsolete, do not use\&. Was a SUSE Code\-10 product name\&.
399 .RE
400 .PP
401 \fBPRODUCT_DISTVERSION "product:distversion"\fR
402 .RS 4
403 Obsolete, do not use\&. Was a SUSE Code\-10 product version\&.
404 .RE
405 .PP
406 \fBPRODUCT_TYPE "product:type"\fR
407 .RS 4
408 The type of the product, e\&.g\&. \(lqbase\(rq\&.
409 .RE
410 .PP
411 \fBPRODUCT_URL "product:url"\fR
412 .RS 4
413 An array of product URLs\&.
414 .RE
415 .PP
416 \fBPRODUCT_URL_TYPE "product:url:type"\fR
417 .RS 4
418 An array of product URL types\&.
419 .RE
420 .PP
421 \fBPRODUCT_FLAGS "product:flags"\fR
422 .RS 4
423 An array of product flags\&.
424 .RE
425 .PP
426 \fBPRODUCT_PRODUCTLINE "product:productline"\fR
427 .RS 4
428 A product line string used for product registering\&.
429 .RE
430 .PP
431 \fBPRODUCT_REGISTER_TARGET "product:regtarget"\fR
432 .RS 4
433 A target for prouduct registering\&.
434 .RE
435 .PP
436 \fBPRODUCT_REGISTER_RELEASE "product:regrelease"\fR
437 .RS 4
438 A release string for proudct registering\&.
439 .RE
440 .PP
441 \fBPUBKEY_KEYID "pubkey:keyid"\fR
442 .RS 4
443 The keyid of a pubkey, consisting of 8 bytes in hex\&.
444 .RE
445 .PP
446 \fBPUBKEY_FINGERPRINT "pubkey:fingerprint"\fR
447 .RS 4
448 The fingerprint of a pubkey, usually a sha1sum in hex\&. Old V3 RSA keys use a md5sum instead\&.
449 .RE
450 .PP
451 \fBPUBKEY_EXPIRES "pubkey:expires"\fR
452 .RS 4
453 The seconds since the unix epoch when the pubkey expires\&.
454 .RE
455 .PP
456 \fBPUBKEY_SUBKEYOF "pubkey:subkeyof"\fR
457 .RS 4
458 The keyid of the master pubkey for subkeys\&.
459 .RE
460 .PP
461 \fBPUBKEY_DATA "pubkey:data"\fR
462 .RS 4
463 The MPI data of the pubkey\&.
464 .RE
465 .PP
466 \fBSOLVABLE_ISVISIBLE "solvable:isvisible"\fR
467 .RS 4
468 An attribute describing if the package should be listed to the user or not\&. Used for SUSE patterns\&.
469 .RE
470 .PP
471 \fBSOLVABLE_CATEGORY "solvable:category"\fR
472 .RS 4
473 The category of a pattern\&.
474 .RE
475 .PP
476 \fBSOLVABLE_INCLUDES "solvable:includes"\fR
477 .RS 4
478 A list of other patterns that this pattern includes\&.
479 .RE
480 .PP
481 \fBSOLVABLE_EXTENDS "solvable:extends"\fR
482 .RS 4
483 A list of other patterns that this pattern extends\&.
484 .RE
485 .PP
486 \fBSOLVABLE_ICON "solvable:icon"\fR
487 .RS 4
488 The icon name of a pattern\&.
489 .RE
490 .PP
491 \fBSOLVABLE_ORDER "solvable:order"\fR
492 .RS 4
493 An ordering clue of a pattern\&.
494 .RE
495 .PP
496 \fBSUSETAGS_SHARE_NAME "susetags:share:name"\fR
497 .RS 4
498 Internal attribute to implement susetags shared records\&. Holds the name of the solvable used for sharing attributes\&.
499 .RE
500 .PP
501 \fBSUSETAGS_SHARE_EVR "susetags:share:evr"\fR
502 .RS 4
503 Internal attribute to implement susetags shared records\&. Holds the version of the solvable used for sharing attributes\&.
504 .RE
505 .PP
506 \fBSUSETAGS_SHARE_ARCH "susetags:share:arch"\fR
507 .RS 4
508 Internal attribute to implement susetags shared records\&. Holds the architecture of the solvable used for sharing attributes\&.
509 .RE
510 .SH "SOLVABLE ARCHITECTURES"
511 .sp
512 Predefined architecture values for commonly used architectures\&.
513 .PP
514 \fBARCH_SRC "src"\fR
515 .RS 4
516 Used for binary packages that contain the package sources\&.
517 .RE
518 .PP
519 \fBARCH_NOSRC "nosrc"\fR
520 .RS 4
521 Used for binary packages that contain some of the package sources, but not all files (because of restrictions)\&.
522 .RE
523 .PP
524 \fBARCH_NOARCH "noarch"\fR
525 .RS 4
526 This package can be installed on any architecture\&. Used for rpm\&.
527 .RE
528 .PP
529 \fBARCH_ALL "all"\fR
530 .RS 4
531 This package can be installed on any architecture\&. Used for Debian\&.
532 .RE
533 .PP
534 \fBARCH_ANY "any"\fR
535 .RS 4
536 This package can be installed on any architecture\&. Used for Archlinux and Haiku\&.
537 .RE
538 .SH "DEPENDENCY IDS"
539 .sp
540 Namespaces are special modifiers that change the meaning of a dependency\&. Namespace dependencies are created with the REL_NAMESPACE flag\&. To make custom namespaces work you have to implement a namespace callback function\&.
541 .sp
542 The dependency markers partition the dependency array in two parts with different semantics\&.
543 .PP
544 \fBNAMESPACE_MODALIAS "namespace:modalias"\fR
545 .RS 4
546 The dependency is a special modalias dependency that matches installed hardware\&.
547 .RE
548 .PP
549 \fBNAMESPACE_SPLITPROVIDES "namespace:splitprovides"\fR
550 .RS 4
551 The dependency is a special splitprovides dependency used to implement updates that include a package split\&. A splitprovoide dependency contains a filename and a package name, it is matched if a package with the provided package name is installed that contains the filename\&. This namespace is implemented in libsolv, so you do not need a callback\&.
552 .RE
553 .PP
554 \fBNAMESPACE_LANGUAGE "namespace:language"\fR
555 .RS 4
556 The dependency describes a language\&. The callback should return true if the language was selected by the user\&.
557 .RE
558 .PP
559 \fBNAMESPACE_FILESYSTEM "namespace:filesystem"\fR
560 .RS 4
561 The dependency describes a filesystem\&. The callback should return true if the filesystem is needed\&.
562 .RE
563 .PP
564 \fBNAMESPACE_OTHERPROVIDERS "namespace:otherproviders"\fR
565 .RS 4
566 This is a hack to allow self\-conflicting packages\&. It is not needed with current rpm version, so do not use this namespace\&.
567 .RE
568 .PP
569 \fBSOLVABLE_PREREQMARKER "solvable:prereqmarker"\fR
570 .RS 4
571 This marker partitions the normal require dependencies from the prerequires\&. It is not needed for dependency solving, but it is used by the transaction ordering algorithm when a dependency cycle needs to be broken (non\-prereq deps get broken first)\&.
572 .RE
573 .PP
574 \fBSOLVABLE_FILEMARKER "solvable:filemarker"\fR
575 .RS 4
576 This marker partitions the package provides dependencies from the synthetic file provides dependencies added by pool_addfileprovides()\&.
577 .RE
578 .SH "DATA TYPES"
579 .sp
580 Each attribute data is stored with a type, so that the lookup functions know how to interpret the data\&. The following types are available:
581 .PP
582 \fBREPOKEY_TYPE_VOID "repokey:type:void"\fR
583 .RS 4
584 No data is stored with this attribute\&. Thus you can only test if the attribute exists or not\&. Useful to store boolean values\&.
585 .RE
586 .PP
587 \fBREPOKEY_TYPE_CONSTANT "repokey:type:constant"\fR
588 .RS 4
589 The data is a constant 32bit number\&. The number is stored in the key area, so using it does not cost extra storage space (but you need the extra key space)\&.
590 .RE
591 .PP
592 \fBREPOKEY_TYPE_CONSTANTID "repokey:type:constantid"\fR
593 .RS 4
594 The data is a constant Id\&. The Id is stored in the key area, so using it does not cost extra storage space (but you need the extra key space)\&.
595 .RE
596 .PP
597 \fBREPOKEY_TYPE_ID "repokey:type:id"\fR
598 .RS 4
599 The data is an Id\&.
600 .RE
601 .PP
602 \fBREPOKEY_TYPE_NUM "repokey:type:num"\fR
603 .RS 4
604 The data is an unsigned 64bit number\&.
605 .RE
606 .PP
607 \fBREPOKEY_TYPE_U32 "repokey:type:num32"\fR
608 .RS 4
609 The data is an unsigned 32bit number\&. Obsolete, do not use\&.
610 .RE
611 .PP
612 \fBREPOKEY_TYPE_DIR "repokey:type:dir"\fR
613 .RS 4
614 The data is an Id of a directory\&.
615 .RE
616 .PP
617 \fBREPOKEY_TYPE_STR "repokey:type:str"\fR
618 .RS 4
619 The data is a regular string\&.
620 .RE
621 .PP
622 \fBREPOKEY_TYPE_BINARY "repokey:type:binary"\fR
623 .RS 4
624 The data is a binary blob\&.
625 .RE
626 .PP
627 \fBREPOKEY_TYPE_IDARRAY "repokey:type:idarray"\fR
628 .RS 4
629 The data is an array of non\-zero Ids\&.
630 .RE
631 .PP
632 \fBREPOKEY_TYPE_REL_IDARRAY "repokey:type:relidarray"\fR
633 .RS 4
634 The data is an array of non\-zero Ids ordered so that it needs less space\&.
635 .RE
636 .PP
637 \fBREPOKEY_TYPE_DIRSTRARRAY "repokey:type:dirstrarray"\fR
638 .RS 4
639 The data is an tuple consisting of a directory Id and a basename\&. Used to store file names\&.
640 .RE
641 .PP
642 \fBREPOKEY_TYPE_DIRNUMNUMARRAY "repokey:type:dirnumnumarray"\fR
643 .RS 4
644 The data is an triple consisting of a directory Id and two 32bit unsigned integers\&. Used to store disk usage information\&.
645 .RE
646 .PP
647 \fBREPOKEY_TYPE_MD5 "repokey:type:md5"\fR
648 .RS 4
649 The data is a binary md5sum\&.
650 .RE
651 .PP
652 \fBREPOKEY_TYPE_SHA1 "repokey:type:sha1"\fR
653 .RS 4
654 The data is a binary sha1sum\&.
655 .RE
656 .PP
657 \fBREPOKEY_TYPE_SHA256 "repokey:type:sha256"\fR
658 .RS 4
659 The data is a binary sha256sum\&.
660 .RE
661 .PP
662 \fBREPOKEY_TYPE_FIXARRAY "repokey:type:fixarray"\fR
663 .RS 4
664 The data is an array of structures that have all the same layout (i\&.e\&. the same keynames and keytypes in the same order)\&.
665 .RE
666 .PP
667 \fBREPOKEY_TYPE_FLEXARRAY "repokey:type:flexarray"\fR
668 .RS 4
669 The data is an array of structures that have a different layout\&.
670 .RE
671 .PP
672 \fBREPOKEY_TYPE_DELETED "repokey:type:deleted"\fR
673 .RS 4
674 The data does not exist\&. Used to mark an attribute that was deleted\&.
675 .RE
676 .SH "REPOSITORY METADATA"
677 .sp
678 This attributes contain meta information about the repository\&.
679 .PP
680 \fBREPOSITORY_SOLVABLES "repository:solvables"\fR
681 .RS 4
682 This attribute holds the array including all of the solvables\&. It is only used in the on\-disk solv files, internally the solvables are stored in the pool\(cqs solvable array for fast access\&.
683 .RE
684 .PP
685 \fBREPOSITORY_DELTAINFO "repository:deltainfo"\fR
686 .RS 4
687 This attribute holds the array including all of the delta packages\&.
688 .RE
689 .PP
690 \fBREPOSITORY_EXTERNAL "repository:external"\fR
691 .RS 4
692 This attribute holds the array including all of the data to construct stub repodata areas to support on\-demand loading of metadata\&.
693 .RE
694 .PP
695 \fBREPOSITORY_KEYS "repository:keys"\fR
696 .RS 4
697 This should really be named "repository:external:keys", it contains an array if Ids that consists of (keyname, keytype) pairs that describe the keys of the stub\&.
698 .RE
699 .PP
700 \fBREPOSITORY_LOCATION "repository:location"\fR
701 .RS 4
702 This is used to provide a file name in the stub\&.
703 .RE
704 .PP
705 \fBREPOSITORY_ADDEDFILEPROVIDES "repository:addedfileprovides"\fR
706 .RS 4
707 This attribute holds an array of filename Ids, that tell the library, that all of the Ids were already added to the solvable provides\&.
708 .RE
709 .PP
710 \fBREPOSITORY_RPMDBCOOKIE "repository:rpmdbcookie"\fR
711 .RS 4
712 An attribute that stores a sha256sum over the file stats of the Packages database\&. It\(cqs used to detect rebuilds of the database, as in that case the database Ids of every package are newly distributed\&.
713 .RE
714 .PP
715 \fBREPOSITORY_TIMESTAMP "repository:timestamp"\fR
716 .RS 4
717 The seconds since the unix epoch when the repository was created\&.
718 .RE
719 .PP
720 \fBREPOSITORY_EXPIRE "repository:expire"\fR
721 .RS 4
722 The seconds after the timestamp when the repository will expire\&.
723 .RE
724 .PP
725 \fBREPOSITORY_UPDATES "repository:updates"\fR
726 .RS 4
727 An array of structures describing what this repository updates\&.
728 .RE
729 .PP
730 \fBREPOSITORY_DISTROS "repository:distros"\fR
731 .RS 4
732 Also an array of structures describing what this repository updates\&. Seems to be the newer name of REPOSITORY_UPDATES\&.
733 .RE
734 .PP
735 \fBREPOSITORY_PRODUCT_LABEL "repository:product:label"\fR
736 .RS 4
737 Should really be called "repository:updates:label"\&. What distribution is updated with this repository\&.
738 .RE
739 .PP
740 \fBREPOSITORY_PRODUCT_CPEID "repository:product:cpeid"\fR
741 .RS 4
742 The cpeid of the platform updated by this repository\&. Is both used in REPOSITORY_UPDATES and REPOSITORY_DISTROS to maximize confusion\&.
743 .RE
744 .PP
745 \fBREPOSITORY_REPOID "repository:repoid"\fR
746 .RS 4
747 An array of Id strings describing keywords/tags about the repository itself\&.
748 .RE
749 .PP
750 \fBREPOSITORY_KEYWORDS "repository:keywords"\fR
751 .RS 4
752 An array of Id strings describing keywords/tags about the content of the repository\&.
753 .RE
754 .PP
755 \fBREPOSITORY_REVISION "repository:revision"\fR
756 .RS 4
757 An arbitrary string describing the revision of the repository\&.
758 .RE
759 .PP
760 \fBREPOSITORY_TOOLVERSION "repository:toolversion"\fR
761 .RS 4
762 Some string describing somewhat the version of libsolv used to create the solv file\&.
763 .RE
764 .SH "REPOSITORY METADATA FOR SUSETAGS REPOS"
765 .sp
766 Attributes describing repository files in a susetags repository\&. \fBSUSETAGS_DATADIR "susetags:datadir"\fR:: The directory that contains the packages\&.
767 .PP
768 \fBSUSETAGS_DESCRDIR "susetags:descrdir"\fR
769 .RS 4
770 The directory that contains the repository file resources\&.
771 .RE
772 .PP
773 \fBSUSETAGS_DEFAULTVENDOR "susetags:defaultvendor"\fR
774 .RS 4
775 The default vendor used when a package does not specify a vendor\&.
776 .RE
777 .PP
778 \fBSUSETAGS_FILE "susetags:file"\fR
779 .RS 4
780 An array of file resources of the repository\&.
781 .RE
782 .PP
783 \fBSUSETAGS_FILE_NAME "susetags:file:name"\fR
784 .RS 4
785 The filename of the resource\&.
786 .RE
787 .PP
788 \fBSUSETAGS_FILE_TYPE "susetags:file:type"\fR
789 .RS 4
790 The type of the resource, e\&.g\&. \(lqMETA\(rq\&.
791 .RE
792 .PP
793 \fBSUSETAGS_FILE_CHECKSUM "susetags:file:checksum"\fR
794 .RS 4
795 The file checksum of the resource\&.
796 .RE
797 .SH "REPOSITORY METADATA FOR RPMMD REPOS"
798 .PP
799 \fBREPOSITORY_REPOMD "repository:repomd"\fR
800 .RS 4
801 An array of file resources of the repository\&.
802 .RE
803 .PP
804 \fBREPOSITORY_REPOMD_TYPE "repository:repomd:type"\fR
805 .RS 4
806 The type of the resource, e\&.g\&. \(lqprimary\(rq\&.
807 .RE
808 .PP
809 \fBREPOSITORY_REPOMD_LOCATION "repository:repomd:location"\fR
810 .RS 4
811 The location (aka filename) of the resource
812 .RE
813 .PP
814 \fBREPOSITORY_REPOMD_TIMESTAMP "repository:repomd:timestamp"\fR
815 .RS 4
816 The seconds since the unix epoch when the resource was created\&.
817 .RE
818 .PP
819 \fBREPOSITORY_REPOMD_CHECKSUM "repository:repomd:checksum"\fR
820 .RS 4
821 The file checksum of the resource\&.
822 .RE
823 .PP
824 \fBREPOSITORY_REPOMD_OPENCHECKSUM "repository:repomd:openchecksum"\fR
825 .RS 4
826 The checksum over the uncompressed contents of the resource\&.
827 .RE
828 .PP
829 \fBREPOSITORY_REPOMD_SIZE "repository:repomd:size"\fR
830 .RS 4
831 The size of the resource file\&.
832 .RE
833 .SH "DELTA PACKAGE ATTRIBUTES"
834 .PP
835 \fBDELTA_PACKAGE_NAME "delta:pkgname"\fR
836 .RS 4
837 The target package name for the delta package\&. Applying the delta will recreate the target package\&.
838 .RE
839 .PP
840 \fBDELTA_PACKAGE_EVR "delta:pkgevr"\fR
841 .RS 4
842 The version of the target package\&.
843 .RE
844 .PP
845 \fBDELTA_PACKAGE_ARCH "delta:pkgarch"\fR
846 .RS 4
847 The architecture of the target package\&.
848 .RE
849 .PP
850 \fBDELTA_LOCATION_DIR "delta:locdir"\fR
851 .RS 4
852 The directory in the repository that contains the delta package\&.
853 .RE
854 .PP
855 \fBDELTA_LOCATION_NAME "delta:locname"\fR
856 .RS 4
857 The first part of the file name of the delta package\&.
858 .RE
859 .PP
860 \fBDELTA_LOCATION_EVR "delta:locevr"\fR
861 .RS 4
862 The version part of the file name of the delta package\&.
863 .RE
864 .PP
865 \fBDELTA_LOCATION_SUFFIX "delta:locsuffix"\fR
866 .RS 4
867 The suffix part of the file name of the delta package\&.
868 .RE
869 .PP
870 \fBDELTA_LOCATION_BASE "delta:locbase"\fR
871 .RS 4
872 This attribute can be used to overwrite the repositories base url for the delta\&.
873 .RE
874 .PP
875 \fBDELTA_DOWNLOADSIZE "delta:downloadsize"\fR
876 .RS 4
877 The size of the delta rpm file\&.
878 .RE
879 .PP
880 \fBDELTA_CHECKSUM "delta:checksum"\fR
881 .RS 4
882 The checksum of the delta rpm file\&.
883 .RE
884 .PP
885 \fBDELTA_BASE_EVR "delta:baseevr"\fR
886 .RS 4
887 The version of the package the delta was build against\&.
888 .RE
889 .PP
890 \fBDELTA_SEQ_NAME "delta:seqname"\fR
891 .RS 4
892 The first part of the delta sequence, the base package name\&.
893 .RE
894 .PP
895 \fBDELTA_SEQ_EVR "delta:seqevr"\fR
896 .RS 4
897 The evr part of the delta sequence, the base package evr\&. Identical to the DELTA_BASE_EVR attribute\&.
898 .RE
899 .PP
900 \fBDELTA_SEQ_NUM "delta:seqnum"\fR
901 .RS 4
902 The last part of the delta sequence, the content selection string\&.
903 .RE
904 .SH "AUTHOR"
905 .sp
906 Michael Schroeder <mls@suse\&.de>