Provided by: libapt-pkg-perl_0.1.33build1_amd64 bug

NAME

       AptPkg::Source - APT source package interface

SYNOPSIS

       use AptPkg::Source;

DESCRIPTION

       The AptPkg::Source module provides an interface to APT's source package lists.

   AptPkg::Source
       The AptPkg::Source package implements the APT pkgSrcRecords class as a hash reference
       (inherits from AptPkg::hash).  The hash is keyed on source or binary package name and the
       value is an array reference of the details of matching source packages.

       Note that there is no iterator class, so it is not possible to get a list of all keys
       (with keys or each).

       Constructor

       new([SOURCELIST])
           Instantiation of the object uses configuration from the $AptPkg::Config::_config
           object (automatically initialised if not done explicitly).

           If no SOURCELIST is specified, then the value of Dir::Etc::sourcelist from the
           configuration object is used (generally /etc/apt/sources.list).

       Methods

       find(PACK, [SRCONLY])
           In a list context, return a list of source package details for the given PACK, which
           may either be a source package name, or the name of one of the binaries provided
           (unless SRCONLY is provided and true).

           In a scalar context, the source package name of the first entry is returned.

       get, exists
           These methods are used to implement the hashref abstraction: $obj->get($pack) and
           $obj->{$pack} are equivalent.

           The get method has the same semantics as find, but returns an array reference in a
           scalar context.

       The list returned by the find (and get) methods consists of hashes which describe each
       available source package (in order of discovery from the deb-src files described in
       sources.list).

       Each hash contains the following entries:

       Package
       Version
       Maintainer
       Section
           Strings giving the source package name, version, maintainer and section.

       AsStr
           The full source record as a string in Debian control file syntax
           <https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-controlsyntax>,
           which is an RFC822-like set of key-value pairs with the values potentially wrapped.
           It is relatively trivial to parse:

             my %fields = map { split /:\s+/ } split /\n(?! )/, $as_str;

       Binaries
           A list of binary package names from the package.

       BuildDepends
           A hash describing the build dependencies of the package.  Possible keys are:

               "Build-Depends", "Build-Depends-Indep", "Build-Conflicts",
               "Build-Conflicts-Indep".

           The values are a list of dependencies/conflicts with each item being a list containing
           the package name followed optionally by an operator and version number.

           Operator values evaluate to a comparison string* (>, >=, etc) or one of the
           AptPkg::Dep:: constants in a numeric context (see "pkgCache::Dep::DepCompareOp" in
           AptPkg(3pm)).

           *Note that this is a normalised, rather than Debian-style (>> vs >) string.

       Files
           A list of files making up the source package, each described by a hash containing the
           keys:

               "Checksum-FileSize", "MD5Hash", "SHA256", "Size", "ArchiveURI", "Type".

SEE ALSO

       AptPkg::Config(3pm), AptPkg::Cache(3pm), AptPkg(3pm), AptPkg::hash(3pm).

AUTHOR

       Brendan O'Dea <bod@debian.org>