RPM-Query
view release on metacpan or search on metacpan
lib/RPM/Query/Package.pm view on Meta::CPAN
package RPM::Query::Package;
use strict;
use warnings;
use base qw{Package::New};
our $VERSION = '0.03';
=head1 NAME
RPM::Query - Perl object overlay of an RPM package
=head1 SYNOPSIS
use RPM::Query::Package;
my $package = RPM::Query::Package->new(package_name=>'perl-5.16.3-299.el7_9.x86_64');
my $name = $rpm->name; #is short name e.g. "perl"
my $capabilities = $rpm->requires; #isa list of RPM::Query::Capability
foreach my $capability (@$capabilities) {
printf "%s - %s\n", $capability->name, $capability->package->package_name;
}
=head1 DESCRIPTION
=head1 METHODS
=head2 package_name
Returns the the long package name which is the unique package token that rpm uses for this package.
=cut
sub package_name {
my $self = shift;
$self->{'package_name'} = shift if @_;
die("Error: package_name property required") unless $self->{'package_name'};
return $self->{'package_name'};
}
=head2 requires
Returns a list of L<RPM::Query::Capability> objects that the package requires
=cut
sub requires {
my $self = shift;
$self->{'requires'} = $self->parent->requires($self->package_name) unless $self->{'requires'};
return $self->{'requires'};
}
=head2 provides
Returns a list of L<RPM::Query::Capability> objects that the package provides
=cut
sub provides {
my $self = shift;
$self->{'provides'} = $self->parent->provides($self->package_name) unless $self->{'provides'};
return $self->{'provides'};
}
=head2 verify
Returns a Boolean value on whether or not the installed RPM passes the verify command.
=cut
sub verify {
my $self = shift;
( run in 0.647 second using v1.01-cache-2.11-cpan-39bf76dae61 )