1LIBSOLV-CONSTANTIDS(3) LIBSOLV LIBSOLV-CONSTANTIDS(3)
2
3
4
6 libsolv-constantids - fixed Ids for often used strings
7
9 Constant Ids are Ids of strings that are often needed. They are defined
10 to ease programming and reduce the number of pool_str2id calls. The
11 constant Ids are part of the binary ABI of libsolv, a minor version
12 update will only add new constants and not change existing Ids to
13 maintain compatibility. The on-disk solv format does not use the fixed
14 Ids, but instead references the strings, so solv files can still be
15 read when the ABI is broken.
16
18 ID_EMPTY ""
19 The empty string. It will always have Id 1.
20
21 SYSTEM_SYSTEM "system:system"
22 The name of the always installed "system" solvable.
23
25 These are Ids for keynames of attributes. They can be used in the
26 lookup and storage functions to select the correct attribute in the
27 solvable. The descriptions below describe the intended semantics of the
28 values stored in the attribute with the keyname.
29
30 SOLVABLE_NAME "solvable:name"
31 The name of the package.
32
33 SOLVABLE_ARCH "solvable:arch"
34 The architecture of the package. See the Solvable Architecture
35 section for predefined architecture Id values.
36
37 SOLVABLE_EVR "solvable:evr"
38 The version of the package. It usually consists of some combination
39 of the Epoch, the Version, and the Release of the solvable.
40
41 SOLVABLE_VENDOR "solvable:vendor"
42 A vendor string. Usually the company or group that created the
43 binary package.
44
45 SOLVABLE_PROVIDES "solvable:provides"
46 Stores an array of dependency Ids that describe the capabilities
47 that the package provides.
48
49 SOLVABLE_OBSOLETES "solvable:obsoletes"
50 Stores an array of dependency Ids that describe the packages that
51 this package replaces.
52
53 SOLVABLE_CONFLICTS "solvable:conflicts"
54 Stores an array of dependency Ids that describe the capabilities
55 that this package conflicts with, i.e. that can’t be installed
56 together with this package.
57
58 SOLVABLE_REQUIRES "solvable:requires"
59 Stores an array of dependency Ids that describe the capabilities
60 that also must be installed when this package is installed.
61
62 SOLVABLE_RECOMMENDS "solvable:recommends"
63 Stores an array of dependency Ids that describe the capabilities
64 that also should be installed when this package is installed. It’s
65 not an error if not all capabilities can be met.
66
67 SOLVABLE_SUGGESTS "solvable:suggests"
68 Stores an array of dependency Ids that describe the capabilities
69 that also useful to have installed when this package is installed.
70 This is intended to provide a hint to the user about other
71 packages.
72
73 SOLVABLE_SUPPLEMENTS "solvable:supplements"
74 Stores an array of dependency Ids that define that this package
75 should be installed if one of the capabilities is met. This is like
76 the recommends attribute, but works in the reverse way.
77
78 SOLVABLE_ENHANCES "solvable:enhances"
79 Stores an array of dependency Ids that define that this package is
80 useful to have installed if one of the capabilities is met. This is
81 like the suggests attribute, but works in the reverse way.
82
83 SOLVABLE_SUMMARY "solvable:summary"
84 The summary should be a short string without any newlines that
85 describes what a package does.
86
87 SOLVABLE_DESCRIPTION "solvable:description"
88 The description should be a more verbose description about what a
89 package does. It may consist of multiple lines.
90
91 SOLVABLE_DISTRIBUTION "solvable:distribution"
92 The distribution is a short string that describes the OS and OS
93 version this package is built for.
94
95 SOLVABLE_AUTHORS "solvable:authors"
96 A list of authors of this package. This attribute was used in SUSE
97 packages.
98
99 SOLVABLE_PACKAGER "solvable:packager"
100 The person who created the binary package, see also the vendor
101 attribute.
102
103 SOLVABLE_GROUP "solvable:group"
104 The package group that this package belongs to. See also the
105 keywords attribute.
106
107 SOLVABLE_URL "solvable:url"
108 An URL that points to more information about the package.
109
110 SOLVABLE_KEYWORDS "solvable:keywords"
111 list of keyword string IDs used for tagging this package.
112
113 SOLVABLE_LICENSE "solvable:license"
114 The license(s) of this package.
115
116 SOLVABLE_BUILDTIME "solvable:buildtime"
117 The seconds since the unix epoch when the binary package was
118 created.
119
120 SOLVABLE_BUILDHOST "solvable:buildhost"
121 The name of the host on which the binary package was created.
122
123 SOLVABLE_EULA "solvable:eula"
124 If this attribute is present the user should be asked to accept the
125 end user license agreement before the package gets installed.
126
127 SOLVABLE_CPEID "solvable:cpeid"
128 A Common Platform Enumeration string describes the platform this
129 package is intended for. See also the distribution attribute.
130
131 SOLVABLE_MESSAGEINS "solvable:messageins"
132 A message that should be displayed to the user when the package
133 gets installed.
134
135 SOLVABLE_MESSAGEDEL "solvable:messagedel"
136 A message that should be displayed to the user when the package
137 gets erased.
138
139 SOLVABLE_INSTALLSIZE "solvable:installsize"
140 The disk space in bytes needed when installing the package.
141
142 SOLVABLE_DISKUSAGE "solvable:diskusage"
143 A SUSE extension that stores for each directory the needed amount
144 of disk space in kilobytes and inodes.
145
146 SOLVABLE_FILELIST "solvable:filelist"
147 A list of files that the package contains.
148
149 SOLVABLE_INSTALLTIME "solvable:installtime"
150 The seconds since the unix epoch when the binary package was
151 installed on the system.
152
153 SOLVABLE_MEDIADIR "solvable:mediadir"
154 The directory on the repository that contains the package. If this
155 attribute is set to void, the package architecture is used as
156 directory.
157
158 SOLVABLE_MEDIAFILE "solvable:mediafile"
159 The filename on the repository that contains the package. If this
160 attribute is set to void, the canonical file name of the package is
161 used (i.e. a combination of the name, version, architecture).
162
163 SOLVABLE_MEDIANR "solvable:medianr"
164 The media number. This is an integer describing on which of a
165 multi-part media set this package is on.
166
167 SOLVABLE_MEDIABASE "solvable:mediabase"
168 This attribute can be used to overwrite the repositories base url.
169
170 SOLVABLE_DOWNLOADSIZE "solvable:downloadsize"
171 The size of the binary package in bytes.
172
173 SOLVABLE_SOURCEARCH "solvable:sourcearch"
174 The architecture of the source package that this package belongs
175 to.
176
177 SOLVABLE_SOURCENAME "solvable:sourcename"
178 The name of the source package that this package belongs to. If set
179 to void, the package name attribute is used instead.
180
181 SOLVABLE_SOURCEEVR "solvable:sourceevr"
182 The version of the source package that this package belongs to. If
183 set to void, the package version attribute is used instead.
184
185 SOLVABLE_TRIGGERS "solvable:triggers"
186 A list of package triggers for this package. Used in the
187 transaction ordering code.
188
189 SOLVABLE_CHECKSUM "solvable:checksum"
190 The checksum of the binary package. See the Data Types section for
191 a list of supported algorithms.
192
193 SOLVABLE_PKGID "solvable:pkgid"
194 A string identifying a package. For rpm packages, this is the
195 md5sum over the package header and the payload.
196
197 SOLVABLE_HDRID "solvable:hdrid"
198 A string identifying a package. For rpm packages, this is the
199 sha1sum over just the package header.
200
201 SOLVABLE_LEADSIGID "solvable:leadsigid"
202 A string identifying the signature part of a package. For rpm
203 packages, this is the md5sum from the start of the file up to the
204 package header (i.e. it includes the lead, the signature header,
205 and the padding).
206
207 SOLVABLE_HEADEREND "solvable:headerend"
208 The offset of the payload in rpm binary packages. You can use this
209 information to download just the header if you want to display
210 information not included in the repository metadata.
211
212 SOLVABLE_CHANGELOG "solvable:changelog"
213 The array containing all the changelog structures.
214
215 SOLVABLE_CHANGELOG_AUTHOR "solvable:changelog:author"
216 The author of a changelog entry.
217
218 SOLVABLE_CHANGELOG_TIME "solvable:changelog:time"
219 The seconds since the unix epoch when the changelog entry was
220 written.
221
222 SOLVABLE_CHANGELOG_TEXT "solvable:changelog:text"
223 The text of a changelog entry.
224
226 RPM_RPMDBID "rpm:dbid"
227 The rpm database id of this (installed) package. Usually a small
228 integer number.
229
230 SOLVABLE_PATCHCATEGORY "solvable:patchcategory"
231 The category field for patch solvables. Should be named
232 “update:category” instead.
233
234 UPDATE_REBOOT "update:reboot"
235 If this attribute is present the system should be rebooted after
236 the update is installed.
237
238 UPDATE_RESTART "update:restart"
239 If this attribute is present the software manager should be run
240 again after the update is installed.
241
242 UPDATE_RELOGIN "update:relogin"
243 If this attribute is present the user should log off and on again
244 after the update is installed.
245
246 UPDATE_MESSAGE "update:message"
247 A message that should be shown to the user to warn him about
248 anything non-standard.
249
250 UPDATE_SEVERITY "update:severity"
251 The severity of the update.
252
253 UPDATE_RIGHTS "update:rights"
254 Any legal or other rights of the update.
255
256 UPDATE_COLLECTION "update:collection"
257 The array containing the package list of the update.
258
259 UPDATE_COLLECTION_NAME "update:collection:name"
260 The name of the updated package.
261
262 UPDATE_COLLECTION_EVR "update:collection:evr"
263 The version of the updated package.
264
265 UPDATE_COLLECTION_ARCH "update:collection:arch"
266 The architecture of the updated package.
267
268 UPDATE_COLLECTION_FILENAME "update:collection:filename"
269 The file name of the updated package.
270
271 UPDATE_REFERENCE "update:reference"
272 The array containing the reference list of the update.
273
274 UPDATE_REFERENCE_TYPE "update:reference:type"
275 The type of the reference, e.g. bugzilla.
276
277 UPDATE_REFERENCE_HREF "update:reference:href"
278 The URL of the reference.
279
280 UPDATE_REFERENCE_ID "update:reference:id"
281 The identification string of the reference, e.g. the bug number.
282
283 UPDATE_REFERENCE_TITLE "update:reference:title"
284 The title of the reference, e.g. the bug summary.
285
286 PRODUCT_REFERENCEFILE "product:referencefile"
287 The basename of the product file in the package.
288
289 PRODUCT_SHORTLABEL "product:shortlabel"
290 An identification string of the product.
291
292 PRODUCT_DISTPRODUCT "product:distproduct"
293 Obsolete, do not use. Was a SUSE Code-10 product name.
294
295 PRODUCT_DISTVERSION "product:distversion"
296 Obsolete, do not use. Was a SUSE Code-10 product version.
297
298 PRODUCT_TYPE "product:type"
299 The type of the product, e.g. “base”.
300
301 PRODUCT_URL "product:url"
302 An array of product URLs.
303
304 PRODUCT_URL_TYPE "product:url:type"
305 An array of product URL types.
306
307 PRODUCT_FLAGS "product:flags"
308 An array of product flags.
309
310 PRODUCT_PRODUCTLINE "product:productline"
311 A product line string used for product registering.
312
313 PRODUCT_REGISTER_TARGET "product:regtarget"
314 A target for product registering.
315
316 PRODUCT_REGISTER_RELEASE "product:regrelease"
317 A release string for product registering.
318
319 PUBKEY_KEYID "pubkey:keyid"
320 The keyid of a pubkey, consisting of 8 bytes in hex.
321
322 PUBKEY_FINGERPRINT "pubkey:fingerprint"
323 The fingerprint of a pubkey, usually a sha1sum in hex. Old V3 RSA
324 keys use a md5sum instead.
325
326 PUBKEY_EXPIRES "pubkey:expires"
327 The seconds since the unix epoch when the pubkey expires.
328
329 PUBKEY_SUBKEYOF "pubkey:subkeyof"
330 The keyid of the master pubkey for subkeys.
331
332 PUBKEY_DATA "pubkey:data"
333 The MPI data of the pubkey.
334
335 SOLVABLE_ISVISIBLE "solvable:isvisible"
336 An attribute describing if the package should be listed to the user
337 or not. Used for SUSE patterns.
338
339 SOLVABLE_CATEGORY "solvable:category"
340 The category of a pattern.
341
342 SOLVABLE_INCLUDES "solvable:includes"
343 A list of other patterns that this pattern includes.
344
345 SOLVABLE_EXTENDS "solvable:extends"
346 A list of other patterns that this pattern extends.
347
348 SOLVABLE_ICON "solvable:icon"
349 The icon name of a pattern.
350
351 SOLVABLE_ORDER "solvable:order"
352 An ordering clue of a pattern.
353
354 SUSETAGS_SHARE_NAME "susetags:share:name"
355 Internal attribute to implement susetags shared records. Holds the
356 name of the solvable used for sharing attributes.
357
358 SUSETAGS_SHARE_EVR "susetags:share:evr"
359 Internal attribute to implement susetags shared records. Holds the
360 version of the solvable used for sharing attributes.
361
362 SUSETAGS_SHARE_ARCH "susetags:share:arch"
363 Internal attribute to implement susetags shared records. Holds the
364 architecture of the solvable used for sharing attributes.
365
367 Predefined architecture values for commonly used architectures.
368
369 ARCH_SRC "src"
370 Used for binary packages that contain the package sources.
371
372 ARCH_NOSRC "nosrc"
373 Used for binary packages that contain some of the package sources,
374 but not all files (because of restrictions).
375
376 ARCH_NOARCH "noarch"
377 This package can be installed on any architecture. Used for rpm.
378
379 ARCH_ALL "all"
380 This package can be installed on any architecture. Used for Debian.
381
382 ARCH_ANY "any"
383 This package can be installed on any architecture. Used for
384 Archlinux and Haiku.
385
387 Namespaces are special modifiers that change the meaning of a
388 dependency. Namespace dependencies are created with the REL_NAMESPACE
389 flag. To make custom namespaces work you have to implement a namespace
390 callback function.
391
392 The dependency markers partition the dependency array in two parts with
393 different semantics.
394
395 NAMESPACE_MODALIAS "namespace:modalias"
396 The dependency is a special modalias dependency that matches
397 installed hardware.
398
399 NAMESPACE_SPLITPROVIDES "namespace:splitprovides"
400 The dependency is a special splitprovides dependency used to
401 implement updates that include a package split. A splitprovides
402 dependency contains a filename and a package name, it is matched if
403 a package with the provided package name is installed that contains
404 the filename. This namespace is implemented in libsolv, so you do
405 not need a callback.
406
407 NAMESPACE_LANGUAGE "namespace:language"
408 The dependency describes a language. The callback should return
409 true if the language was selected by the user.
410
411 NAMESPACE_FILESYSTEM "namespace:filesystem"
412 The dependency describes a filesystem. The callback should return
413 true if the filesystem is needed.
414
415 NAMESPACE_OTHERPROVIDERS "namespace:otherproviders"
416 This is a hack to allow self-conflicting packages. It is not needed
417 with current rpm version, so do not use this namespace.
418
419 SOLVABLE_PREREQMARKER "solvable:prereqmarker"
420 This marker partitions the normal require dependencies from the
421 prerequires. It is not needed for dependency solving, but it is
422 used by the transaction ordering algorithm when a dependency cycle
423 needs to be broken (non-prereq deps get broken first).
424
425 SOLVABLE_FILEMARKER "solvable:filemarker"
426 This marker partitions the package provides dependencies from the
427 synthetic file provides dependencies added by
428 pool_addfileprovides().
429
431 Each attribute data is stored with a type, so that the lookup functions
432 know how to interpret the data. The following types are available:
433
434 REPOKEY_TYPE_VOID "repokey:type:void"
435 No data is stored with this attribute. Thus you can only test if
436 the attribute exists or not. Useful to store boolean values.
437
438 REPOKEY_TYPE_CONSTANT "repokey:type:constant"
439 The data is a constant 32bit number. The number is stored in the
440 key area, so using it does not cost extra storage space (but you
441 need the extra key space).
442
443 REPOKEY_TYPE_CONSTANTID "repokey:type:constantid"
444 The data is a constant Id. The Id is stored in the key area, so
445 using it does not cost extra storage space (but you need the extra
446 key space).
447
448 REPOKEY_TYPE_ID "repokey:type:id"
449 The data is an Id.
450
451 REPOKEY_TYPE_NUM "repokey:type:num"
452 The data is an unsigned 64bit number.
453
454 REPOKEY_TYPE_U32 "repokey:type:num32"
455 The data is an unsigned 32bit number. Obsolete, do not use.
456
457 REPOKEY_TYPE_DIR "repokey:type:dir"
458 The data is an Id of a directory.
459
460 REPOKEY_TYPE_STR "repokey:type:str"
461 The data is a regular string.
462
463 REPOKEY_TYPE_BINARY "repokey:type:binary"
464 The data is a binary blob.
465
466 REPOKEY_TYPE_IDARRAY "repokey:type:idarray"
467 The data is an array of non-zero Ids.
468
469 REPOKEY_TYPE_REL_IDARRAY "repokey:type:relidarray"
470 The data is an array of non-zero Ids ordered so that it needs less
471 space.
472
473 REPOKEY_TYPE_DIRSTRARRAY "repokey:type:dirstrarray"
474 The data is a tuple consisting of a directory Id and a basename.
475 Used to store file names.
476
477 REPOKEY_TYPE_DIRNUMNUMARRAY "repokey:type:dirnumnumarray"
478 The data is a triple consisting of a directory Id and two 32bit
479 unsigned integers. Used to store disk usage information.
480
481 REPOKEY_TYPE_MD5 "repokey:type:md5"
482 The data is a binary md5sum.
483
484 REPOKEY_TYPE_SHA1 "repokey:type:sha1"
485 The data is a binary sha1sum.
486
487 REPOKEY_TYPE_SHA256 "repokey:type:sha256"
488 The data is a binary sha256sum.
489
490 REPOKEY_TYPE_FIXARRAY "repokey:type:fixarray"
491 The data is an array of structures that have all the same layout
492 (i.e. the same keynames and keytypes in the same order).
493
494 REPOKEY_TYPE_FLEXARRAY "repokey:type:flexarray"
495 The data is an array of structures that have a different layout.
496
497 REPOKEY_TYPE_DELETED "repokey:type:deleted"
498 The data does not exist. Used to mark an attribute that was
499 deleted.
500
502 This attributes contain meta information about the repository.
503
504 REPOSITORY_SOLVABLES "repository:solvables"
505 This attribute holds the array including all of the solvables. It
506 is only used in the on-disk solv files, internally the solvables
507 are stored in the pool’s solvable array for fast access.
508
509 REPOSITORY_DELTAINFO "repository:deltainfo"
510 This attribute holds the array including all of the delta packages.
511
512 REPOSITORY_EXTERNAL "repository:external"
513 This attribute holds the array including all of the data to
514 construct stub repodata areas to support on-demand loading of
515 metadata.
516
517 REPOSITORY_KEYS "repository:keys"
518 This should really be named "repository:external:keys", it contains
519 an array if Ids that consists of (keyname, keytype) pairs that
520 describe the keys of the stub.
521
522 REPOSITORY_LOCATION "repository:location"
523 This is used to provide a file name in the stub.
524
525 REPOSITORY_ADDEDFILEPROVIDES "repository:addedfileprovides"
526 This attribute holds an array of filename Ids, that tell the
527 library, that all of the Ids were already added to the solvable
528 provides.
529
530 REPOSITORY_RPMDBCOOKIE "repository:rpmdbcookie"
531 An attribute that stores a sha256sum over the file stats of the
532 Packages database. It’s used to detect rebuilds of the database, as
533 in that case the database Ids of every package are newly
534 distributed.
535
536 REPOSITORY_TIMESTAMP "repository:timestamp"
537 The seconds since the unix epoch when the repository was created.
538
539 REPOSITORY_EXPIRE "repository:expire"
540 The seconds after the timestamp when the repository will expire.
541
542 REPOSITORY_UPDATES "repository:updates"
543 An array of structures describing what this repository updates.
544
545 REPOSITORY_DISTROS "repository:distros"
546 Also an array of structures describing what this repository
547 updates. Seems to be the newer name of REPOSITORY_UPDATES.
548
549 REPOSITORY_PRODUCT_LABEL "repository:product:label"
550 Should really be called "repository:updates:label". What
551 distribution is updated with this repository.
552
553 REPOSITORY_PRODUCT_CPEID "repository:product:cpeid"
554 The cpeid of the platform updated by this repository. Is both used
555 in REPOSITORY_UPDATES and REPOSITORY_DISTROS to maximize confusion.
556
557 REPOSITORY_REPOID "repository:repoid"
558 An array of Id strings describing keywords/tags about the
559 repository itself.
560
561 REPOSITORY_KEYWORDS "repository:keywords"
562 An array of Id strings describing keywords/tags about the content
563 of the repository.
564
565 REPOSITORY_REVISION "repository:revision"
566 An arbitrary string describing the revision of the repository.
567
568 REPOSITORY_TOOLVERSION "repository:toolversion"
569 Some string describing somewhat the version of libsolv used to
570 create the solv file.
571
573 Attributes describing repository files in a susetags repository.
574 SUSETAGS_DATADIR "susetags:datadir":: The directory that contains the
575 packages.
576
577 SUSETAGS_DESCRDIR "susetags:descrdir"
578 The directory that contains the repository file resources.
579
580 SUSETAGS_DEFAULTVENDOR "susetags:defaultvendor"
581 The default vendor used when a package does not specify a vendor.
582
583 SUSETAGS_FILE "susetags:file"
584 An array of file resources of the repository.
585
586 SUSETAGS_FILE_NAME "susetags:file:name"
587 The filename of the resource.
588
589 SUSETAGS_FILE_TYPE "susetags:file:type"
590 The type of the resource, e.g. “META”.
591
592 SUSETAGS_FILE_CHECKSUM "susetags:file:checksum"
593 The file checksum of the resource.
594
596 REPOSITORY_REPOMD "repository:repomd"
597 An array of file resources of the repository.
598
599 REPOSITORY_REPOMD_TYPE "repository:repomd:type"
600 The type of the resource, e.g. “primary”.
601
602 REPOSITORY_REPOMD_LOCATION "repository:repomd:location"
603 The location (aka filename) of the resource
604
605 REPOSITORY_REPOMD_TIMESTAMP "repository:repomd:timestamp"
606 The seconds since the unix epoch when the resource was created.
607
608 REPOSITORY_REPOMD_CHECKSUM "repository:repomd:checksum"
609 The file checksum of the resource.
610
611 REPOSITORY_REPOMD_OPENCHECKSUM "repository:repomd:openchecksum"
612 The checksum over the uncompressed contents of the resource.
613
614 REPOSITORY_REPOMD_SIZE "repository:repomd:size"
615 The size of the resource file.
616
618 DELTA_PACKAGE_NAME "delta:pkgname"
619 The target package name for the delta package. Applying the delta
620 will recreate the target package.
621
622 DELTA_PACKAGE_EVR "delta:pkgevr"
623 The version of the target package.
624
625 DELTA_PACKAGE_ARCH "delta:pkgarch"
626 The architecture of the target package.
627
628 DELTA_LOCATION_DIR "delta:locdir"
629 The directory in the repository that contains the delta package.
630
631 DELTA_LOCATION_NAME "delta:locname"
632 The first part of the file name of the delta package.
633
634 DELTA_LOCATION_EVR "delta:locevr"
635 The version part of the file name of the delta package.
636
637 DELTA_LOCATION_SUFFIX "delta:locsuffix"
638 The suffix part of the file name of the delta package.
639
640 DELTA_LOCATION_BASE "delta:locbase"
641 This attribute can be used to overwrite the repositories base url
642 for the delta.
643
644 DELTA_DOWNLOADSIZE "delta:downloadsize"
645 The size of the delta rpm file.
646
647 DELTA_CHECKSUM "delta:checksum"
648 The checksum of the delta rpm file.
649
650 DELTA_BASE_EVR "delta:baseevr"
651 The version of the package the delta was built against.
652
653 DELTA_SEQ_NAME "delta:seqname"
654 The first part of the delta sequence, the base package name.
655
656 DELTA_SEQ_EVR "delta:seqevr"
657 The evr part of the delta sequence, the base package evr. Identical
658 to the DELTA_BASE_EVR attribute.
659
660 DELTA_SEQ_NUM "delta:seqnum"
661 The last part of the delta sequence, the content selection string.
662
664 Michael Schroeder <mls@suse.de>
665
666
667
668libsolv 03/02/2022 LIBSOLV-CONSTANTIDS(3)