Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

debian::control::stanza(3pm) [debian man page]

Debian::Control::Stanza(3pm)				User Contributed Perl Documentation			      Debian::Control::Stanza(3pm)

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. 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 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. perl v5.14.2 2012-01-15 Debian::Control::Stanza(3pm)

Check Out this Related Man Page

Debian::Dependencies(3pm)				User Contributed Perl Documentation				 Debian::Dependencies(3pm)

NAME
Debian::Dependencies - a list of Debian::Dependency objects SYNOPSIS
my $dl = Debian::Dependencies->new('perl, libfoo-perl (>= 3.4)'); print $dl->[1]->ver; # 3.4 print $dl->[1]; # libfoo-perl (>= 3.4) print $dl; # perl, libfoo-perl (>= 3.4) $dl += 'libbar-perl'; print $dl; # perl, libfoo-perl (>= 3.4), libbar-perl print Debian::Dependencies->new('perl') + 'libfoo-bar-perl'; # simple 'sum' print Debian::Dependencies->new('perl') + Debian::Dependencies->new('libfoo, libbar'); # add (concatenate) two lists print Debian::Dependencies->new('perl') + Debian::Dependency->new('foo'); # add depeendency to a list DESCRIPTION
Debian::Dependencies a list of Debian::Dependency objects, with automatic construction and stringification. Objects of this class are blessed array references. You can safely treat them as arrayrefs, as long as the elements you put in them are instances of the Debian::Dependency class. When used in string context, Debian::Dependencies converts itself into a comma-delimitted list of dependencies, suitable for dependency fields of debian/control files. CLASS METHODS new(dependency-string) Constructs a new Debian::Dependencies object. Accepts one scalar argument, which is parsed and turned into an arrayref of Debian::Dependency objects. Each dependency should be delimitted by a comma and optional space. The exact regular expression is "/s*,s*/". OBJECT METHODS add( dependency[, ... ] ) Adds dependency (or a list of) to the list of dependencies. If the new dependency is a subset of or overlaps some of the old dependencies, it is not duplicated. my $d = Debian::Dependencies('foo, bar (<=4)'); $d->add('foo (>= 4), bar'); print "$d"; # foo (>= 4), bar (>= 4) dependency can be either a Debian::Dependency object, a Debian::Deendencies object, or a string (in which case it is converted to an instance of the Debian::Dependencies class). remove( dependency, ... ) =item remove( dependencies, ... ) Removes a dependency from the list of dependencies. Instances of Debian::Dependency and Debian::Dependencies classes are supported as arguments. Any non-reference arguments are coerced to instances of Debian::Dependencies class. Only dependencies that are subset of the given dependencies are removed: my $deps = Debian::Dependencies->new('foo (>= 1.2), bar'); $deps->remove('foo, bar (>= 2.0)'); print $deps; # bar Returns the list of the dependencies removed. has( dep ) Return true if the dependency list contains given dependency. In other words, this returns true if the list of dependencies guarantees that the given dependency will be satisfied. For example, "foo, bar" satisfies "foo", but not "foo (>= 5)". prune() This method is deprecated. If you want to sort the dependency list, either call "sort" or use normal perl sorting stuff on the dereferenced array. sort() Sorts the dependency list by packagee name, version and relation. SEE ALSO
Debian::Dependency AUTHOR
Damyan Ivanov <dmn@debian.org> COPYRIGHT &; LICENSE Copyright (C) 2008, 2009, 2010 Damyan Ivanov <dmn@debian.org> Copyright (C) 2009 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. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. perl v5.14.2 2012-01-15 Debian::Dependencies(3pm)
Man Page