apt 3.0.3
commandline package manager
Public Types | Public Attributes | List of all members
pkgCache< Str, Itr >::Version Struct Reference

information for a single version of a package More...

#include <apt-pkg/pkgcache.h>

Collaboration diagram for pkgCache< Str, Itr >::Version:
[legend]

Public Types

enum  VerMultiArch {
  No = 0 , All = (1<<0) , Foreign = (1<<1) , Same = (1<<2) ,
  Allowed = (1<<3) , AllForeign = All | Foreign , AllAllowed = All | Allowed
}
 Multi-Arch capabilities of a package version. More...
 

Public Attributes

map_stringitem_t VerStr
 complete version string
 
map_stringitem_t Section
 section this version is filled in
 
map_pointer< pkgCache::SourceVersionSourceVersion
 the source version object
 
map_pointer< VersionNextInSourceVersion
 next version in the source package (might be different binary)
 
map_number_t MultiArch
 stores the MultiArch capabilities of this version
 
map_pointer< VerFileFileList
 references all the PackageFile's that this version came from
 
map_pointer< VersionNextVer
 next (lower or equal) version in the linked list
 
map_pointer< DescriptionDescriptionList
 next description in the linked list
 
map_pointer< DependencyDependsList
 base of the dependency list
 
map_pointer< PackageParentPkg
 links to the owning package
 
map_pointer< ProvidesProvidesList
 list of pkgCache::Provides
 
map_filesize_t Size
 archive size for this version
 
map_filesize_t InstalledSize
 uncompressed size for this version
 
uint32_t Hash
 characteristic value representing this version
 
map_id_t ID
 unique sequel ID
 
map_number_t Priority
 parsed priority value
 
map_pointer< VersionNextInSource
 next version in the source package (might be different binary)
 
map_pointer< Extra > d
 Private pointer.
 

Detailed Description

template<typename Str, typename Itr>
struct pkgCache< Str, Itr >::Version

information for a single version of a package

The version list is always sorted from highest version to lowest version by the generator. Equal version numbers are either merged or handled as separate versions based on the Hash value.

Member Enumeration Documentation

◆ VerMultiArch

template<typename Str , typename Itr >
enum VerMultiArch

Multi-Arch capabilities of a package version.

Enumerator
No 

is the default and doesn't trigger special behaviour

All 

will cause that Ver.Arch() will report "all"

Foreign 

can satisfy dependencies in another architecture

Same 

can be co-installed with itself from other architectures

Allowed 

other packages are allowed to depend on thispkg:any

Member Data Documentation

◆ FileList

template<typename Str , typename Itr >
map_pointer<VerFile> FileList

references all the PackageFile's that this version came from

FileList can be used to determine what distribution(s) the Version applies to. If FileList is 0 then this is a blank version. The structure should also have a 0 in all other fields excluding pkgCache::Version::VerStr and Possibly pkgCache::Version::NextVer.

◆ Hash

template<typename Str , typename Itr >
uint32_t Hash

characteristic value representing this version

No two packages in existence should have the same VerStr and Hash with different contents.

◆ MultiArch

template<typename Str , typename Itr >
map_number_t MultiArch

stores the MultiArch capabilities of this version

Flags used are defined in pkgCache::Version::VerMultiArch

◆ ParentPkg

template<typename Str , typename Itr >
map_pointer<Package> ParentPkg

links to the owning package

This allows reverse dependencies to determine the package

◆ Size

template<typename Str , typename Itr >
map_filesize_t Size

archive size for this version

For Debian this is the size of the .deb file.


The documentation for this struct was generated from the following file: