summaryrefslogtreecommitdiff
path: root/scripts/Dpkg.pm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Dpkg.pm')
-rw-r--r--scripts/Dpkg.pm192
1 files changed, 175 insertions, 17 deletions
diff --git a/scripts/Dpkg.pm b/scripts/Dpkg.pm
index 0d171c080..9d06b4145 100644
--- a/scripts/Dpkg.pm
+++ b/scripts/Dpkg.pm
@@ -24,12 +24,14 @@ Dpkg - module with core variables
The Dpkg module provides a set of variables with information concerning
this system installation.
+It is also the entry point to the Dpkg module hierarchy.
+
=cut
use strict;
use warnings;
-our $VERSION = '1.03';
+our $VERSION = '2.00';
our @EXPORT_OK = qw(
$PROGNAME
$PROGVERSION
@@ -41,13 +43,6 @@ our @EXPORT_OK = qw(
$LIBDIR
$DATADIR
);
-our @EXPORT = qw(
- $version
- $progname
- $admindir
- $dpkglibdir
- $pkgdatadir
-);
use Exporter qw(import);
@@ -99,7 +94,7 @@ Contains the path to the dpkg architecture tables directory.
our ($PROGNAME) = $0 =~ m{(?:.*/)?([^/]*)};
# The following lines are automatically fixed at install time
-our $PROGVERSION = '1.19.x';
+our $PROGVERSION = '1.20.x';
our $PROGMAKE = $ENV{DPKG_PROGMAKE} // 'make';
our $PROGTAR = $ENV{DPKG_PROGTAR} // 'tar';
our $PROGPATCH = $ENV{DPKG_PROGPATCH} // 'patch';
@@ -107,20 +102,183 @@ our $PROGPATCH = $ENV{DPKG_PROGPATCH} // 'patch';
our $CONFDIR = '/etc/dpkg';
our $ADMINDIR = '/var/lib/dpkg';
our $LIBDIR = '.';
-our $DATADIR = '..';
+our $DATADIR = '../data';
$DATADIR = $ENV{DPKG_DATADIR} if defined $ENV{DPKG_DATADIR};
-# XXX: Backwards compatibility, to be removed on VERSION 2.00.
-## no critic (Variables::ProhibitPackageVars)
-our $version = $PROGVERSION;
-our $admindir = $ADMINDIR;
-our $dpkglibdir = $LIBDIR;
-our $pkgdatadir = $DATADIR;
-## use critic
+=head1 MODULES
+
+The following is the list of public modules within the Dpkg hierarchy. Only
+modules with versions 1.00 or higher, and only the interfaces documented in
+their POD are considered public.
+
+=over
+
+=item L<Dpkg>
+
+This module, core variables.
+
+=item L<Dpkg::Arch>
+
+Architecture handling functions.
+
+=item L<Dpkg::Build::Info>
+
+Build information functions.
+
+=item L<Dpkg::BuildFlags>
+
+Set, modify and query compilation build flags.
+
+=item L<Dpkg::BuildOptions>
+
+Parse and manipulate B<DEB_BUILD_OPTIONS>.
+
+=item L<Dpkg::BuildProfiles>
+
+Parse and manipulate build profiles.
+
+=item L<Dpkg::Changelog>
+
+Parse changelogs.
+
+=item L<Dpkg::Changelog::Entry>
+
+Represents a changelog entry.
+
+=item L<Dpkg::Changelog::Parse>
+
+Generic changelog parser for F<dpkg-parsechangelog>.
+
+=item L<Dpkg::Checksums>
+
+Generate and parse checksums.
+
+=item L<Dpkg::Compression>
+
+Simple database of available compression methods.
+
+=item L<Dpkg::Compression::FileHandle>
+
+Transparently compress and decompress files.
+
+=item L<Dpkg::Compression::Process>
+
+Wrapper around compression tools.
+
+=item L<Dpkg::Conf>
+
+Parse F<dpkg> configuration files.
+
+=item L<Dpkg::Control>
+
+Parse and manipulate Debian control information (F<.dsc>, F<.changes>,
+F<Packages>/F<Sources> entries, etc.).
+
+=item L<Dpkg::Control::Changelog>
+
+Represent fields output by F<dpkg-parsechangelog>.
+
+=item L<Dpkg::Control::Fields>
+
+Manage (list of known) control fields.
+
+=item L<Dpkg::Control::Hash>
+
+Parse and manipulate a block of RFC822-like fields.
+
+=item L<Dpkg::Control::Info>
+
+Parse files like F<debian/control>.
+
+=item L<Dpkg::Control::Tests>
+
+Parse files like F<debian/tests/control>.
+
+=item L<Dpkg::Control::Tests::Entry>
+
+Represents a F<debian/tests/control> stanza.
+
+=item L<Dpkg::Deps>
+
+Parse and manipulate dependencies.
+
+=item L<Dpkg::Deps::Simple>
+
+Represents a single dependency statement.
+
+=item L<Dpkg::Deps::Multiple>
+
+Base module to represent multiple dependencies.
+
+=item L<Dpkg::Deps::Union>
+
+List of unrelated dependencies.
+
+=item L<Dpkg::Deps::AND>
+
+List of AND dependencies.
+
+=item L<Dpkg::Deps::OR>
+
+List of OR dependencies.
+
+=item L<Dpkg::Deps::KnownFacts>
+
+List of installed and virtual packages.
+
+=item L<Dpkg::Exit>
+
+Push, pop and run exit handlers.
+
+=item L<Dpkg::Gettext>
+
+Wrapper around L<Locale::gettext>.
+
+=item L<Dpkg::IPC>
+
+Spawn sub-processes and feed/retrieve data.
+
+=item L<Dpkg::Index>
+
+Collections of L<Dpkg::Control> (F<Packages>/F<Sources> files for example).
+
+=item L<Dpkg::Interface::Storable>
+
+Base object serializer.
+
+=item L<Dpkg::Path>
+
+Common path handling functions.
+
+=item L<Dpkg::Source::Format>
+
+Parse and manipulate debian/source/format files.
+
+=item L<Dpkg::Source::Package>
+
+Extract Debian source packages.
+
+=item L<Dpkg::Substvars>
+
+Substitute variables in strings.
+
+=item L<Dpkg::Vendor>
+
+Identify current distribution vendor.
+
+=item L<Dpkg::Version>
+
+Parse and manipulate Debian package versions.
+
+=back
=head1 CHANGES
+=head2 Version 2.00 (dpkg 1.20.0)
+
+Remove variables: $version, $progname, $admindir, $dpkglibdir and $pkgdatadir.
+
=head2 Version 1.03 (dpkg 1.18.24)
New variable: $PROGPATCH.