Provided by: libdebian-source-perl_0.122_all
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.