Dpkg::Control::FieldsCore(3perl)
π NAME π
okay bestie, meet Dpkg::Control::FieldsCore from libdpkg-perl β the manual page for a module that helps you manage (list of official) control fields. yes, that is the whole name-section vibe. π
πΈ DESCRIPTION πΈ
This module contains a list of field names with associated meta-data explaining in which type of control information they are allowed. The types are the CTRL_* constants exported by Dpkg::Control. it's giving tiny field-name database with rules, and honestly? iconic. π
β¨ FUNCTIONS β¨
here's the whole function menu, no cap β every signature stays exactly as it is. π«Ά
$field = field_capitalize($field_name)
Returns the field name properly capitalized. All characters are lowercase, except the first of each word (words are separated by a hyphen in field names). so it's a lowercase-everything-except-the-first-letter-of-each-hyphen-split-word situation. β¨
$bool = field_is_official($fname)
Returns true if the field is official and known. that's the vibe check, bestie. β
$bool = field_is_allowed_in($fname, @types)
Returns true (1) if the field $fname is allowed in all the types listed in the list. Note that you can use type sets instead of individual types (ex: CTRL_FILE_CHANGES | CTRL_CHANGELOG).
field_allowed_in(A|B, C) returns true only if the field is allowed in C and either A or B.
undef is returned for non-official fields. π«Ά
$new_field = field_transfer_single($from, $to, $field)
If appropriate, copy the value of the field named $field taken from the $from Dpkg::Control object to the $to Dpkg::Control object.
Official fields are copied only if the field is allowed in both types of objects. Custom fields are treated in a specific manner. When the target is not among CTRL_DSC, CTRL_DEB or CTRL_FILE_CHANGES, then they are always copied as is (the X- prefix is kept). Otherwise they are not copied except if the target object matches the target destination encoded in the field name. The initial X denoting custom fields can be followed by one or more letters among:
"S"(Source: corresponds toCTRL_DSC)"B"(Binary: corresponds toCTRL_DEB)"C"(Changes: corresponds toCTRL_FILE_CHANGES)
Returns undef if nothing has been copied or the name of the new field added to $to otherwise. so if it doesn't move, you get undef; if it does, you get the new field name.
@field_list = field_transfer_all($from, $to)
Transfer all appropriate fields from $from to $to. Calls field_transfer_single() on all fields available in $from.
Returns the list of fields that have been added to $to. π
@field_list = field_ordered_list($type)
Returns an ordered list of fields for a given type of control information. This list can be used to output the fields in a predictable order. The list might be empty for types where the order does not matter much. empty list = order is literally not the moment, iykyk.
$email = field_parse_maintainer($ctrl)
Parses the "Maintainer" field from the Dpkg::Control $ctrl object, and returns a Dpkg::Email::Address object. π
$email_list = field_parse_uploaders($ctrl)
Parses the "Uploaders" field from the Dpkg::Control $ctrl object, and returns a Dpkg::Email::AddressList object, containing the list of Dpkg::Email::Address for each uploader. one address object per uploader, slay.
($source, $version) = field_parse_binary_source($ctrl)
Parse the Source field in a binary package control stanza. The field contains the source package name where it was built from, and optionally a space and the source version enclosed in parenthesis if it is different from the binary version.
Returns a list with the $source name, and the source $version, or undef or an empty list when $ctrl does not contain a binary package control stanza. Neither $source nor $version are validated, but that can be done with Dpkg::Package::pkg_name_is_invalid() and Dpkg::Version::version_check(). no validation here, bestie β that's a separate vibe check.
@field_list = field_list_src_dep()
List of fields that contains dependencies-like information in a source Debian package. π§
@field_list = field_list_pkg_dep()
List of fields that contains dependencies-like information in a binary Debian package. The fields that express real dependencies are sorted from the stronger to the weaker. stronger β weaker, no cap.
$dep_type = field_get_dep_type($field)
Return the type of the dependency expressed by the given field. Can either be "normal" for a real dependency field (Pre-Depends, Depends, ...) or "union" for other relation fields sharing the same syntax (Conflicts, Breaks, ...). Returns undef for fields which are not dependencies. π
$sep_type = field_get_sep_type($field)
Return the type of the field value separator. Can be one of FIELD_SEP_UNKNOWN, FIELD_SEP_SPACE, FIELD_SEP_COMMA or FIELD_SEP_LINE. those four are the whole separator squad.
$value = field_get_default_value($field)
Return the default value (if any) for the field. If there is no default value then it returns "undef". so "undef" is your no-default-value era.
field_register($field, $allowed_types, %opts)
Register a new field as being allowed in control information of specified types. %opts is optional. π¦
$bool = field_insert_after($type, $ref, @fields)
Place field after another one ($ref) in output of control information of type $type.
Return true if the field was inserted, otherwise false. β
$bool = field_insert_before($type, $ref, @fields)
Place field before another one ($ref) in output of control information of type $type.
Return true if the field was inserted, otherwise false. β
π¦ CHANGES π¦
history time, bestie β here's the whole changelog, no skips. π
Version 1.05 (dpkg 1.23.4)
New functions: field_parse_maintainer(), field_parse_uploaders(). β¨
Version 1.04 (dpkg 1.23.0)
Remove argument: field_transfer_single() implicit argument usage. π
Version 1.03 (dpkg 1.22.12)
New function: field_get_default_value(). π
Version 1.02 (dpkg 1.22.0)
Deprecate argument: field_transfer_single() implicit argument usage. deprecated, so don't come for me.
Version 1.01 (dpkg 1.21.0)
New function: field_parse_binary_source(). π¦
Version 1.00 (dpkg 1.17.0)
Mark the module as public. π
xoxo, your fave manpage bestie π
β this was Dpkg::Control::FieldsCore(3perl), version 1.23.11-dirty, dated 2026-09-09. periodt.
π¦ 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