dwww Home | Manual pages | Find package

Dpkg::Control::FieldsCore(3perl)  libdpkg-perl Dpkg::Control::FieldsCore(3perl)

NAME
       Dpkg::Control::FieldsCore - manage (list of official) control fields

DESCRIPTION
       The modules 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.

FUNCTIONS
       $f = 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).

       $bool = field_is_official($fname)
           Returns true if the field is official and known.

       $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 to  CTRL_DSC),  "B"  (Binary:
           corresponds   to   CTRL_DEB)   or   "C"   (Changes:  corresponds  to
           CTRL_FILE_CHANGES).

           Returns undef if nothing has been copied or  the  name  of  the  new
           field added to $to otherwise.

       @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.

       ($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_illegal()  and
           Dpkg::Version::version_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.

       $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.

       $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".

       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
   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.

   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.

1.22.21                            2025-06-30  Dpkg::Control::FieldsCore(3perl)

Generated by dwww version 1.16 on Tue Dec 16 07:10:34 CET 2025.