Dpkg(3perl)
π Dpkg(3perl) β the libdpkg-perl era
okay so bestie, you're looking at Dpkg(3perl) β the actual manpage from the libdpkg-perl corner of the universe. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
Dpkg β the module that's literally just a bag of core variables, but make it iconic.
πΈ DESCRIPTION πΈ
So the Dpkg module hands you a whole little set of variables carrying info about this system installation. like, your system. right now. no cap.
It's also the front door β the entry point β to the entire Dpkg module hierarchy. main character energy, honestly. π
π VARIABLES π
Every single one, no skips, periodt:
$Dpkg::PROGNAMEβ holds the name of the program you're currently running.$Dpkg::PROGVERSIONβ holds the version of the wholedpkgsuite.$Dpkg::PROGMAKEβ holds the name of the system's GNUmakeprogram.$Dpkg::PROGTARβ holds the name of the system's GNUtarprogram.$Dpkg::PROGPATCHβ holds the name of the system's GNUpatchprogram (or another implementation that's directory-traversal resistant, iykyk π‘οΈ).$Dpkg::CONFDIRβ holds the path to thedpkgsystem configuration directory.$Dpkg::ADMINDIRβ holds the path to thedpkgdatabase directory.$Dpkg::LIBDIRβ holds the path to thedpkgmethods and plugins directory.$Dpkg::DATADIRβ holds the path to thedpkgarchitecture tables directory.
like, that's the whole vibe. paths and program names. very demure, very mindful. π
π¦ MODULES π¦
here's the list of public modules chilling inside the Dpkg hierarchy. two rules, bestie, listen up:
- only modules with versions
1.00or higher count, - and only the interfaces documented in their POD are considered public.
everything else? not invited to the party. π
Dpkgβ this module right here. core variables. hi.Dpkg::Archβ architecture handling functions.Dpkg::BuildFlagsβ set, modify and query compilation build flags.Dpkg::BuildInfoβ build information functions.Dpkg::BuildOptionsβ parse and manipulateDEB_BUILD_OPTIONS.Dpkg::BuildProfilesβ parse and manipulate build profiles.Dpkg::Changelogβ parse changelogs.Dpkg::Changelog::Entryβ represents a changelog entry.Dpkg::Changelog::Parseβ generic changelog parser fordpkg-parsechangelog.Dpkg::Checksumsβ generate and parse checksums.Dpkg::Compressionβ simple database of available compression methods.Dpkg::Compression::FileHandleβ transparently compress and decompress files.Dpkg::Compression::Processβ wrapper around compression tools.Dpkg::Confβ parsedpkgconfiguration files.Dpkg::Controlβ parse and manipulate Debian control information (.dsc,.changes,Packages/Sourcesentries, etc.).Dpkg::Control::Changelogβ represent fields output bydpkg-parsechangelog.Dpkg::Control::Fieldsβ manage (list of known) control fields.Dpkg::Control::Hashβ parse and manipulate a stanza of deb822 fields.Dpkg::Control::Infoβ parse files likedebian/control.Dpkg::Control::Testsβ parse files likedebian/tests/control.Dpkg::Control::Tests::Entryβ represents adebian/tests/controlstanza.Dpkg::Depsβ parse and manipulate dependencies.Dpkg::Deps::Simpleβ represents a single dependency statement.Dpkg::Deps::Multipleβ base module to represent multiple dependencies.Dpkg::Deps::Unionβ list of unrelated dependencies.Dpkg::Deps::ANDβ list of AND dependencies.Dpkg::Deps::ORβ list of OR dependencies.Dpkg::Deps::KnownFactsβ list of installed and virtual packages.Dpkg::Exitβ push, pop and run exit handlers.Dpkg::Gettextβ wrapper aroundLocale::gettext.Dpkg::IPCβ spawn sub-processes and feed/retrieve data.Dpkg::Indexβ collections ofDpkg::Control(Packages/Sourcesfiles for example).Dpkg::Interface::Storableβ base object serializer.Dpkg::Pathβ common path handling functions.Dpkg::Source::Formatβ parse and manipulatedebian/source/formatfiles.Dpkg::Source::Packageβ extract Debian source packages.Dpkg::Substvarsβ substitute variables in strings.Dpkg::Vendorβ identify current distribution vendor.Dpkg::Versionβ parse and manipulate Debian package versions.
ate. every single one of them. π₯
π CHANGES π
the lore. the timeline. let's go. β
Version 2.00 (dpkg 1.20.0)
- removed variables:
$version,$progname,$admindir,$dpkglibdirand$pkgdatadir. gone. not coming back. π
Version 1.03 (dpkg 1.18.24)
- new variable:
$PROGPATCH.
Version 1.02 (dpkg 1.18.11)
- new variable:
$PROGTAR,$PROGMAKE.
Version 1.01 (dpkg 1.17.0)
- new variables:
$PROGNAME,$PROGVERSION,$CONFDIR,$ADMINDIR,$LIBDIRand$DATADIR. - deprecated variables:
$version,$admindir,$dpkglibdirand$pkgdatadir.
lowkey foreshadowing, bestie β see Version 2.00 above for how that deprecation arc ended. π
Version 1.00 (dpkg 1.15.6)
- marked the module as public. the debut. the glow-up. π
π LICENSE π
okay so licensing here isn't one-size-fits-all β you gotta see the header comment on each module for their particular license. check before you copy, fr fr. π«Ά
and that's the whole page! π§ this little gem comes from the libdpkg-perl world, version 1.23.11-dirty, dated 2026-09-09 β mwah, slay, bye bestie! πβ¨
π¦ where this page comes from
- arch rolling: dpkg 1.23.11-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms