Config...s::Dpkg(3pm)
π Config::Model::models::Dpkg π
okay bestie, buckle up π this one's a Perl module manpage β specifically from the User Contributed Perl Documentation collection, section 3pm. It's the whole vibe of Config::Model::models::Dpkg, and yes it's giving "configuration class that runs your entire Debian packaging life" π
πΈ NAME πΈ
Config::Model::models::Dpkg β Configuration class Dpkg. that's it, that's the name, she's simple and she's powerful π
π¦ DESCRIPTION π¦
So these are the configuration classes that Config::Model uses, fr fr. β¨
It's the model of Debian source package files β think debian/control, debian/copyright, and all her little friends. ππ
π Elements π
these are the elements. there are a LOT of them. we're going through every single one, no skimming, no cheating, periodt. π«Ά
π my_config
This element holds a set of parameters that tune how this dpkg editor behaves. Like, you can specify e-mail replacements and stuff? iconic. These parameters live in ~/.dpkg-meta.yml or ~/.local/share/.dpkg-meta.yml. They can be applied to all the Debian packages you maintain on this unix account. π
Optional. Type: node of class Dpkg::Meta.
π§ compat
The compat file defines the debhelper compatibility level. that's it. that's her whole job.
Optional. Type: integer.
π control
Package control file π β this one specifies the most vital (and version-independent) info about the source package and about the binary packages it creates. main character energy, obviously.
Optional. Type: node of class Dpkg::Control.
π₯ rules β package build rules
debian/rules is a makefile containing all instructions required to build a debian package. literally all of them. π€
Optional. Type: string.
default value :
#!/usr/bin/make -f # See debhelper(7) (uncomment to enable) # output
every command that modifies files on the build system. #DH_VERBOSE
= 1
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/default.mk
# see FEATURE AREAS in dpkg-buildflags(1) #export
DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1) # package maintainers to
append CFLAGS #export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic #
package maintainers to append LDFLAGS #export
DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
# main packaging script based on dh7 syntax %: dh $@
πΈ changelog
A dummy changelog entry with a dummy date. π Don't forget to change the version number. Use the dch command to update it. bestie please, do not ship the dummy date, I am begging π
Optional. Type: string.
Note: changelog is computed with
$pkg_name (0.0.0.0-0) UNRELEASED; urgency=medium
* ...
-- $name <$mail> Wed, 18 Jan 2017 18:28:23 +0100
and with:
$mail=>"! my_config email"$name=>"! my_config fullname"$pkg_name=>"! control source Source"
π scan-copyright-patterns
This parameter is used by "cme update dpkg-copyright". That command scans all source files to get copyright and license information. By default, the decision about whether to scan a file or not is left to licensecheck. You can override this behavior using this parameter. π΅οΈβοΈ
See "electing or ignoring files to scan" in Dpkg::Copyright::Scanner for more details.
Optional. Type: node of class Dpkg::Copyright::ScanPatterns.
π fill-copyright-blanks β Provides missing copyright info for cme update
This parameter is used by "cme update dpkg-copyright command".
Sometimes upstream coders are not perfect π (shocking, I know): some source files can't be parsed correctly, or some legal information is just missing. A file with no copyright and no license info gets skipped. But a file missing either copyright or license will still be used β which, unfortunately, prevents a correct grouping and merging of copyright entries. π
Instead of patching upstream source files to fill the blank, you can specify the missing information in a special file. so much cleaner, we love that for us β¨
Optional. Type: node of class Dpkg::Copyright::FillBlanks.
π fix.scanned.copyright
Instructions to alter or set specific copyright entries in the "debian/fix.scanned.copyright" file. Each line of this file follows the syntax described in Config::Model::Loader to modify copyright information.
See "Tweak copyright entries" in Config::Model::Dpkg::Copyright for more details.
Optional. Type: string.
π copyright β copyright and license information
Copyright and license information of all the files contained in this package. every last one. π
Optional. Type: node of class Dpkg::Copyright.
π¦ install
List the files to install into each package, and the directory they should be installed to. π¦
Here's the mapping between the debian install files and the install key:
"."->"debian/install""package"->"debian/package.install""package/arch"->"debian/package.install.arch""package.docs"->"debian/package.docs"
Optional. Type: hash of node of class Dpkg::Install.
β examples
List of example files (or directories) to install into "/usr/share/doc/package/examples". cute, right? π₯Ί
First, use the package name as the key of the hash.
This hash has a "content" element, which is a list of values. Each value contains a line of "debian/<package>.examples".
The syntax of these lines is explained in dh_installexamples(1).
Optional. Type: hash of node of class Dpkg::Install.
π not-installed
List of the files that are deliberately not installed in any binary package. Paths listed in this file are (only) ignored by the check done via --list-missing (or --fail-missing). However, it is not a method to exclude files from being installed. Please use --exclude for that. β οΈ
Please keep in mind that dh_install will not expand wildcards in this file.
Optional. Type: list of uniline.
π§ source
Optional. Type: node of class Dpkg::Source.
π«Ά lintian-overrides
Contains the lintian overrides parameters from all lintian overrides files contained in "debian/*lintian-overrides".
A plain "lintian-overrides" file is contained in the "." element.
Other files are contained in the basename element.
For instance, "debian/foo.lintian-overrides" is contained in the "foo" element.
Likewise, an override for a source package is contained in the "source" element.
For more detail, see the lintian doc at https://lintian.debian.org/manual/index.html#overrides
Unknown lintian tags trigger a warning. π
Optional. Type: hash of string.
β¨ clean β list of files to clean β¨
List of files to remove when dh_clean is run. File names can include wild cards π. For instance:
build.log
Makefile.in
*/Makefile.in
*/*/Makefile.in
Optional. Type: list of uniline.
π bugfiles
Optional. Type: hash of node of class Dpkg::BugFiles.
π package-scripts
Optional. Type: hash of node of class Dpkg::PackageScripts.
π₯ patches β Debian patches applied to original sources
Series of patches applied by Debian. Note that you cannot change the order of patches in the series. Use quilt for this task. Comments in the series file are skipped and not shown in annotation. π
Optional. Type: hash of node of class Dpkg::Patch.
πΈ dirs β Extra directories
This file specifies any directories which we need but which are not created by the normal installation procedure (make install DESTDIR=... invoked by dh_auto_install). This generally means there is a problem with the Makefile. π¬
Files listed in an install file don't need their directories created first.
It is best to try to run the installation first and only use this if you run into trouble. There is no preceding slash on the directory names listed in the dirs file. π
Optional. Type: list of uniline.
π docs
This file specifies the file names of documentation files we can have dh_installdocs(1) install into the temporary directory for us.
By default, it will include all existing files in the top-level source directory that are called BUGS, README*, TODO etc. π
Optional. Type: list of uniline.
π watch
Watch file used by uscan to monitor upstream sources. ποΈ
Optional. Type: string.
π§ tests
Debian CI test suite specification. See README.package-tests.rst at https://salsa.debian.org/ci-team/autopkgtest/blob/master/doc/README.package-tests.rst for more details.
Optional. Type: warped_node of class Dpkg::Tests.
π upstream-metadata β Upstream Metadata Specification
The upstream metadata file is meant to contain machine-readable metadata about the upstream project, its community and processes. π€π
Information in this file should not be specific to Debian, and should be relevant for other distributions as well.
Optional. Type: node of class Dpkg::Upstream::Metadata.
π SEE ALSO π
cmeConfig::Model::models::Dpkg::BugFilesConfig::Model::models::Dpkg::ControlConfig::Model::models::Dpkg::CopyrightConfig::Model::models::Dpkg::Copyright::FillBlanksConfig::Model::models::Dpkg::Copyright::ScanPatternsConfig::Model::models::Dpkg::InstallConfig::Model::models::Dpkg::MetaConfig::Model::models::Dpkg::PackageScriptsConfig::Model::models::Dpkg::PatchConfig::Model::models::Dpkg::SourceConfig::Model::models::Dpkg::TestsConfig::Model::models::Dpkg::Upstream::Metadata
π AUTHOR π
Dominique Dumont π
π COPYRIGHT π
2010-2015 Dominique Dumont
π¦ LICENSE π¦
LGPL2
and that's the whole page bestie, we ate and left no crumbs π β¨ this gorgeous thing came to you via perl v5.42.3, dated 2026-08-30 β slay, go build some packages, ily π«Άπ
π¦ where this page comes from
- ubuntu stonking: libconfig-model-dpkg-perl 3.026 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms