From: Michael Schroeder Date: Fri, 7 Jun 2013 13:20:51 +0000 (+0200) Subject: add libsolv-constantids manpage X-Git-Tag: upstream/0.4.0~96 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f872fc78bbce8ccc2cccbadd1af4220e0e78f9ef;p=platform%2Fupstream%2Flibsolv.git add libsolv-constantids manpage --- diff --git a/doc/libsolv-bindings.txt b/doc/libsolv-bindings.txt index 696d88f..840214e 100644 --- a/doc/libsolv-bindings.txt +++ b/doc/libsolv-bindings.txt @@ -186,7 +186,7 @@ Constant string Ids The keyname Id of the name of the solvable. *...*:: - see the libsolv-knownid manpage for a list of fixed Ids. + see the libsolv-constantids manpage for a list of fixed Ids. THE POOL CLASS diff --git a/doc/libsolv-constantids.3 b/doc/libsolv-constantids.3 new file mode 100644 index 0000000..04b2f8a --- /dev/null +++ b/doc/libsolv-constantids.3 @@ -0,0 +1,901 @@ +'\" t +.\" Title: libsolv-constantids +.\" Author: [see the "Author" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 +.\" Date: 06/07/2013 +.\" Manual: LIBSOLV +.\" Source: libsolv +.\" Language: English +.\" +.TH "LIBSOLV\-CONSTANTIDS" "3" "06/07/2013" "libsolv" "LIBSOLV" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +libsolv-constantids \- fixed Ids for often used strings +.SH "DESCRIPTION" +.sp +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\&. +.SH "SPECIAL STRINGS" +.PP +\fBID_EMPTY ""\fR +.RS 4 +The empty string\&. It will always have Id 1\&. +.RE +.PP +\fBSYSTEM_SYSTEM "system:system"\fR +.RS 4 +The name of the always installed "system" solvable\&. +.RE +.SH "SOLVABLE ATTRIBUTES" +.sp +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 describtions below describe the intended semantics of the values stored in the attribute with the keyname\&. +.PP +\fBSOLVABLE_NAME "solvable:name"\fR +.RS 4 +The name of the package\&. +.RE +.PP +\fBSOLVABLE_ARCH "solvable:arch"\fR +.RS 4 +The architecture of the package\&. See the Solvable Architecture section for predefined architecture Id values\&. +.RE +.PP +\fBSOLVABLE_EVR "solvable:evr"\fR +.RS 4 +The version of the package\&. It usually consists of some combination of the Epoch, the Version, and the Release of the solvable\&. +.RE +.PP +\fBSOLVABLE_VENDOR "solvable:vendor"\fR +.RS 4 +A vendor string\&. Usually the company or group that created the binary package\&. +.RE +.PP +\fBSOLVABLE_PROVIDES "solvable:provides"\fR +.RS 4 +Stores an array of dependency Ids that describe the capabilities that the package provides\&. +.RE +.PP +\fBSOLVABLE_OBSOLETES "solvable:obsoletes"\fR +.RS 4 +Stores an array of dependency Ids that describe the packages that this package replaces\&. +.RE +.PP +\fBSOLVABLE_CONFLICTS "solvable:conflicts"\fR +.RS 4 +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\&. +.RE +.PP +\fBSOLVABLE_REQUIRES "solvable:requires"\fR +.RS 4 +Stores an array of dependency Ids that describe the capabilities that also must be installed when this package is installed\&. +.RE +.PP +\fBSOLVABLE_RECOMMENDS "solvable:recommends"\fR +.RS 4 +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\&. +.RE +.PP +\fBSOLVABLE_SUGGESTS "solvable:suggests"\fR +.RS 4 +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\&. +.RE +.PP +\fBSOLVABLE_SUPPLEMENTS "solvable:supplements"\fR +.RS 4 +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\&. +.RE +.PP +\fBSOLVABLE_ENHANCES "solvable:enhances"\fR +.RS 4 +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\&. +.RE +.PP +\fBSOLVABLE_SUMMARY "solvable:summary"\fR +.RS 4 +The summary should be a short string without any newlines that describes what a package does\&. +.RE +.PP +\fBSOLVABLE_DESCRIPTION "solvable:description"\fR +.RS 4 +The description should be a more verbose description about what a package does\&. It may consist of multiple lines\&. +.RE +.PP +\fBSOLVABLE_DISTRIBUTION "solvable:distribution"\fR +.RS 4 +The distribution is a short string that describes the OS and OS version this package is built for\&. +.RE +.PP +\fBSOLVABLE_AUTHORS "solvable:authors"\fR +.RS 4 +A list of authors of this package\&. This attribute was used in SUSE packages\&. +.RE +.PP +\fBSOLVABLE_PACKAGER "solvable:packager"\fR +.RS 4 +The person who created the binary package, see also the vendor attribute\&. +.RE +.PP +\fBSOLVABLE_GROUP "solvable:group"\fR +.RS 4 +The package group that this package belongs to\&. See also the keywords attribute\&. +.RE +.PP +\fBSOLVABLE_URL "solvable:url"\fR +.RS 4 +An URL that points to more information about the package\&. +.RE +.PP +\fBSOLVABLE_KEYWORDS "solvable:keywords"\fR +.RS 4 +list of keyword string IDs used for tagging this package\&. +.RE +.PP +\fBSOLVABLE_LICENSE "solvable:license"\fR +.RS 4 +The jicense of this package\&. +.RE +.PP +\fBSOLVABLE_BUILDTIME "solvable:buildtime"\fR +.RS 4 +The seconds since the unix epoch when the binary package was created\&. +.RE +.PP +\fBSOLVABLE_BUILDHOST "solvable:buildhost"\fR +.RS 4 +The name of the host on which the binary package was created\&. +.RE +.PP +\fBSOLVABLE_EULA "solvable:eula"\fR +.RS 4 +If this attribute is present the user should be asked to accept the end user license agreement before the package gets installed\&. +.RE +.PP +\fBSOLVABLE_CPEID "solvable:cpeid"\fR +.RS 4 +A Common Platform Enumeration string describes the platform this package is intended for\&. See also the distribution attribute\&. +.RE +.PP +\fBSOLVABLE_MESSAGEINS "solvable:messageins"\fR +.RS 4 +A message that should be displayed to the user when the package gets installed\&. +.RE +.PP +\fBSOLVABLE_MESSAGEDEL "solvable:messagedel"\fR +.RS 4 +A message that should be displayed to the user when the package gets erased\&. +.RE +.PP +\fBSOLVABLE_INSTALLSIZE "solvable:installsize"\fR +.RS 4 +The disk space in bytes needed when installing the package\&. +.RE +.PP +\fBSOLVABLE_DISKUSAGE "solvable:diskusage"\fR +.RS 4 +A SUSE extension that stores for each directory the needed amount of disk space in kilobytes and inodes\&. +.RE +.PP +\fBSOLVABLE_FILELIST "solvable:filelist"\fR +.RS 4 +A list of files that the package contains\&. +.RE +.PP +\fBSOLVABLE_INSTALLTIME "solvable:installtime"\fR +.RS 4 +The seconds since the unix epoch when the binary package was installed on the system\&. +.RE +.PP +\fBSOLVABLE_MEDIADIR "solvable:mediadir"\fR +.RS 4 +The directory on the repository that contains the package\&. If this attribute is set to void, the package architecture is used as directory\&. +.RE +.PP +\fBSOLVABLE_MEDIAFILE "solvable:mediafile"\fR +.RS 4 +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)\&. +.RE +.PP +\fBSOLVABLE_MEDIANR "solvable:medianr"\fR +.RS 4 +The media number\&. This is an integer describing on which of a multi\-part media set this package is on\&. +.RE +.PP +\fBSOLVABLE_MEDIABASE "solvable:mediabase"\fR +.RS 4 +This attribute can be used to overwrite the repositories base url\&. +.RE +.PP +\fBSOLVABLE_DOWNLOADSIZE "solvable:downloadsize"\fR +.RS 4 +The size of the binary package in bytes\&. +.RE +.PP +\fBSOLVABLE_SOURCEARCH "solvable:sourcearch"\fR +.RS 4 +The architecture of the source package that this package belongs to\&. +.RE +.PP +\fBSOLVABLE_SOURCENAME "solvable:sourcename"\fR +.RS 4 +The name of the source package that this package belongs to\&. If set to void, the package name attribute is used instead\&. +.RE +.PP +\fBSOLVABLE_SOURCEEVR "solvable:sourceevr"\fR +.RS 4 +The version of the source package that this package belongs to\&. If set to void, the package version attribute is used instead\&. +.RE +.PP +\fBSOLVABLE_TRIGGERS "solvable:triggers"\fR +.RS 4 +A list of package triggers for this package\&. Used in the transaction ordering code\&. +.RE +.PP +\fBSOLVABLE_CHECKSUM "solvable:checksum"\fR +.RS 4 +The checksum of the binary package\&. See the Data Types section for a list of supported algorithms\&. +.RE +.PP +\fBSOLVABLE_PKGID "solvable:pkgid"\fR +.RS 4 +A string identifying a package\&. For rpm packages, this is the md5sum over the package header and the payload\&. +.RE +.PP +\fBSOLVABLE_HDRID "solvable:hdrid"\fR +.RS 4 +A string identifying a package\&. For rpm packages, this is the sha1sum over just the package header\&. +.RE +.PP +\fBSOLVABLE_LEADSIGID "solvable:leadsigid"\fR +.RS 4 +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)\&. +.RE +.PP +\fBSOLVABLE_HEADEREND "solvable:headerend"\fR +.RS 4 +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\&. +.RE +.PP +\fBSOLVABLE_CHANGELOG "solvable:changelog"\fR +.RS 4 +The array containing all the changelog structures\&. +.RE +.PP +\fBSOLVABLE_CHANGELOG_AUTHOR "solvable:changelog:author"\fR +.RS 4 +The author of a changelog entry\&. +.RE +.PP +\fBSOLVABLE_CHANGELOG_TIME "solvable:changelog:time"\fR +.RS 4 +The seconds since the unix epoch when the changelog entry was written\&. +.RE +.PP +\fBSOLVABLE_CHANGELOG_TEXT "solvable:changelog:text"\fR +.RS 4 +The text of a changelog entry\&. +.RE +.SH "SPECIAL SOLVABLEATTRIBUTES" +.PP +\fBRPM_RPMDBID "rpm:dbid"\fR +.RS 4 +The rpm database id of this (installed) package\&. Usually a small integer number\&. +.RE +.PP +\fBSOLVABLE_PATCHCATEGORY "solvable:patchcategory"\fR +.RS 4 +The category field for patch solvables\&. Should be named \(lqupdate:category\(rq instead\&. +.RE +.PP +\fBUPDATE_REBOOT "update:reboot"\fR +.RS 4 +If this attribute is present the sytem should be rebooted after the update is installed\&. +.RE +.PP +\fBUPDATE_RESTART "update:restart"\fR +.RS 4 +If this attribute is present the software managemer should be run again after the update is installed\&. +.RE +.PP +\fBUPDATE_RELOGIN "update:relogin"\fR +.RS 4 +If this attribute is present the user should log off and on again after the update is installed\&. +.RE +.PP +\fBUPDATE_MESSAGE "update:message"\fR +.RS 4 +A message that should be shown to the user to warn him about anything non\-standard\&. +.RE +.PP +\fBUPDATE_SEVERITY "update:severity"\fR +.RS 4 +The severity of the update\&. +.RE +.PP +\fBUPDATE_RIGHTS "update:rights"\fR +.RS 4 +Any legal or other rights of the update\&. +.RE +.PP +\fBUPDATE_COLLECTION "update:collection"\fR +.RS 4 +The array containing the package list of the update\&. +.RE +.PP +\fBUPDATE_COLLECTION_NAME "update:collection:name"\fR +.RS 4 +The name of the to be updated package\&. +.RE +.PP +\fBUPDATE_COLLECTION_EVR "update:collection:evr"\fR +.RS 4 +The version of the to be updated package\&. +.RE +.PP +\fBUPDATE_COLLECTION_ARCH "update:collection:arch"\fR +.RS 4 +The architecture of the to be updated package\&. +.RE +.PP +\fBUPDATE_COLLECTION_FILENAME "update:collection:filename"\fR +.RS 4 +The file name of the to be updated package\&. +.RE +.PP +\fBUPDATE_REFERENCE "update:reference"\fR +.RS 4 +The array containing the reference list of the update\&. +.RE +.PP +\fBUPDATE_REFERENCE_TYPE "update:reference:type"\fR +.RS 4 +The type of the reference, e\&.g\&. bugzilla\&. +.RE +.PP +\fBUPDATE_REFERENCE_HREF "update:reference:href"\fR +.RS 4 +The URL of the reference\&. +.RE +.PP +\fBUPDATE_REFERENCE_ID "update:reference:id"\fR +.RS 4 +The identification string of the reference, e\&.g\&. the bug number\&. +.RE +.PP +\fBUPDATE_REFERENCE_TITLE "update:reference:title"\fR +.RS 4 +The title of the reference, e\&.g\&. the bug summary\&. +.RE +.PP +\fBPRODUCT_REFERENCEFILE "product:referencefile"\fR +.RS 4 +A reference to another product file\&. +.RE +.PP +\fBPRODUCT_SHORTLABEL "product:shortlabel"\fR +.RS 4 +A identification string of the product\&. +.RE +.PP +\fBPRODUCT_DISTPRODUCT "product:distproduct"\fR +.RS 4 +A SUSE Code\-10 product name\&. +.RE +.PP +\fBPRODUCT_DISTVERSION "product:distversion"\fR +.RS 4 +A SUSE Code\-10 product version\&. +.RE +.PP +\fBPRODUCT_TYPE "product:type"\fR +.RS 4 +The type of the product, e\&.g\&. \(lqbase\(rq\&. +.RE +.PP +\fBPRODUCT_URL "product:url"\fR +.RS 4 +An array of product URLs\&. +.RE +.PP +\fBPRODUCT_URL_TYPE "product:url:type"\fR +.RS 4 +An array of product URL types\&. +.RE +.PP +\fBPRODUCT_FLAGS "product:flags"\fR +.RS 4 +An array of product flags\&. +.RE +.PP +\fBPRODUCT_PRODUCTLINE "product:productline"\fR +.RS 4 +A product line string\&. +.RE +.PP +\fBPRODUCT_REGISTER_TARGET "product:regtarget"\fR +.RS 4 +A target for proudct registering\&. +.RE +.PP +\fBPRODUCT_REGISTER_RELEASE "product:regrelease"\fR +.RS 4 +A release string for proudct registering\&. +.RE +.PP +\fBPUBKEY_KEYID "pubkey:keyid"\fR +.RS 4 +The keyid of a pubkey, consiting of 8 bytes in hex\&. +.RE +.PP +\fBPUBKEY_FINGERPRINT "pubkey:fingerprint"\fR +.RS 4 +The fingerprint of a pubkey, usualy a sha1sum in hex\&. Old V3 RSA keys use an md5sum instead\&. +.RE +.PP +\fBPUBKEY_EXPIRES "pubkey:expires"\fR +.RS 4 +The seconds since the unix epoch when the pubkey expires\&. +.RE +.PP +\fBSOLVABLE_ISVISIBLE "solvable:isvisible"\fR +.RS 4 +An attribute describing if the package should be listed to the user or not\&. Used for SUSE patterns\&. +.RE +.PP +\fBSOLVABLE_CATEGORY "solvable:category"\fR +.RS 4 +The category of a pattern\&. +.RE +.PP +\fBSOLVABLE_INCLUDES "solvable:includes"\fR +.RS 4 +A list of other patterns that this pattern includes\&. +.RE +.PP +\fBSOLVABLE_EXTENDS "solvable:extends"\fR +.RS 4 +A list of other patterns that this pattern extends\&. +.RE +.PP +\fBSOLVABLE_ICON "solvable:icon"\fR +.RS 4 +The icon of a pattern\&. +.RE +.PP +\fBSOLVABLE_ORDER "solvable:order"\fR +.RS 4 +An ordering clue of a pattern\&. +.RE +.PP +\fBSUSETAGS_SHARE_NAME "susetags:share:name"\fR +.RS 4 +Internal attribute to implement susetags shared records\&. Holds the name of the solvable used for sharing attributes\&. +.RE +.PP +\fBSUSETAGS_SHARE_EVR "susetags:share:evr"\fR +.RS 4 +Internal attribute to implement susetags shared records\&. Holds the version of the solvable used for sharing attributes\&. +.RE +.PP +\fBSUSETAGS_SHARE_ARCH "susetags:share:arch"\fR +.RS 4 +Internal attribute to implement susetags shared records\&. Holds the architecture of the solvable used for sharing attributes\&. +.RE +.SH "SOLVABLE ARCHITECTURES" +.sp +Predefined architecture values for commonly used architectures\&. +.PP +\fBARCH_SRC "src"\fR +.RS 4 +Used for binary packages that contain the package sources\&. +.RE +.PP +\fBARCH_NOSRC "nosrc"\fR +.RS 4 +Used for binary packages that contain some of thepackage sources, but not all files (because of restrictions)\&. +.RE +.PP +\fBARCH_NOARCH "noarch"\fR +.RS 4 +This package can be installed on any architecture\&. Used for rpm\&. +.RE +.PP +\fBARCH_ALL "all"\fR +.RS 4 +This package can be installed on any architecture\&. Used for Debian\&. +.RE +.PP +\fBARCH_ANY "any"\fR +.RS 4 +This package can be installed on any architecture\&. Used for Archlinux and Haiku\&. +.RE +.SH "DEPENDENCY IDS" +.sp +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\&. +.sp +The dependency markers partition the dependency array in two parts with different semantics\&. +.PP +\fBNAMESPACE_INSTALLED "namespace:installed"\fR +.RS 4 +The dependency only selects installed packages\&. +.RE +.PP +\fBNAMESPACE_MODALIAS "namespace:modalias"\fR +.RS 4 +The dependency is a special modalias dependency that matches installed hardware\&. +.RE +.PP +\fBNAMESPACE_SPLITPROVIDES "namespace:splitprovides"\fR +.RS 4 +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\&. +.RE +.PP +\fBNAMESPACE_LANGUAGE "namespace:language"\fR +.RS 4 +The dependency describes a language\&. The callback should return true if the language was selected by the user\&. +.RE +.PP +\fBNAMESPACE_FILESYSTEM "namespace:filesystem"\fR +.RS 4 +The dependency describes a filesystem\&. The callback should return true if the filesystem is needed\&. +.RE +.PP +\fBNAMESPACE_OTHERPROVIDERS "namespace:otherproviders"\fR +.RS 4 +This is a hack to allow self\-conflicting packages\&. It is not needed with current rpm version, so do not use this namespace\&. +.RE +.PP +\fBNAMESPACE_PRODUCTBUDDY "namespace:productbuddy"\fR +.RS 4 +This is a another hack to implement the SUSE product buddy system\&. Please ignore\&. +.RE +.PP +\fBSOLVABLE_PREREQMARKER "solvable:prereqmarker"\fR +.RS 4 +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 algorthim when a dependency cycle needs to be broken (non\-prereq deps get broken first)\&. +.RE +.PP +\fBSOLVABLE_FILEMARKER "solvable:filemarker"\fR +.RS 4 +This marker partitions the package provides dependencies from the synthetic file provides dependencies added by pool_addfileprovides()\&. +.RE +.SH "DATA TYPES" +.sp +Each attribute data is stored with a type, so that the lookup functions know how to interpret the data\&. The following types are available: +.PP +\fBREPOKEY_TYPE_VOID "repokey:type:void"\fR +.RS 4 +No data is stored with this attribute\&. Thus you can only test if the attribute exists or not\&. Useful to store boolean values\&. +.RE +.PP +\fBREPOKEY_TYPE_CONSTANT "repokey:type:constant"\fR +.RS 4 +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)\&. +.RE +.PP +\fBREPOKEY_TYPE_CONSTANTID "repokey:type:constantid"\fR +.RS 4 +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)\&. +.RE +.PP +\fBREPOKEY_TYPE_ID "repokey:type:id"\fR +.RS 4 +The data is an Id\&. +.RE +.PP +\fBREPOKEY_TYPE_NUM "repokey:type:num"\fR +.RS 4 +The data is an unsigned 64bit number\&. +.RE +.PP +\fBREPOKEY_TYPE_U32 "repokey:type:num32"\fR +.RS 4 +The data is an unsigned 32bit number\&. Obsolete, do not use\&. +.RE +.PP +\fBREPOKEY_TYPE_DIR "repokey:type:dir"\fR +.RS 4 +The data is an Id of a directory\&. +.RE +.PP +\fBREPOKEY_TYPE_STR "repokey:type:str"\fR +.RS 4 +The data is a regular string\&. +.RE +.PP +\fBREPOKEY_TYPE_BINARY "repokey:type:binary"\fR +.RS 4 +The data is a binary blob\&. +.RE +.PP +\fBREPOKEY_TYPE_IDARRAY "repokey:type:idarray"\fR +.RS 4 +The data is an array of non\-zero Ids\&. +.RE +.PP +\fBREPOKEY_TYPE_REL_IDARRAY "repokey:type:relidarray"\fR +.RS 4 +The data is an array of non\-zero Ids ordered so that it needs less space\&. +.RE +.PP +\fBREPOKEY_TYPE_DIRSTRARRAY "repokey:type:dirstrarray"\fR +.RS 4 +The data is an tuple consisting of a directory Id and a basename\&. Used to store file names\&. +.RE +.PP +\fBREPOKEY_TYPE_DIRNUMNUMARRAY "repokey:type:dirnumnumarray"\fR +.RS 4 +The data is an triple consisting of a directory Id and two 32bit unsigned integers\&. Used to store disk usage information\&. +.RE +.PP +\fBREPOKEY_TYPE_MD5 "repokey:type:md5"\fR +.RS 4 +The data is a binary md5sum\&. +.RE +.PP +\fBREPOKEY_TYPE_SHA1 "repokey:type:sha1"\fR +.RS 4 +The data is a binary sha1sum\&. +.RE +.PP +\fBREPOKEY_TYPE_SHA256 "repokey:type:sha256"\fR +.RS 4 +The data is a binary sha256sum\&. +.RE +.PP +\fBREPOKEY_TYPE_FIXARRAY "repokey:type:fixarray"\fR +.RS 4 +The data is an array of structures that have all the same layout (i\&.e\&. the same keynames and keytypes in the same order)\&. +.RE +.PP +\fBREPOKEY_TYPE_FLEXARRAY "repokey:type:flexarray"\fR +.RS 4 +The data is an array of structures that have a different layout\&. +.RE +.PP +\fBREPOKEY_TYPE_DELETED "repokey:type:deleted"\fR +.RS 4 +The data does not exist\&. Used to mark an attribute that was deleted\&. +.RE +.SH "REPOSITORY METADATA" +.sp +This attributes contain meta information about the repository\&. +.PP +\fBREPOSITORY_SOLVABLES "repository:solvables"\fR +.RS 4 +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\&. +.RE +.PP +\fBREPOSITORY_DELTAINFO "repository:deltainfo"\fR +.RS 4 +This attribute holds the array including all of the delta packages\&. +.RE +.PP +\fBREPOSITORY_EXTERNAL "repository:external"\fR +.RS 4 +This attribute holds the array including all of the data to construct stub repodata areas to support on\-demand loading of metadata\&. +.RE +.PP +\fBREPOSITORY_KEYS "repository:keys"\fR +.RS 4 +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\&. +.RE +.PP +\fBREPOSITORY_LOCATION "repository:location"\fR +.RS 4 +This is used to provide a file name in the stub\&. +.RE +.PP +\fBREPOSITORY_ADDEDFILEPROVIDES "repository:addedfileprovides"\fR +.RS 4 +This attribute holds an array of filename Ids, that tell the library, that all of the Ids were already added to the solvable provides\&. +.RE +.PP +\fBREPOSITORY_RPMDBCOOKIE "repository:rpmdbcookie"\fR +.RS 4 +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\&. +.RE +.PP +\fBREPOSITORY_TIMESTAMP "repository:timestamp"\fR +.RS 4 +The seconds since the unix epoch when the repository was created\&. +.RE +.PP +\fBREPOSITORY_EXPIRE "repository:expire"\fR +.RS 4 +The seconds after the timestamp when the repository will expire\&. +.RE +.PP +\fBREPOSITORY_UPDATES "repository:updates"\fR +.RS 4 +An array of structures describing what this repository updates\&. +.RE +.PP +\fBREPOSITORY_DISTROS "repository:distros"\fR +.RS 4 +Also an array of structures describing what this repository updates\&. Seems to be the newer name of REPOSITORY_UPDATES\&. +.RE +.PP +\fBREPOSITORY_PRODUCT_LABEL "repository:product:label"\fR +.RS 4 +Should really be called "repository:updates:label"\&. What distribution is updated with this repository\&. +.RE +.PP +\fBREPOSITORY_PRODUCT_CPEID "repository:product:cpeid"\fR +.RS 4 +The cpeid of the platform updated by this repository\&. Is both used in REPOSITORY_UPDATES and REPOSITORY_DISTROS to maximize confusion\&. +.RE +.PP +\fBREPOSITORY_REPOID "repository:repoid"\fR +.RS 4 +An array of Id strings describing this repository\&. +.RE +.PP +\fBREPOSITORY_KEYWORDS "repository:keywords"\fR +.RS 4 +An array of Id strings describing keywords of this repository\&. +.RE +.PP +\fBREPOSITORY_REVISION "repository:revision"\fR +.RS 4 +One or more(?) arbitrary revision strings describing the revision of the repository\&. +.RE +.PP +\fBREPOSITORY_TOOLVERSION "repository:toolversion"\fR +.RS 4 +Some string describing somewhat the version of libsolv used to create the solv file\&. +.RE +.SH "REPOSITORY METADATA FOR SUSETAGS REPOS" +.sp +Attributes describing repository files in a susetags repository\&. \fBSUSETAGS_DATADIR "susetags:datadir"\fR:: The directory that contains the packages\&. +.PP +\fBSUSETAGS_DESCRDIR "susetags:descrdir"\fR +.RS 4 +The directory that contains the repository file resources\&. +.RE +.PP +\fBSUSETAGS_DEFAULTVENDOR "susetags:defaultvendor"\fR +.RS 4 +The default vendor used when a package does not specify a vendor\&. +.RE +.PP +\fBSUSETAGS_FILE "susetags:file"\fR +.RS 4 +An array of file resources of the repository\&. +.RE +.PP +\fBSUSETAGS_FILE_NAME "susetags:file:name"\fR +.RS 4 +The filename of the resource\&. +.RE +.PP +\fBSUSETAGS_FILE_TYPE "susetags:file:type"\fR +.RS 4 +The type of the resource, e\&.g\&. \(lqMETA\(rq\&. +.RE +.PP +\fBSUSETAGS_FILE_CHECKSUM "susetags:file:checksum"\fR +.RS 4 +The file checksum of the resource\&. +.RE +.SH "REPOSITORY METADATA FOR RPMMD REPOS" +.PP +\fBREPOSITORY_REPOMD "repository:repomd"\fR +.RS 4 +An array of file resources of the repository\&. +.RE +.PP +\fBREPOSITORY_REPOMD_TYPE "repository:repomd:type"\fR +.RS 4 +The type of the resource, e\&.g\&. \(lqprimary\(rq\&. +.RE +.PP +\fBREPOSITORY_REPOMD_LOCATION "repository:repomd:location"\fR +.RS 4 +The location (aka filename) of the resource +.RE +.PP +\fBREPOSITORY_REPOMD_TIMESTAMP "repository:repomd:timestamp"\fR +.RS 4 +The seconds since the unix epoch when the resource was created\&. +.RE +.PP +\fBREPOSITORY_REPOMD_CHECKSUM "repository:repomd:checksum"\fR +.RS 4 +The file checksum of the resource\&. +.RE +.PP +\fBREPOSITORY_REPOMD_OPENCHECKSUM "repository:repomd:openchecksum"\fR +.RS 4 +The checksum over the uncompressed contents of the resource\&. +.RE +.PP +\fBREPOSITORY_REPOMD_SIZE "repository:repomd:size"\fR +.RS 4 +The size of the resource file\&. +.RE +.SH "DELTA PACKAGE ATTRIBUTES" +.PP +\fBDELTA_PACKAGE_NAME "delta:pkgname"\fR +.RS 4 +The target package name for the delta package\&. Applying the delta will recreate the target package\&. +.RE +.PP +\fBDELTA_PACKAGE_EVR "delta:pkgevr"\fR +.RS 4 +The version of the target package\&. +.RE +.PP +\fBDELTA_PACKAGE_ARCH "delta:pkgarch"\fR +.RS 4 +The architecture of the target package\&. +.RE +.PP +\fBDELTA_LOCATION_DIR "delta:locdir"\fR +.RS 4 +The directory in the repository that contains the delta package\&. +.RE +.PP +\fBDELTA_LOCATION_NAME "delta:locname"\fR +.RS 4 +The first part of the file name of the delta package\&. +.RE +.PP +\fBDELTA_LOCATION_EVR "delta:locevr"\fR +.RS 4 +The version part of the file name of the delta package\&. +.RE +.PP +\fBDELTA_LOCATION_SUFFIX "delta:locsuffix"\fR +.RS 4 +The suffix part of the file name of the delta package\&. +.RE +.PP +\fBDELTA_DOWNLOADSIZE "delta:downloadsize"\fR +.RS 4 +The size of the delta rpm file\&. +.RE +.PP +\fBDELTA_CHECKSUM "delta:checksum"\fR +.RS 4 +The checksum of the delta rpm file\&. +.RE +.PP +\fBDELTA_BASE_EVR "delta:baseevr"\fR +.RS 4 +The version of the package the delta was build against\&. +.RE +.PP +\fBDELTA_SEQ_NAME "delta:seqname"\fR +.RS 4 +The first part of the delta sequence, the base package name\&. +.RE +.PP +\fBDELTA_SEQ_EVR "delta:seqevr"\fR +.RS 4 +The evr part of the delta sequence, the base package evr\&. Identical to the DELTA_BASE_EVR attribute\&. +.RE +.PP +\fBDELTA_SEQ_NUM "delta:seqnum"\fR +.RS 4 +The last part of the delta sequence, the content selection string\&. +.RE +.SH "AUTHOR" +.sp +Michael Schroeder diff --git a/doc/libsolv-constantids.txt b/doc/libsolv-constantids.txt new file mode 100644 index 0000000..7e4f885 --- /dev/null +++ b/doc/libsolv-constantids.txt @@ -0,0 +1,676 @@ +LIBSOLV-CONSTANTIDS(3) +====================== +:man manual: LIBSOLV +:man source: libsolv + + +NAME +---- +libsolv-constantids - fixed Ids for often used strings + + +DESCRIPTION +----------- +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. + + +SPECIAL STRINGS +--------------- +*ID_EMPTY ""*:: + The empty string. It will always have Id 1. + +*SYSTEM_SYSTEM "system:system"*:: + The name of the always installed "system" solvable. + + +SOLVABLE ATTRIBUTES +------------------- +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 describtions below describe the intended semantics +of the values stored in the attribute with the keyname. + +*SOLVABLE_NAME "solvable:name"*:: + The name of the package. + +*SOLVABLE_ARCH "solvable:arch"*:: + The architecture of the package. See the Solvable Architecture section + for predefined architecture Id values. + +*SOLVABLE_EVR "solvable:evr"*:: + The version of the package. It usually consists of some combination of + the Epoch, the Version, and the Release of the solvable. + +*SOLVABLE_VENDOR "solvable:vendor"*:: + A vendor string. Usually the company or group that created the binary + package. + +*SOLVABLE_PROVIDES "solvable:provides"*:: + Stores an array of dependency Ids that describe the capabilities + that the package provides. + +*SOLVABLE_OBSOLETES "solvable:obsoletes"*:: + Stores an array of dependency Ids that describe the packages that this + package replaces. + +*SOLVABLE_CONFLICTS "solvable:conflicts"*:: + Stores an array of dependency Ids that describe the capabilities that + this package conflicts with, i.e. that can't be installed together with + this package. + +*SOLVABLE_REQUIRES "solvable:requires"*:: + Stores an array of dependency Ids that describe the capabilities that + also must be installed when this package is installed. + +*SOLVABLE_RECOMMENDS "solvable:recommends"*:: + Stores an array of dependency Ids that describe the capabilities that + also should be installed when this package is installed. It's not an + error if not all capabilites can be met. + +*SOLVABLE_SUGGESTS "solvable:suggests"*:: + 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. + +*SOLVABLE_SUPPLEMENTS "solvable:supplements"*:: + 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. + +*SOLVABLE_ENHANCES "solvable:enhances"*:: + 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. + +*SOLVABLE_SUMMARY "solvable:summary"*:: + The summary should be a short string without any newlines that describes + what a package does. + +*SOLVABLE_DESCRIPTION "solvable:description"*:: + The description should be a more verbose description about what a + package does. It may consist of multiple lines. + +*SOLVABLE_DISTRIBUTION "solvable:distribution"*:: + The distribution is a short string that describes the OS and OS version + this package is built for. + +*SOLVABLE_AUTHORS "solvable:authors"*:: + A list of authors of this package. This attribute was used in SUSE + packages. + +*SOLVABLE_PACKAGER "solvable:packager"*:: + The person who created the binary package, see also the vendor attribute. + +*SOLVABLE_GROUP "solvable:group"*:: + The package group that this package belongs to. See also the keywords + attribute. + +*SOLVABLE_URL "solvable:url"*:: + An URL that points to more information about the package. + +*SOLVABLE_KEYWORDS "solvable:keywords"*:: + list of keyword string IDs used for tagging this package. + +*SOLVABLE_LICENSE "solvable:license"*:: + The jicense of this package. + +*SOLVABLE_BUILDTIME "solvable:buildtime"*:: + The seconds since the unix epoch when the binary package was created. + +*SOLVABLE_BUILDHOST "solvable:buildhost"*:: + The name of the host on which the binary package was created. + +*SOLVABLE_EULA "solvable:eula"*:: + If this attribute is present the user should be asked to accept the end + user license agreement before the package gets installed. + +*SOLVABLE_CPEID "solvable:cpeid"*:: + A Common Platform Enumeration string describes the platform this package + is intended for. See also the distribution attribute. + +*SOLVABLE_MESSAGEINS "solvable:messageins"*:: + A message that should be displayed to the user when the package gets + installed. + +*SOLVABLE_MESSAGEDEL "solvable:messagedel"*:: + A message that should be displayed to the user when the package gets + erased. + +*SOLVABLE_INSTALLSIZE "solvable:installsize"*:: + The disk space in bytes needed when installing the package. + +*SOLVABLE_DISKUSAGE "solvable:diskusage"*:: + A SUSE extension that stores for each directory the needed amount of + disk space in kilobytes and inodes. + +*SOLVABLE_FILELIST "solvable:filelist"*:: + A list of files that the package contains. + +*SOLVABLE_INSTALLTIME "solvable:installtime"*:: + The seconds since the unix epoch when the binary package was installed + on the system. + +*SOLVABLE_MEDIADIR "solvable:mediadir"*:: + The directory on the repository that contains the package. If this + attribute is set to void, the package architecture is used as + directory. + +*SOLVABLE_MEDIAFILE "solvable:mediafile"*:: + 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). + +*SOLVABLE_MEDIANR "solvable:medianr"*:: + The media number. This is an integer describing on which of a multi-part + media set this package is on. + +*SOLVABLE_MEDIABASE "solvable:mediabase"*:: + This attribute can be used to overwrite the repositories base url. + +*SOLVABLE_DOWNLOADSIZE "solvable:downloadsize"*:: + The size of the binary package in bytes. + +*SOLVABLE_SOURCEARCH "solvable:sourcearch"*:: + The architecture of the source package that this package belongs to. + +*SOLVABLE_SOURCENAME "solvable:sourcename"*:: + The name of the source package that this package belongs to. If set + to void, the package name attribute is used instead. + +*SOLVABLE_SOURCEEVR "solvable:sourceevr"*:: + The version of the source package that this package belongs to. If set + to void, the package version attribute is used instead. + +*SOLVABLE_TRIGGERS "solvable:triggers"*:: + A list of package triggers for this package. Used in the transaction + ordering code. + +*SOLVABLE_CHECKSUM "solvable:checksum"*:: + The checksum of the binary package. See the Data Types section for + a list of supported algorithms. + +*SOLVABLE_PKGID "solvable:pkgid"*:: + A string identifying a package. For rpm packages, this is the md5sum + over the package header and the payload. + +*SOLVABLE_HDRID "solvable:hdrid"*:: + A string identifying a package. For rpm packages, this is the sha1sum + over just the package header. + +*SOLVABLE_LEADSIGID "solvable:leadsigid"*:: + 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). + +*SOLVABLE_HEADEREND "solvable:headerend"*:: + 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. + +*SOLVABLE_CHANGELOG "solvable:changelog"*:: + The array containing all the changelog structures. + +*SOLVABLE_CHANGELOG_AUTHOR "solvable:changelog:author"*:: + The author of a changelog entry. + +*SOLVABLE_CHANGELOG_TIME "solvable:changelog:time"*:: + The seconds since the unix epoch when the changelog entry was written. + +*SOLVABLE_CHANGELOG_TEXT "solvable:changelog:text"*:: + The text of a changelog entry. + + +SPECIAL SOLVABLEATTRIBUTES +-------------------------- +*RPM_RPMDBID "rpm:dbid"*:: + The rpm database id of this (installed) package. Usually a small + integer number. + +*SOLVABLE_PATCHCATEGORY "solvable:patchcategory"*:: + The category field for patch solvables. Should be named + ``update:category'' instead. + +*UPDATE_REBOOT "update:reboot"*:: + If this attribute is present the sytem should be rebooted after + the update is installed. + +*UPDATE_RESTART "update:restart"*:: + If this attribute is present the software managemer should be run + again after the update is installed. + +*UPDATE_RELOGIN "update:relogin"*:: + If this attribute is present the user should log off and on again + after the update is installed. + +*UPDATE_MESSAGE "update:message"*:: + A message that should be shown to the user to warn him about anything + non-standard. + +*UPDATE_SEVERITY "update:severity"*:: + The severity of the update. + +*UPDATE_RIGHTS "update:rights"*:: + Any legal or other rights of the update. + +*UPDATE_COLLECTION "update:collection"*:: + The array containing the package list of the update. + +*UPDATE_COLLECTION_NAME "update:collection:name"*:: + The name of the to be updated package. + +*UPDATE_COLLECTION_EVR "update:collection:evr"*:: + The version of the to be updated package. + +*UPDATE_COLLECTION_ARCH "update:collection:arch"*:: + The architecture of the to be updated package. + +*UPDATE_COLLECTION_FILENAME "update:collection:filename"*:: + The file name of the to be updated package. + +*UPDATE_REFERENCE "update:reference"*:: + The array containing the reference list of the update. + +*UPDATE_REFERENCE_TYPE "update:reference:type"*:: + The type of the reference, e.g. bugzilla. + +*UPDATE_REFERENCE_HREF "update:reference:href"*:: + The URL of the reference. + +*UPDATE_REFERENCE_ID "update:reference:id"*:: + The identification string of the reference, e.g. the bug number. + +*UPDATE_REFERENCE_TITLE "update:reference:title"*:: + The title of the reference, e.g. the bug summary. + +*PRODUCT_REFERENCEFILE "product:referencefile"*:: + A reference to another product file. + +*PRODUCT_SHORTLABEL "product:shortlabel"*:: + A identification string of the product. + +*PRODUCT_DISTPRODUCT "product:distproduct"*:: + A SUSE Code-10 product name. + +*PRODUCT_DISTVERSION "product:distversion"*:: + A SUSE Code-10 product version. + +*PRODUCT_TYPE "product:type"*:: + The type of the product, e.g. ``base''. + +*PRODUCT_URL "product:url"*:: + An array of product URLs. + +*PRODUCT_URL_TYPE "product:url:type"*:: + An array of product URL types. + +*PRODUCT_FLAGS "product:flags"*:: + An array of product flags. + +*PRODUCT_PRODUCTLINE "product:productline"*:: + A product line string. + +*PRODUCT_REGISTER_TARGET "product:regtarget"*:: + A target for proudct registering. + +*PRODUCT_REGISTER_RELEASE "product:regrelease"*:: + A release string for proudct registering. + +*PUBKEY_KEYID "pubkey:keyid"*:: + The keyid of a pubkey, consiting of 8 bytes in hex. + +*PUBKEY_FINGERPRINT "pubkey:fingerprint"*:: + The fingerprint of a pubkey, usualy a sha1sum in hex. Old V3 RSA keys + use an md5sum instead. + +*PUBKEY_EXPIRES "pubkey:expires"*:: + The seconds since the unix epoch when the pubkey expires. + +*SOLVABLE_ISVISIBLE "solvable:isvisible"*:: + An attribute describing if the package should be listed to the user + or not. Used for SUSE patterns. + +*SOLVABLE_CATEGORY "solvable:category"*:: + The category of a pattern. + +*SOLVABLE_INCLUDES "solvable:includes"*:: + A list of other patterns that this pattern includes. + +*SOLVABLE_EXTENDS "solvable:extends"*:: + A list of other patterns that this pattern extends. + +*SOLVABLE_ICON "solvable:icon"*:: + The icon of a pattern. + +*SOLVABLE_ORDER "solvable:order"*:: + An ordering clue of a pattern. + +*SUSETAGS_SHARE_NAME "susetags:share:name"*:: + Internal attribute to implement susetags shared records. Holds the + name of the solvable used for sharing attributes. + +*SUSETAGS_SHARE_EVR "susetags:share:evr"*:: + Internal attribute to implement susetags shared records. Holds the + version of the solvable used for sharing attributes. + +*SUSETAGS_SHARE_ARCH "susetags:share:arch"*:: + Internal attribute to implement susetags shared records. Holds the + architecture of the solvable used for sharing attributes. + + +SOLVABLE ARCHITECTURES +---------------------- +Predefined architecture values for commonly used architectures. + +*ARCH_SRC "src"*:: + Used for binary packages that contain the package sources. + +*ARCH_NOSRC "nosrc"*:: + Used for binary packages that contain some of thepackage sources, + but not all files (because of restrictions). + +*ARCH_NOARCH "noarch"*:: + This package can be installed on any architecture. Used for rpm. + +*ARCH_ALL "all"*:: + This package can be installed on any architecture. Used for Debian. + +*ARCH_ANY "any"*:: + This package can be installed on any architecture. Used for Archlinux + and Haiku. + + +DEPENDENCY IDS +-------------- +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. + +The dependency markers partition the dependency array in two parts with +different semantics. + +*NAMESPACE_INSTALLED "namespace:installed"*:: + The dependency only selects installed packages. + +*NAMESPACE_MODALIAS "namespace:modalias"*:: + The dependency is a special modalias dependency that matches installed + hardware. + +*NAMESPACE_SPLITPROVIDES "namespace:splitprovides"*:: + 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. + +*NAMESPACE_LANGUAGE "namespace:language"*:: + The dependency describes a language. The callback should return true + if the language was selected by the user. + +*NAMESPACE_FILESYSTEM "namespace:filesystem"*:: + The dependency describes a filesystem. The callback should return true + if the filesystem is needed. + +*NAMESPACE_OTHERPROVIDERS "namespace:otherproviders"*:: + This is a hack to allow self-conflicting packages. It is not needed + with current rpm version, so do not use this namespace. + +*NAMESPACE_PRODUCTBUDDY "namespace:productbuddy"*:: + This is a another hack to implement the SUSE product buddy system. + Please ignore. + +*SOLVABLE_PREREQMARKER "solvable:prereqmarker"*:: + 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 algorthim when a dependency cycle + needs to be broken (non-prereq deps get broken first). + +*SOLVABLE_FILEMARKER "solvable:filemarker"*:: + This marker partitions the package provides dependencies from the + synthetic file provides dependencies added by pool_addfileprovides(). + + +DATA TYPES +---------- +Each attribute data is stored with a type, so that the lookup functions +know how to interpret the data. The following types are available: + +*REPOKEY_TYPE_VOID "repokey:type:void"*:: + No data is stored with this attribute. Thus you can only test if + the attribute exists or not. Useful to store boolean values. + +*REPOKEY_TYPE_CONSTANT "repokey:type:constant"*:: + 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). + +*REPOKEY_TYPE_CONSTANTID "repokey:type:constantid"*:: + 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). + +*REPOKEY_TYPE_ID "repokey:type:id"*:: + The data is an Id. + +*REPOKEY_TYPE_NUM "repokey:type:num"*:: + The data is an unsigned 64bit number. + +*REPOKEY_TYPE_U32 "repokey:type:num32"*:: + The data is an unsigned 32bit number. Obsolete, do not use. + +*REPOKEY_TYPE_DIR "repokey:type:dir"*:: + The data is an Id of a directory. + +*REPOKEY_TYPE_STR "repokey:type:str"*:: + The data is a regular string. + +*REPOKEY_TYPE_BINARY "repokey:type:binary"*:: + The data is a binary blob. + +*REPOKEY_TYPE_IDARRAY "repokey:type:idarray"*:: + The data is an array of non-zero Ids. + +*REPOKEY_TYPE_REL_IDARRAY "repokey:type:relidarray"*:: + The data is an array of non-zero Ids ordered so that it needs less + space. + +*REPOKEY_TYPE_DIRSTRARRAY "repokey:type:dirstrarray"*:: + The data is an tuple consisting of a directory Id and a basename. + Used to store file names. + +*REPOKEY_TYPE_DIRNUMNUMARRAY "repokey:type:dirnumnumarray"*:: + The data is an triple consisting of a directory Id and two 32bit + unsigned integers. Used to store disk usage information. + +*REPOKEY_TYPE_MD5 "repokey:type:md5"*:: + The data is a binary md5sum. + +*REPOKEY_TYPE_SHA1 "repokey:type:sha1"*:: + The data is a binary sha1sum. + +*REPOKEY_TYPE_SHA256 "repokey:type:sha256"*:: + The data is a binary sha256sum. + +*REPOKEY_TYPE_FIXARRAY "repokey:type:fixarray"*:: + The data is an array of structures that have all the same layout + (i.e. the same keynames and keytypes in the same order). + +*REPOKEY_TYPE_FLEXARRAY "repokey:type:flexarray"*:: + The data is an array of structures that have a different layout. + +*REPOKEY_TYPE_DELETED "repokey:type:deleted"*:: + The data does not exist. Used to mark an attribute that was deleted. + + +REPOSITORY METADATA +------------------- +This attributes contain meta information about the repository. + +*REPOSITORY_SOLVABLES "repository:solvables"*:: + 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's solvable array for fast access. + +*REPOSITORY_DELTAINFO "repository:deltainfo"*:: + This attribute holds the array including all of the delta packages. + +*REPOSITORY_EXTERNAL "repository:external"*:: + This attribute holds the array including all of the data to construct + stub repodata areas to support on-demand loading of metadata. + +*REPOSITORY_KEYS "repository:keys"*:: + 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. + +*REPOSITORY_LOCATION "repository:location"*:: + This is used to provide a file name in the stub. + +*REPOSITORY_ADDEDFILEPROVIDES "repository:addedfileprovides"*:: + This attribute holds an array of filename Ids, that tell the library, + that all of the Ids were already added to the solvable provides. + +*REPOSITORY_RPMDBCOOKIE "repository:rpmdbcookie"*:: + An attribute that stores a sha256sum over the file stats of the + Packages database. It's used to detect rebuilds of the database, + as in that case the database Ids of every package are newly + distributed. + +*REPOSITORY_TIMESTAMP "repository:timestamp"*:: + The seconds since the unix epoch when the repository was created. + +*REPOSITORY_EXPIRE "repository:expire"*:: + The seconds after the timestamp when the repository will expire. + +*REPOSITORY_UPDATES "repository:updates"*:: + An array of structures describing what this repository updates. + +*REPOSITORY_DISTROS "repository:distros"*:: + Also an array of structures describing what this repository updates. + Seems to be the newer name of REPOSITORY_UPDATES. + +*REPOSITORY_PRODUCT_LABEL "repository:product:label"*:: + Should really be called "repository:updates:label". What distribution + is updated with this repository. + +*REPOSITORY_PRODUCT_CPEID "repository:product:cpeid"*:: + The cpeid of the platform updated by this repository. Is both used + in REPOSITORY_UPDATES and REPOSITORY_DISTROS to maximize confusion. + +*REPOSITORY_REPOID "repository:repoid"*:: + An array of Id strings describing this repository. + +*REPOSITORY_KEYWORDS "repository:keywords"*:: + An array of Id strings describing keywords of this repository. + +*REPOSITORY_REVISION "repository:revision"*:: + One or more(?) arbitrary revision strings describing the revision + of the repository. + +*REPOSITORY_TOOLVERSION "repository:toolversion"*:: + Some string describing somewhat the version of libsolv used to create + the solv file. + + +REPOSITORY METADATA FOR SUSETAGS REPOS +-------------------------------------- +Attributes describing repository files in a susetags repository. +*SUSETAGS_DATADIR "susetags:datadir"*:: + The directory that contains the packages. + +*SUSETAGS_DESCRDIR "susetags:descrdir"*:: + The directory that contains the repository file resources. + +*SUSETAGS_DEFAULTVENDOR "susetags:defaultvendor"*:: + The default vendor used when a package does not specify a vendor. + +*SUSETAGS_FILE "susetags:file"*:: + An array of file resources of the repository. + +*SUSETAGS_FILE_NAME "susetags:file:name"*:: + The filename of the resource. + +*SUSETAGS_FILE_TYPE "susetags:file:type"*:: + The type of the resource, e.g. ``META''. + +*SUSETAGS_FILE_CHECKSUM "susetags:file:checksum"*:: + The file checksum of the resource. + + +REPOSITORY METADATA FOR RPMMD REPOS +----------------------------------- +*REPOSITORY_REPOMD "repository:repomd"*:: + An array of file resources of the repository. + +*REPOSITORY_REPOMD_TYPE "repository:repomd:type"*:: + The type of the resource, e.g. ``primary''. + +*REPOSITORY_REPOMD_LOCATION "repository:repomd:location"*:: + The location (aka filename) of the resource + +*REPOSITORY_REPOMD_TIMESTAMP "repository:repomd:timestamp"*:: + The seconds since the unix epoch when the resource was created. + +*REPOSITORY_REPOMD_CHECKSUM "repository:repomd:checksum"*:: + The file checksum of the resource. + +*REPOSITORY_REPOMD_OPENCHECKSUM "repository:repomd:openchecksum"*:: + The checksum over the uncompressed contents of the resource. + +*REPOSITORY_REPOMD_SIZE "repository:repomd:size"*:: + The size of the resource file. + + +DELTA PACKAGE ATTRIBUTES +------------------------ +*DELTA_PACKAGE_NAME "delta:pkgname"*:: + The target package name for the delta package. Applying the delta + will recreate the target package. + +*DELTA_PACKAGE_EVR "delta:pkgevr"*:: + The version of the target package. + +*DELTA_PACKAGE_ARCH "delta:pkgarch"*:: + The architecture of the target package. + +*DELTA_LOCATION_DIR "delta:locdir"*:: + The directory in the repository that contains the delta package. + +*DELTA_LOCATION_NAME "delta:locname"*:: + The first part of the file name of the delta package. + +*DELTA_LOCATION_EVR "delta:locevr"*:: + The version part of the file name of the delta package. + +*DELTA_LOCATION_SUFFIX "delta:locsuffix"*:: + The suffix part of the file name of the delta package. + +*DELTA_DOWNLOADSIZE "delta:downloadsize"*:: + The size of the delta rpm file. + +*DELTA_CHECKSUM "delta:checksum"*:: + The checksum of the delta rpm file. + +*DELTA_BASE_EVR "delta:baseevr"*:: + The version of the package the delta was build against. + +*DELTA_SEQ_NAME "delta:seqname"*:: + The first part of the delta sequence, the base package name. + +*DELTA_SEQ_EVR "delta:seqevr"*:: + The evr part of the delta sequence, the base package evr. Identical + to the DELTA_BASE_EVR attribute. + +*DELTA_SEQ_NUM "delta:seqnum"*:: + The last part of the delta sequence, the content selection string. + + +Author +------ +Michael Schroeder +