Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LIBSOLV-CONSTANTIDS(3)		     LIBSOLV		  LIBSOLV-CONSTANTIDS(3)

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 recom-
	 mends attribute, but works in the reverse way.

     SOLVABLE_ENHANCES "solvable:enhances"
	 Stores an array of dependency Ids that define that this package is use-
	 ful 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 de-
	 scribes what a package does.

     SOLVABLE_DESCRIPTION "solvable:description"
	 The description should be a more verbose description about what a pack-
	 age 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 at-
	 tribute.

     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 pack-
	 age 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  at-
	 tribute 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 at-
	 tribute 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 in-
	 formation to download just the header if you want to  display	informa-
	 tion 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 inte-
	 ger number.

     SOLVABLE_PATCHCATEGORY "solvable:patchcategory"
	 The category field for patch solvables. Should be  named  "update:cate-
	 gory" 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 ver-
	 sion of the solvable used for sharing attributes.

     SUSETAGS_SHARE_ARCH "susetags:share:arch"
	 Internal attribute to implement susetags shared records. Holds the  ar-
	 chitecture 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  con-
	 tains	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  pre-
	 requires.  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 syn-
	 thetic 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  un-
	 signed 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  Pack-
	 ages 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. SUSE-
     TAGS_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>

libsolv 			   03/02/2022		  LIBSOLV-CONSTANTIDS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libsolv-constantids&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help