File: AptPkg.pm

package info (click to toggle)
libapt-pkg-perl 0.1.34
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 308 kB
  • sloc: perl: 1,258; ansic: 201; makefile: 41
file content (279 lines) | stat: -rw-r--r-- 7,019 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
package AptPkg;

require 5.005_62;
use strict;
use warnings;

require DynaLoader;

our @ISA = qw(DynaLoader);
our $VERSION = 1.18;

bootstrap AptPkg $VERSION;

1;

__END__

=head1 NAME

AptPkg - interface to libapt-pkg

=head1 SYNOPSIS

use AptPkg;

=head1 DESCRIPTION

The AptPkg module provides a low-level XS interface to libapt-pkg.

Note that this interface is intended to be internal, and may change,
see the AptPkg::Config, AptPkg::System, AptPkg::Version, AptPkg::Cache,
Apt::Policy and AptPkg::Source classes for a higher level interface.

=head2 AptPkg

The AptPkg package provides the following functions:

=over 4

=item _init_config(I<CONF>)

Initialise a Configuration object (pkgInitConfig).  See the init
method in AptPkg::Config.

=item _init_system(I<CONF>)

Return a pointer to the system object (pkgInitSystem).  See the system
method in AptPkg::Config.

=item _parse_cmdline(I<CONF>, I<ARG_DEFS>, ...)

Constructs a CommandLine instance, invokes the Parse method and
returns the remaining arguments.  See the parse_cmdline method in
AptPkg::Config.

=back

=head2 AptPkg::_config

The AptPkg::_config package wraps a Perl class around the
Configuration class.  It provides an instance of the global _config
object, and exposes the following methods:

    Find, FindFile, FindDir, FindB, FindAny, Set, Exists,
    ExistsAny, Tree and Dump.

The functions ReadConfigFile and ReadConfigDir are also provided
within the package and may be used as methods.

=head2 AptPkg::_config::item

The AptPkg::_config::item package wraps a Perl class around the
Configuration::Item class.  The AptPkg::_config Tree method returns an
instance of this class.

Methods:

    Value, Tag, FullTag, Parent, Child and Next.

=head2 AptPkg::System

The AptPkg::System package wraps a Perl class around the pkgSystem
class.  It provides an instance of the global _system object, and
exposes the following methods:

    Label, VS, Lock and UnLock.

=head2 AptPkg::Version

The AptPkg::Version package wraps a Perl class around the
pkgVersioningSystem class.  It exposes the following methods:

    Label, CmpVersion, CmpReleaseVer, CheckDep and UpstreamVersion.

=head2 AptPkg::_cache

The AptPkg::_cache package wraps a Perl class around the pkgCacheFile
class.  It exposes the following methods:

    Open, Close, FindPkg, PkgBegin, FileList, Packages, Policy, MultiArchCache
    and NativeArch.

=head2 AptPkg::Cache::_package

The AptPkg::Cache::_package package wraps a Perl class around the
pkgCache::PkgIterator class.  It exposes the following methods:

    Next, Name, FullName, Arch, Section, VersionList, CurrentVer,
    RevDependsList, ProvidesList, Index, SelectedState, InstState,
    CurrentState and Flags.

=head2 AptPkg::Cache::_version

The AptPkg::Cache::_version package wraps a Perl class around the
pkgCache::VerIterator class.  It exposes the following methods:

    VerStr, Section, MultiArch, Arch, ParentPkg, DescriptionList,
    TranslatedDescription, DependsList, ProvidesList, FileList, Index
    and Priority.

=head2 AptPkg::Cache::_depends

The AptPkg::Cache::_depends package wraps a Perl class around the
pkgCache::DepIterator class.  It exposes the following methods:

    TargetVer, TargetPkg, ParentVer, ParentPkg, Index, CompType and
    DepType.

=head2 AptPkg::Cache::_provides

The AptPkg::Cache::_provides package wraps a Perl class around the
pkgCache::PrvIterator class.  It exposes the following methods:

    Name, ProvideVersion, OwnerVer, OwnerPkg and Index.

=head2 AptPkg::Cache::_description

The AptPkg::Cache::_description package wraps a Perl class around the
pkgCache::DescIterator class.  It exposes the following methods:

    LanguageCode, md5 and FileList.

=head2 AptPkg::Cache::_pkg_file

The AptPkg::Cache::_pkg_file package wraps a Perl class around the
pkgCache::PkgFileIterator class.  It exposes the following methods:

    FileName, Archive, Component, Version, Origin, Label, Site,
    IndexType and Index.

=head2 AptPkg::Cache::_ver_file

The AptPkg::Cache::_ver_file package wraps a Perl class around the
pkgCache::VerFileIterator class.  It exposes the following methods:

    File, Index, Offset and Size.

=head2 AptPkg::Cache::_desc_file

The AptPkg::Cache::_desc_file package wraps a Perl class around the
pkgCache::DescFileIterator class.  It exposes the following methods:

    File

=head2 AptPkg::Cache::_pkg_records

The AptPkg::Cache::_pkg_records package wraps a Perl class around the
pkgRecords class.  It exposes the following methods:

    Lookup.

=head2 AptPkg::_policy

The AptPkg::_policy package wraps a Perl class around the pkgPolicy
class.  It exposes the following methods:

    GetPriority, GetMatch and GetCandidateVer.

=head2 AptPkg::_source_list

The AptPkg::_source_list package wraps a Perl class around
the pkgSourceList class.  Required as an argument to the
AptPkg::_src_records constructor.

=head2 AptPkg::_src_records

The AptPkg::_src_records package wraps a Perl class around
the pkgSrcRecords class.  It exposes the following methods:

    Restart, Find.

=head2 Constants

The following B<APT> enumerations are included, used by attributes of
AptPkg::Cache.

=head3 pkgCache::Version::VerMultiArch

C<AptPkg::Version::No>,
C<AptPkg::Version::All>,
C<AptPkg::Version::Foreign>,
C<AptPkg::Version::Same>,
C<AptPkg::Version::Allowed>,
C<AptPkg::Version::AllForeign> and
C<AptPkg::Version::AllAllowed>.

=head3 pkgCache::Dep::DepType

C<AptPkg::Dep::Depends>,
C<AptPkg::Dep::PreDepends>,
C<AptPkg::Dep::Suggests>,
C<AptPkg::Dep::Recommends>,
C<AptPkg::Dep::Conflicts>,
C<AptPkg::Dep::Replaces>,
C<AptPkg::Dep::Obsoletes>
C<AptPkg::Dep::DpkgBreaks> and
C<AptPkg::Dep::Enhances>.

=head3 pkgCache::Dep::DepCompareOp

C<AptPkg::Dep::Or>,
C<AptPkg::Dep::NoOp>,
C<AptPkg::Dep::LessEq>,
C<AptPkg::Dep::GreaterEq>,
C<AptPkg::Dep::Less>,
C<AptPkg::Dep::Greater>,
C<AptPkg::Dep::Equals> and
C<AptPkg::Dep::NotEquals>.

=head3 pkgCache::State::VerPriority

C<AptPkg::State::Important>,
C<AptPkg::State::Required>,
C<AptPkg::State::Standard>,
C<AptPkg::State::Optional> and
C<AptPkg::State::Extra>.

=head3 pkgCache::State::PkgSelectedState

C<AptPkg::State::Unknown>,
C<AptPkg::State::Install>,
C<AptPkg::State::Hold>,
C<AptPkg::State::DeInstall> and
C<AptPkg::State::Purge>.

=head3 pkgCache::State::PkgInstState

C<AptPkg::State::Ok>,
C<AptPkg::State::ReInstReq>,
C<AptPkg::State::HoldInst> and
C<AptPkg::State::HoldReInstReq>.

=head3 pkgCache::State::PkgCurrentState

C<AptPkg::State::NotInstalled>,
C<AptPkg::State::UnPacked>,
C<AptPkg::State::HalfConfigured>,
C<AptPkg::State::HalfInstalled>,
C<AptPkg::State::ConfigFiles>,
C<AptPkg::State::Installed>,
C<AptPkg::State::TriggersAwaited> and
C<AptPkg::State::TriggersPending>.

=head3 pkgCache::Flag::PkgFlags

C<AptPkg::Flag::Auto>,
C<AptPkg::Flag::Essential> and
C<AptPkg::Flag::Important>.

=head1 SEE ALSO

AptPkg::Config(3pm), AptPkg::System(3pm), AptPkg::Version(3pm),
AptPkg::Cache(3pm), AptPkg::Source(3pm).

=head1 AUTHOR

Brendan O'Dea <bod@debian.org>

=cut