debian::control::stanza::source(3pm) [debian man page]
Debian::Control::Stanza::Source(3pm) User Contributed Perl Documentation Debian::Control::Stanza::Source(3pm)NAME
Debian::Control::Stanza::Source - source stanza of Debian source package control file
SYNOPSIS
my $src = Debian::Control::Stanza::Source->new(\%data);
print $src; # auto-stringification
print $src->Build_Depends; # Debian::Dependencies object
DESCRIPTION
Debian::Control::Stanza::Source can be used for representation and manipulation of "Source:" stanza of Debian source package control files
in an object-oriented way. Converts itself to a textual representation in string context.
FIELDS
The supported fields for source stanzas are listed below. For more information about each field's meaning, consult the section named
"Source package control files -- debian/control" of the Debian Policy Manual at http://www.debian.org/doc/debian-policy/
<http://www.debian.org/doc/debian-policy/>
Note that real control fields may contain dashes in their names. These are replaced with underscores.
Source
Section
Priority
Maintainer
Uploaders
DM_Upload_Allowed
Build_Conflicts
Build_Conflicts_Indep
Build_Depends
Build_Depends_Indep
Standards_Version
Vcs_Browser
Vcs_Bzr
Vcs_CVS
Vcs_Git
Vcs_Svn
Homepage
XS_Autobuild
All Build_... fields are converted into objects of Debian::Dependencies class upon construction.
CONSTRUCTOR
new
new( { field => value, ... } )
Creates a new Debian::Control::Stanza::Source object and optionally initializes it with the supplied data.
SEE ALSO
Debian::Control::Stanza::Source inherits most of its functionality from Debian::Control::Stanza
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::Source(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)