dwww Home | Manual pages | Find package

AptPkg::Source(3pm)   User Contributed Perl Documentation   AptPkg::Source(3pm)

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>

perl v5.40.1                       2025-04-14               AptPkg::Source(3pm)

Generated by dwww version 1.16 on Tue Dec 16 05:21:52 CET 2025.