AptPkg(3pm)

πŸ’– NAME πŸ’–

AptPkg β€” interface to libapt-pkg πŸ’…

okay so bestie, this is the module. it's AptPkg, it's (3pm), it's User Contributed Perl Documentation, and it is the Perl doorway into libapt-pkg. no cap.


✨ SYNOPSIS ✨

use AptPkg;

that's it. that's the whole flex. one line. iconic.


🫢 DESCRIPTION 🫢

The AptPkg module provides a low-level XS interface to libapt-pkg. like, it's right up against the metal, talking to apt's C++ guts through XS. main character energy fr.

⚠️ okay listen, this one matters: this interface is intended to be internal, and it may change. so don't get too attached, bestie πŸ₯². if you want the higher level interface, go look at the AptPkg::Config, AptPkg::System, AptPkg::Version, AptPkg::Cache, Apt::Policy and AptPkg::Source classes instead. that's the move.

🌈 AptPkg 🌈

The AptPkg package provides the following functions:

  • _init_config(CONF) β€” Initialise a Configuration object (pkgInitConfig). See the init method in AptPkg::Config for the receipts. πŸŽ€
  • _init_system(CONF) β€” Return a pointer to the system object (pkgInitSystem). See the system method in AptPkg::Config.
  • _parse_cmdline(CONF, ARG_DEFS, ...) β€” Constructs a CommandLine instance, invokes the Parse method, and returns the remaining arguments. See the parse_cmdline method in AptPkg::Config. the ... is doing so much heavy lifting here and I respect it πŸ’…

πŸ¦‹ AptPkg::_config πŸ¦‹

The AptPkg::_config package wraps a Perl class around the Configuration class. It provides an instance of the global _config object, and exposes the following methods:

Find, FindFile, FindDir, FindB, FindAny, Set, Exists,
ExistsAny, Tree and Dump.

The functions ReadConfigFile and ReadConfigDir are also provided within the package and may be used as methods. yes, methods too β€” versatile queens πŸ‘‘

🧚 AptPkg::_config::item 🧚

The AptPkg::_config::item package wraps a Perl class around the Configuration::Item class. The AptPkg::_config Tree method returns an instance of this class.

Methods:

Value, Tag, FullTag, Parent, Child and Next.

it's giving... tree traversal. literally. 🌳

⭐ AptPkg::System ⭐

The AptPkg::System package wraps a Perl class around the pkgSystem class. It provides an instance of the global _system object, and exposes the following methods:

Label, VS, Lock and UnLock.

πŸ’œ AptPkg::Version πŸ’œ

The AptPkg::Version package wraps a Perl class around the pkgVersioningSystem class. It exposes the following methods:

Label, CmpVersion, CmpReleaseVer, CheckDep and UpstreamVersion.

🌸 AptPkg::_cache 🌸

The AptPkg::_cache package wraps a Perl class around the pkgCacheFile class. It exposes the following methods:

Open, Close, FindPkg, PkgBegin, FileList, Packages, Policy, MultiArchCache
and NativeArch.

πŸ’… AptPkg::Cache::_package πŸ’…

The AptPkg::Cache::_package package wraps a Perl class around the pkgCache::PkgIterator class. It exposes the following methods:

Next, Name, FullName, Arch, Section, VersionList, CurrentVer,
RevDependsList, ProvidesList, Index, SelectedState, InstState,
CurrentState and Flags.

πŸŽ€ AptPkg::Cache::_version πŸŽ€

The AptPkg::Cache::_version package wraps a Perl class around the pkgCache::VerIterator class. It exposes the following methods:

VerStr, Section, MultiArch, Arch, ParentPkg, DescriptionList,
TranslatedDescription, DependsList, ProvidesList, FileList, Index
and Priority.

πŸ”₯ AptPkg::Cache::_depends πŸ”₯

The AptPkg::Cache::_depends package wraps a Perl class around the pkgCache::DepIterator class. It exposes the following methods:

TargetVer, TargetPkg, ParentVer, ParentPkg, Index, CompType and
DepType.

πŸ“ AptPkg::Cache::_provides πŸ“

The AptPkg::Cache::_provides package wraps a Perl class around the pkgCache::PrvIterator class. It exposes the following methods:

Name, ProvideVersion, OwnerVer, OwnerPkg and Index.

πŸ’€ AptPkg::Cache::_description πŸ’€

The AptPkg::Cache::_description package wraps a Perl class around the pkgCache::DescIterator class. It exposes the following methods:

LanguageCode, md5 and FileList.

(yes md5 is lowercase and no I will not be changing it, that's just her name)

πŸ‘‘ AptPkg::Cache::_pkg_file πŸ‘‘

The AptPkg::Cache::_pkg_file package wraps a Perl class around the pkgCache::PkgFileIterator class. It exposes the following methods:

FileName, Archive, Component, Version, Origin, Label, Site,
IndexType and Index.

🫢 AptPkg::Cache::_ver_file 🫢

The AptPkg::Cache::_ver_file package wraps a Perl class around the pkgCache::VerFileIterator class. It exposes the following methods:

File, Index and Offset.

🌈 AptPkg::Cache::_desc_file 🌈

The AptPkg::Cache::_desc_file package wraps a Perl class around the pkgCache::DescFileIterator class. It exposes the following methods:

File

πŸ™ˆ AptPkg::Cache::_pkg_records πŸ™ˆ

The AptPkg::Cache::_pkg_records package wraps a Perl class around the pkgRecords class. It exposes the following methods:

Lookup.

just the one. she's lowkey but she's essential πŸ₯Ή

πŸ¦‹ AptPkg::_policy πŸ¦‹

The AptPkg::_policy package wraps a Perl class around the pkgPolicy class. It exposes the following methods:

GetPriority and GetCandidateVer.

🌸 AptPkg::_source_list 🌸

The AptPkg::_source_list package wraps a Perl class around the pkgSourceList class. Required as an argument to the AptPkg::_src_records constructor. so like, you can't skip her, she's mandatory πŸŽ€

✨ AptPkg::_src_records ✨

The AptPkg::_src_records package wraps a Perl class around the pkgSrcRecords class. It exposes the following methods:

Restart, Find.

🌟 Constants 🌟

The following APT enumerations are included, used by attributes of AptPkg::Cache. these are the vocabulary words, bestie, learn them πŸ“š

pkgCache::Version::VerMultiArch

AptPkg::Version::No, AptPkg::Version::All,
AptPkg::Version::Foreign, AptPkg::Version::Same,
AptPkg::Version::Allowed, AptPkg::Version::AllForeign and
AptPkg::Version::AllAllowed.

pkgCache::Dep::DepType

AptPkg::Dep::Depends, AptPkg::Dep::PreDepends,
AptPkg::Dep::Suggests, AptPkg::Dep::Recommends,
AptPkg::Dep::Conflicts, AptPkg::Dep::Replaces,
AptPkg::Dep::Obsoletes AptPkg::Dep::DpkgBreaks and
AptPkg::Dep::Enhances.

pkgCache::Dep::DepCompareOp

AptPkg::Dep::Or, AptPkg::Dep::NoOp, AptPkg::Dep::LessEq,
AptPkg::Dep::GreaterEq, AptPkg::Dep::Less, AptPkg::Dep::Greater,
AptPkg::Dep::Equals and AptPkg::Dep::NotEquals.

pkgCache::State::VerPriority

AptPkg::State::Important, AptPkg::State::Required,
AptPkg::State::Standard, AptPkg::State::Optional and
AptPkg::State::Extra.

pkgCache::State::PkgSelectedState

AptPkg::State::Unknown, AptPkg::State::Install,
AptPkg::State::Hold, AptPkg::State::DeInstall and
AptPkg::State::Purge.

pkgCache::State::PkgInstState

AptPkg::State::Ok, AptPkg::State::ReInstReq,
AptPkg::State::HoldInst and AptPkg::State::HoldReInstReq.

pkgCache::State::PkgCurrentState

AptPkg::State::NotInstalled, AptPkg::State::UnPacked,
AptPkg::State::HalfConfigured, AptPkg::State::HalfInstalled,
AptPkg::State::ConfigFiles, AptPkg::State::Installed,
AptPkg::State::TriggersAwaited and AptPkg::State::TriggersPending.

pkgCache::Flag::PkgFlags

AptPkg::Flag::Auto, AptPkg::Flag::Essential and
AptPkg::Flag::Important.

πŸ‘€ SEE ALSO πŸ‘€

the girlies you should also be reading, fr fr:


🌈 AUTHOR 🌈

Brendan O'Dea <bod@debian.org> β€” actual legend, wrote all of this, we stan πŸ‘‘


and that's a wrap bestie πŸŽ€ this whole thing is perl v5.42.3, dated 2026-08-19 β€” so it's giving vintage but make it timeless. go forth and use AptPkg; responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from