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

NAME

       Debian::Control - manage Debian source package control files

SYNOPSIS

           my $c = Debian::Control->new();         # construct a new
           $c->read($file);                        # parse debian/control file
           $c->write($file);                       # write to file
           print $c->source->Source;
           print $c->source->Build_Depends;        # Debian::Dependencies object
           $c->binary->{'libfoo-perl'}->Description(
               "Foo Perl module\n" .
               " Foo makes this and that"
           );

DESCRIPTION

       Debian::Control can be used for representation and manipulation of Debian source package
       control files in an object-oriented way. It provides easy reading and writing of the
       debian/control file found in Debian source packages.

FIELDS

       source
           An instance of Debian::Control::Stanza::Source class. Contains the source stanza of
           the Debian source package control file.

       binary
           A hash reference with keys being binary package names and values instances of
           Debian::Control::Stanza::Binary class.  Contains the information of the binary package
           stanzas of Debian source package control file.

       binary_tie
           A Tie::IxHash object tied to the binary hash.

CONSTRUCTOR

       new Constructs a new Debian::Control instance.

           The "source" field is initialized with an empty instance of
           Debian::Control::Stanza::Source and "binary" field is initialized with an empty
           instance of Tie::IxHash.

METHODS

       read file
           Parse "control" in debian and populate "source" and "binary" accessors.

           file can be either a file name, an opened file handle or a string scalar reference.

       write file
           Writes a debian/control-like file in file with the contents defined in the "source"
           and "binary" fields.

           file can be either a file name, an opened file handle or a string scalar reference.

           All dependency lists are sorted before writing.

       is_arch_dep
           Returns true if the package is architecture-dependent. This is determined by the
           "Architecture" field of the first binary package. If it equals to "all", then the
           package is architecture-independent; otherwise it is architecture-dependent.

           Returns undef if it is not possible to determine whether the package is architecture-
           dependent or not. This is the case when there are no binary package stanzas present or
           the first has no "Archiitecture" field.

SEE ALSO

       Debian::Control::Stanza::Source, Debian::Control::Stanza::Binary,
       Debian::Control::FromCPAN

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.