Debian::Control::Stanza.3pm

Langue: en

Autres versions - même langue

Version: 2010-05-21 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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

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

If non-zero $width is given, the text is wrapped at that position. If no $width is given the text is wrapped at position 80. To disable wrapping, supply a value of 0.

Copyright (C) 2009 Damyan Ivanov dmn@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.