Provided by: libsolv-doc_0.7.23-1_all bug

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 compatibility. The on-disk solv format 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 keynames 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.

       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 capabilities
           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 license(s) 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 SOLVABLE ATTRIBUTES

       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 system should be rebooted after the update is
           installed.

       UPDATE_RESTART "update:restart"
           If this attribute is present the software manager 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 updated package.

       UPDATE_COLLECTION_EVR "update:collection:evr"
           The version of the updated package.

       UPDATE_COLLECTION_ARCH "update:collection:arch"
           The architecture of the updated package.

       UPDATE_COLLECTION_FILENAME "update:collection:filename"
           The file name of the 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"
           The basename of the product file in the package.

       PRODUCT_SHORTLABEL "product:shortlabel"
           An identification string of the product.

       PRODUCT_DISTPRODUCT "product:distproduct"
           Obsolete, do not use. Was a SUSE Code-10 product name.

       PRODUCT_DISTVERSION "product:distversion"
           Obsolete, do not use. Was 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 used for product registering.

       PRODUCT_REGISTER_TARGET "product:regtarget"
           A target for product registering.

       PRODUCT_REGISTER_RELEASE "product:regrelease"
           A release string for product registering.

       PUBKEY_KEYID "pubkey:keyid"
           The keyid of a pubkey, consisting of 8 bytes in hex.

       PUBKEY_FINGERPRINT "pubkey:fingerprint"
           The fingerprint of a pubkey, usually a sha1sum in hex. Old V3 RSA keys use a md5sum
           instead.

       PUBKEY_EXPIRES "pubkey:expires"
           The seconds since the unix epoch when the pubkey expires.

       PUBKEY_SUBKEYOF "pubkey:subkeyof"
           The keyid of the master pubkey for subkeys.

       PUBKEY_DATA "pubkey:data"
           The MPI data of the pubkey.

       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 name 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 the package 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_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 splitprovides 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.

       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 algorithm
           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 a tuple consisting of a directory Id and a basename. Used to store file
           names.

       REPOKEY_TYPE_DIRNUMNUMARRAY "repokey:type:dirnumnumarray"
           The data is a 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 keywords/tags about the repository itself.

       REPOSITORY_KEYWORDS "repository:keywords"
           An array of Id strings describing keywords/tags about the content of the repository.

       REPOSITORY_REVISION "repository:revision"
           An arbitrary string 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_LOCATION_BASE "delta:locbase"
           This attribute can be used to overwrite the repositories base url for the delta.

       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 built 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 <mls@suse.de>