AptPkg::Cache - APT package cache interface
The AptPkg::Cache module provides an interface to APT's
package cache.
The AptPkg::Cache package implements the APT pkgCacheFile
class as a hash reference (inherits from AptPkg::hash). The hash keys are
the names of packages in the cache, and the values are
AptPkg::Cache::Package objects (which in turn appear as hash references, see
below).
Constructor
- new([LOCK])
- Instantiation of the object uses configuration from the
$AptPkg::Config::_config and
$AptPkg::System::_system objects (automatically
initialised if not done explicitly).
The cache initialisation can be quite verbose--controlled by
the value of $_config->{quiet}, which is set
to "2" (quiet) if the $_config object
is auto-initialised.
The cache directory is locked if LOCK is true.
It is important to note that the structure of the returned
object contains self-referential elements, so some care must be taken if
attempting to traverse it recursively.
Methods
- files
- Return a list of AptPkg::Cache::PkgFile objects describing the package
files.
- packages
- Return an AptPkg::PkgRecords object which may be used to retrieve
additional information about packages.
- get, exists, keys
- These methods are used to implement the hashref abstraction:
$obj->get($pack) and
$obj->{$pack} are equivalent.
- is_multi_arch
- Cache is multi-arch enabled.
- native_arch
- Native architecture.
Implements the APT pkgCache::PkgIterator class as a hash
reference.
Keys
- Name
- Section
- Arch
- Package name, section and architecture.
- FullName
- Fully qualified name, including architecture.
- ShortName
- The shortest unambiguous package name: the same as
"Name" for native packages, and
"FullName" for non-native.
- SelectedState
- InstState
- CurrentState
- Package state from the status file.
SelectedState may be
"Unknown",
"Install",
"Hold",
"DeInstall" or
"Purge".
InstState may be "Ok",
"ReInstReq",
"HoldInst" or
"HoldReInstReq".
CurrentState may be
"NotInstalled",
"UnPacked",
"HalfConfigured",
"HalfInstalled",
"ConfigFiles" or
"Installed".
In a numeric context, SelectedState, InstState and
CurrentState evaluate to an AptPkg::State:: constant.
- VersionList
- A reference to an array of AptPkg::Cache::Version objects describing
available versions of the package.
- CurrentVer
- An AptPkg::Cache::Version object describing the currently installed
version (if any) of the package.
- RevDependsList
- A reference to an array of AptPkg::Cache::Depends objects describing
packages which depend upon the current package.
- ProvidesList
- For virtual packages, this is a reference to an array of
AptPkg::Cache::Provides objects describing packages which provide the
current package.
- Flags
- A comma separated list if flags: "Auto",
"Essential" or
"Important".
In a numeric context, evaluates to a combination of
AptPkg::Flag:: constants.
[Note: the only one of these you need worry about is
"Essential", which is set based on the
package's header of the same name.
"Auto" seems to be used internally by
APT, and "Important" seems to
only be set on the apt package.]
- Index
- Internal APT unique reference for the package record.
Implements the APT pkgCache::VerIterator class as a hash
reference.
Keys
- VerStr
- Section
- Arch
- The package version, section and architecture.
- MultiArch
- Multi-arch state: "No",
"All",
"Foreign",
"Same",
"Allowed",
"AllForeign" or
"AllAllowed".
In a numeric context, evaluates to an AptPkg::Version::
constant.
- ParentPkg
- An AptPkg::Cache::Package objct describing the package providing this
version.
- DescriptionList
- A list of AptCache::Cache::Description objects describing the files which
describe a package version. The list includes both Package files and
Translation files, which contain translated Description fields.
- TranslatedDescription
- An AptCache::Cache::Description object for the current locale, which will
generally be a Translation file.
- DependsList
- A reference to an array of AptPkg::Cache::Depends objects describing
packages which the current package depends upon.
- ProvidesList
- A reference to an array of AptPkg::Cache::Provides objects describing
virtual packages provided by this version.
- FileList
- A reference to an array of AptPkg::Cache::VerFile objects describing the
packages files which include the current version.
- Size
- The .deb file size, in bytes.
- InstalledSize
- The disk space used when installed, in bytes.
- Index
- Internal APT unique reference for the version record.
- Priority
- Package priority: "important",
"required",
"standard",
"optional" or
"extra".
In a numeric context, evaluates to an AptPkg::VerPriority::
constant.
Implements the APT pkgCache::DepIterator class as a hash
reference.
Keys
- DepType
- Type of dependency: "Depends",
"PreDepends",
"Suggests",
"Recommends",
"Conflicts",
"Replaces" or
"Obsoletes".
In a numeric context, evaluates to an AptPkg::Dep::
constant.
- ParentPkg
- ParentVer
- AptPkg::Cache::Package and AptPkg::Cache::Version objects describing the
package declaring the dependency.
- TargetPkg
- AptPkg::Cache::Package object describing the depended package.
- TargetVer
- For versioned dependencies, TargetVer is a string giving the version of
the target package required.
- CompType
- CompTypeDeb
- CompType gives a normalised comparison operator (>, >=, etc)
describing the relationship to TargetVer ("" if none).
CompTypeDeb returns Debian-style operators (>> rather
than >).
In a numeric context, both CompType and CompTypeDeb evaluate
to an AptPkg::Dep:: constant.
Alternative dependencies (Depends: a | b) are identified by
all but the last having the AptPkg::Dep::Or bit set in the numeric
representation of CompType (and CompTypeDeb).
- Index
- Internal APT unique reference for the dependency record.
Implements the APT pkgCache::PrvIterator class as a hash
reference.
Keys
- Name
- Name of virtual package.
- OwnerPkg
- OwnerVer
- AptPkg::Cache::Package and AptPkg::Cache::Version objects describing the
providing package.
- ProvideVersion
- Version of the virtual package. [Not currently supported by dpkg]
- Index
- Internal APT unique reference for the provides record.
Implements the APT pkgCache::VerFileIterator class as a
hash reference.
Keys
- File
- An AptPkg::Cache::PkgFile object describing the packages file.
- Offset
- Size
- The byte offset and length of the entry in the file.
- Index
- Internal APT unique reference for the version file record.
Implements the APT pkgCache::PkgFileIterator class as a
hash reference.
Keys
- FileName
- Packages file path.
- IndexType
- File type: "Debian Package Index",
"Debian dpkg status file".
- Archive
- Component
- Version
- Origin
- Label
- Site
- Fields from the Release file.
- Index
- Internal APT unique reference for the package file record.
Implements the APT pkgCache::DescFileIterator class as a
hash reference.
Keys
- File
- An AptPkg::Cache::PkgFile object describing the packages file.
AptPkg::Config(3pm), AptPkg::System(3pm),
AptPkg(3pm), AptPkg::hash(3pm),
AptPkg::PkgRecords(3pm), AptPkg::Policy(3pm).
Brendan O'Dea <bod@debian.org>