Scroll to navigation

Lintian::Processable(3) Debian Package Checker Lintian::Processable(3)

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
Returns the name of the package.
type
Returns the type of the package.
verbatim
Returns a hash to the raw, unedited and verbatim field values.
unfolded
Returns a hash to unfolded field values. Continuations lines have been connected.
shared_storage
Returns shared_storage.
$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->pooldir
Returns a reference to lab this Processable is in.
$proc->groupdir
Returns the base directory of this package inside the lab.
group
Returns a reference to the Processable::Group related to this entry.
extra_fields
Returns a reference to the extra fields related to this entry.
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.
info
Returns the info object associated with this entry.

Overrides info from Lintian::Processable.

clear_cache
Clears any caches held; this includes discarding the info object.

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::Processable::Group

2019-11-14 Lintian v2.35.0~bpo10+1