Provided by: libdebian-source-perl_0.122_all bug

NAME

       Debian::Control::Stanza - single stanza of Debian source package control file

SYNOPSIS

           package Binary;
           use base 'Debian::Control::Stanza';
           use constant fields => qw( Package Depends Conflicts );

           1;

DESCRIPTION

       Debian::Control::Stanza is the base class for Debian::Control::Stanza::Source and
       Debian::Control::Stanza::Binary classes.

FIELDS

       Stanza fields are to be defined in the class method fields. Typically this can be done
       like:

           use constant fields => qw( Foo Bar Baz );

       Fields that are to contain dependency lists (as per "is_dependency_list" method below) are
       automatically converted to instances of the Debian::Dependencies class.

   User-defined fields
       User-defined fields are supported. These start with "X", optionally followed by "S", "B"
       or "C", then "_", capital letter and other letters and digits.

       Examples: "X_Moon_Phase", "XS_Hemisphere".

       See <https://www.debian.org/doc/debian-policy/#user-defined-fields>.

CONSTRUCTOR

       new
       new( { field => value, ... } )
           Creates a new Debian::Control::Stanza object and optionally initializes it with the
           supplied data. The object is hashref based and tied to Tie::IxHash.

           You may use dashes for initial field names, but these will be converted to
           underscores:

               my $s = Debian::Control::Stanza::Source( {Build-Depends => "perl"} );
               print $s->Build_Depends;

METHODS

       is_dependency_list($field)
           Returns true if $field contains a list of dependencies. By default returns true for
           the following fields:

           Build_Depends
           Build_Depends_Indep
           Build_Depends_Arch
           Build_Conflicts
           Build_Conflicts_Indep
           Build_Conflicts_Arch
           Depends
           Conflicts
           Enhances
           Replaces
           Breaks
           Pre_Depends
           Recommends
           Suggests
       is_comma_separated($field)
           Returns true if the given field is to contain a comma-separated list of values.  This
           is used in stringification, when considering where to wrap long lines.

           By default the following fields are flagged to contain such lists:

           All fields that contain dependencies (see above)
           Uploaders
           Provides
       looks_like_an_x_field($field)
           Returns true if $field is considered appropriate to name a user-defined field.

       get($field)
           Overrides the default get method from Class::Accessor with Tie::IxHash's FETCH.

       set( $field, $value )
           Overrides the default set method from Class::Accessor with Tie::IxHash's STORE. In the
           process, converts $value to an instance of the Debian::Dependencies class if $field is
           to contain dependency list (as determined by the "is_dependency_list" method).

       as_string([$width])
           Returns a string representation of the object. Ready to be printed into a real
           debian/control file. Used as a stringification operator.

           Fields that are comma-separated use one line per item, except if they are like
           "${some:Field}", in which case they are wrapped at $widthth column.  $width defaults
           to 80.

COPYRIGHT & LICENSE

       Copyright (C) 2009, 2017 Damyan Ivanov dmn@debian.org

       Copyright (C) 2020 gregor herrmann gregoa@debian.org

       This program is free software; you can redistribute it and/or modify it under the terms of
       the GNU General Public License version 2 as published by the Free Software Foundation.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
       without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.