<<

NAME

Lintian::Processable -- An (abstract) object that Lintian can process

SYNOPSIS

 use Lintian::Processable;
 
 # Instantiate via Lintian::Processable
 my $proc = Lintian::Processable->new;
 $proc->init_from_file('lintian_2.5.0_all.deb');
 my $package = $proc->pkg_name;
 my $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.

INSTANCE METHODS

name =item $proc->pkg_name

Returns the name of the package.

type =item $proc->pkg_type

Returns the type of package (e.g. binary, source, udeb ...)

verbatim =item extra_fields

Returns a hash to the raw, unedited and verbatim field values.

unfolded

Returns a hash to unfolded field values. Continuations lines have been connected.

$proc->version =item $proc->pkg_version

Returns the version of the package.

$proc->path =item $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->architecture =item $proc->pkg_arch

Returns the architecture(s) of the package. May return multiple values from changes processables. For source processables it is "source".

$proc->source =item $proc->pkg_src

Returns the name of the source package.

$proc->source_version =item $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->pooldir

Returns a reference to lab this Processable is in.

$proc->groupdir

Returns the base directory of this package inside the lab.

link_label

Returns a reference to the extra fields related to this entry.

saved_link

Returns a reference to the extra fields related to this entry.

identifier

Produces an identifier for this processable. The identifier is based on the type, name, version and architecture of the package.

info
clear_cache

Overrides clear_cache from Lintian::Processable.

remove

Removes all unpacked parts of the package in the lab. Returns a truth value if successful.

get_group_id

Calculates an appropriate group id for the package. It is based on the name and the version of the src-pkg.

clean_field

Cleans a field of evil characters to prevent traversal or worse.

link

Returns the link in the work area to the input data.

create

Creates a link to the input file near where all files in that group will be unpacked and analyzed.

guess_name

Creates a link to the input file near where all files in that group will be unpacked and analyzed.

unfolded_field (FIELD)

This method returns the unfolded value of the control field FIELD in the control file for the package. For a source package, this is the *.dsc file; for a binary package, this is the control file in the control section of the package.

If FIELD is passed but not present, then this method returns undef.

Needs-Info requirements for using unfolded_field: none

field ([FIELD[, DEFAULT]])

If FIELD is given, this method returns the value of the control field FIELD in the control file for the package. For a source package, this is the *.dsc file; for a binary package, this is the control file in the control section of the package.

If FIELD is passed but not present, then this method will return DEFAULT (if given) or undef.

Otherwise this will return a hash of fields, where the key is the field name (in all lowercase).

Needs-Info requirements for using field: none

AUTHOR

Originally written by Niels Thykier <niels@thykier.net> for Lintian. Substantial portions written by Russ Allbery <rra@debian.org> for Lintian.

SEE ALSO

lintian(1)

Lintian::Processable::Binary

Lintian::Processable::Buildinfo

Lintian::Processable::Changes,

Lintian::Processable::Source

Lintian::Processable::Udeb

Lintian::Group

<<