Lintian::Processable (3)
Leading comments
Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) Standard preamble: ========================================================================
NAME
Lintian::Processable -- An (abstract) object that Lintian can processSYNOPSIS
use Lintian::Processable::Package; # Instantiate via Lintian::Processable::Package my $proc = Lintian::Processable::Package->new ('lintian_2.5.0_all.deb'); my $pkg_name = $proc->pkg_name; my $pkg_version = $proc->pkg_version; # etc.
DESCRIPTION
Instances of this perl class are objects that Lintian can process (e.g. deb files). Multiple objects can then be combined into groups, which Lintian will process together.CLASS METHODS
- new_from_metadata (TYPE,PARAGRAPH[,BASEPATH])
-
Returns a Lintian::Processable from a PARAGRAPHin a Sources or a Packages file with the following exception.
If the
PARAGRAPHhas a field named ``pkg_path'', then that is used instead of creating the path fromBASEPATHpath concatenated with theTYPEspecific field(s). HenchBASEPATHis optional if and only if, the paragraph has a field called ``pkg_path''.The
TYPEparameter determines the type of the processable and is required.NB:Optional fields (e.g. ``Source'' for binaries) may be omitted inPARAGRAPHas usual. In this case, the respective values are computed from the required fields according to the Policy Manual.
INSTANCE METHODS
- $proc->pkg_name
- Returns the package name.
- $proc->pkg_version
- Returns the version of the package.
- $proc->pkg_path
-
Returns the path to the packaged version of actual package. This path
is used in case the data needs to be extracted from the package.
Note: This may return the path to a symlink to the package.
- $proc->pkg_type
- Returns the type of package (e.g. binary, source, udeb ...)
- $proc->pkg_arch
- Returns the architecture(s) of the package. May return multiple values from changes processables. For source processables it is ``source''.
- $proc->pkg_src
- Returns the name of the source package.
- $proc->pkg_src_version
- Returns the version of the source package.
- $proc->tainted
- Returns a truth value if one or more fields in this Processable is tainted. On a best effort basis tainted fields will be sanitized to less dangerous (but possibly invalid) values.
- $proc->identifier
- Produces an identifier for this processable. The identifier is based on the type, name, version and architecture of the package.
- $proc->group([$group])
-
Returns the group $proc is in,
if any. If the processable is not in a group, this returns "undef".
Can also be used to set the group of this processable.
- $proc->info
-
Returns $info element for this processable.
Note: This method must be implemented by sub-classes unless they provide an ``info'' field.
- $proc->clear_cache
-
Discard the info element, so the memory used by it can be reclaimed.
Mostly useful when checking a lot of packages (e.g. on lintian.d.o).
Note: By default this does nothing, but it may (and should) be overridden by sub-classes.
- $proc->get_field ($field[, $def])
-
Optional method to access a field in the underlying data set.
Returns $def if the field is not present or the implementation does not have (or want to expose) it. This method is not guaranteed to return the same value as ``$proc->info->field ($field, $def)''.
If $def is omitted is defaults to "undef".
Default implementation accesses them via the hashref stored in ``extra-fields'' if present. If the field is present, but not defined $def is returned instead.
NB:This is mostly an optimization used by Lintian::Lab to avoid (re-)reading the underlying package data.
AUTHOR
Originally written by Niels Thykier <niels@thykier.net> for Lintian.SEE ALSO
lintian(1)Lintian::ProcessableGroup