Youri-Package
view release on metacpan or search on metacpan
lib/Youri/Package/RPM/RPM.pm view on Meta::CPAN
$revision ? $operator . ' ' . $revision : undef
));
}
}
return @depslist
}
sub get_requires {
my ($self) = @_;
croak "Not a class method" unless ref $self;
return $self->_get_dependencies('REQUIRENAME');
}
sub get_provides {
my ($self) = @_;
croak "Not a class method" unless ref $self;
return $self->_get_dependencies('PROVIDENAME');
}
sub get_obsoletes {
my ($self) = @_;
croak "Not a class method" unless ref $self;
return $self->_get_dependencies('OBSOLETENAME');
}
sub get_conflicts {
my ($self) = @_;
croak "Not a class method" unless ref $self;
return $self->_get_dependencies('CONFLICTNAME');
}
sub get_files {
my ($self) = @_;
croak "Not a class method" unless ref $self;
my $files = $self->{_header}->files();
my @fileslist;
if ($files) {
$files->init();
while ($files->next()) {
# convert signed int to unsigned int
my $smode = $files->mode();
my $umode;
for my $i (0..15) {
$umode |= $smode & (1 << $i); ## no critic (ProhibitBitwise)
}
push(@fileslist, Youri::Package::File->new(
$files->filename(),
$umode,
$files->digest() || ''
));
}
}
return @fileslist
}
sub get_gpg_key {
my ($self) = @_;
croak "Not a class method" unless ref $self;
my $signature = $self->{_header}->tagformat('%{DSAHEADER:pgpsig}');
return if $signature eq '(not a blob)';
my $key_id = (split(/\s+/, $signature))[-1];
return substr($key_id, 8);
}
sub get_changes {
my ($self) = @_;
croak "Not a class method" unless ref $self;
my @times = $self->{_header}->tag('changelogtime');
my @texts = $self->{_header}->tag('changelogtext');
return map {
Youri::Package::Change->new($_, shift @times, shift @texts)
} $self->{_header}->tag('changelogname');
}
sub get_last_change {
my ($self) = @_;
croak "Not a class method" unless ref $self;
my $text = ($self->{_header}->tag('changelogtext'))[0];
my $name = ($self->{_header}->tag('changelogname'))[0];
my $time = ($self->{_header}->tag('changelogtime'))[0];
return $text ?
Youri::Package::Change->new($name, $time, $text) :
undef;
}
sub as_string {
my ($self) = @_;
croak "Not a class method" unless ref $self;
return $self->{_header}->tag('nvra');
}
sub as_formated_string {
my ($self, $format) = @_;
croak "Not a class method" unless ref $self;
return $self->{_header}->tagformat($format);
}
sub _to_number {
return refaddr($_[0]);
}
sub compare {
my ($self, $package) = @_;
croak "Not a class method" unless ref $self;
croak "Not a __PACKAGE__ object" unless
blessed $package && $package->isa(__PACKAGE__);
return $self->{_header}->compare($package->{_header});
}
( run in 3.304 seconds using v1.01-cache-2.11-cpan-364913b4093 )