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"

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.

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.

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 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 πŸ”

  • cme
  • Config::Model::models::Dpkg::BugFiles
  • Config::Model::models::Dpkg::Control
  • Config::Model::models::Dpkg::Copyright
  • Config::Model::models::Dpkg::Copyright::FillBlanks
  • Config::Model::models::Dpkg::Copyright::ScanPatterns
  • Config::Model::models::Dpkg::Install
  • Config::Model::models::Dpkg::Meta
  • Config::Model::models::Dpkg::PackageScripts
  • Config::Model::models::Dpkg::Patch
  • Config::Model::models::Dpkg::Source
  • Config::Model::models::Dpkg::Tests
  • Config::Model::models::Dpkg::Upstream::Metadata

πŸ’– AUTHOR πŸ’–

Dominique Dumont πŸ‘‘


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