diff options
author | Florent Villard <warly@mandriva.com> | 2006-10-16 16:48:54 +0000 |
---|---|---|
committer | Florent Villard <warly@mandriva.com> | 2006-10-16 16:48:54 +0000 |
commit | 3029e1045ff2c8f2db69db802dd7a57ea2fc6ab7 (patch) | |
tree | 21bb1f70ffd3c17cbef66f085947335e69aeedb5 /lib/Youri/Package/RPM4.pm | |
parent | af1ad9e624a59c41149e82da65585bb918857ba1 (diff) | |
download | mga-youri-core-3029e1045ff2c8f2db69db802dd7a57ea2fc6ab7.tar mga-youri-core-3029e1045ff2c8f2db69db802dd7a57ea2fc6ab7.tar.gz mga-youri-core-3029e1045ff2c8f2db69db802dd7a57ea2fc6ab7.tar.bz2 mga-youri-core-3029e1045ff2c8f2db69db802dd7a57ea2fc6ab7.tar.xz mga-youri-core-3029e1045ff2c8f2db69db802dd7a57ea2fc6ab7.zip |
merging dev with upstream
Diffstat (limited to 'lib/Youri/Package/RPM4.pm')
-rw-r--r-- | lib/Youri/Package/RPM4.pm | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/lib/Youri/Package/RPM4.pm b/lib/Youri/Package/RPM4.pm index 5437a3d..306c32f 100644 --- a/lib/Youri/Package/RPM4.pm +++ b/lib/Youri/Package/RPM4.pm @@ -3,14 +3,11 @@ package Youri::Package::RPM4; =head1 NAME -Youri::Package::URPM - URPM-based rpm package implementation +Youri::Package::RPM4 - URPM-based rpm package implementation =head1 DESCRIPTION -This is an URPM-based L<Youri::Package> implementation for rpm. - -It is merely a wrapper over URPM::Package class, with a more structured -interface. +This is an RPM4-based L<Youri::Package> implementation for rpm. =cut @@ -24,7 +21,7 @@ use File::Spec; use Scalar::Util qw/refaddr/; use base 'Youri::Package::RPM'; use overload - '""' => '_to_string', + '""' => 'as_string', '0+' => '_to_number', fallback => 1; @@ -32,7 +29,7 @@ use overload =head2 new(%args) -Creates and returns a new Youri::Package::URPM object. +Creates and returns a new Youri::Package::RPM4 object. Specific parameters: @@ -44,7 +41,7 @@ Path of file to use for creating this package. =item header $header -L<URPM::Package> object to use for creating this package. +L<RPM4::Header> object to use for creating this package. =back @@ -99,7 +96,7 @@ sub _depsense2flag { return \@flags; } -sub compare_ranges { +sub check_ranges_compatibility { my ($class, $range1, $range2) = @_; my @deps1 = split(/ /, $range1); my @deps2 = split(/ /, $range2); @@ -138,18 +135,11 @@ sub get_release { return $self->{_header}->tag('release'); } -sub get_revision_name { - my ($self) = @_; - croak "Not a class method" unless ref $self; - - return join('-', ($self->get_name, $self->get_version, $self->get_release)); -} - -sub get_full_name { +sub get_revision { my ($self) = @_; croak "Not a class method" unless ref $self; - return $self->{_header}->queryformat('%{NAME}-%{VERSION}-%{RELEASE}.%|SOURCERPM?{%{ARCH}}:{src}|'); + return $self->{_header}->queryformat('%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}'); } sub get_file_name { @@ -159,6 +149,7 @@ sub get_file_name { return $self->{_header}->queryformat('%{NAME}-%{VERSION}-%{RELEASE}.%|SOURCERPM?{%{ARCH}}:{src}|.rpm'); } + sub get_arch { my ($self) = @_; croak "Not a class method" unless ref $self; @@ -194,13 +185,6 @@ sub get_packager { return $self->{_header}->tag('packager'); } -sub get_file { - my ($self) = @_; - croak "Not a class method" unless ref $self; - - return $self->{_file}; -} - sub is_source { my ($self) = @_; croak "Not a class method" unless ref $self; @@ -378,8 +362,18 @@ sub get_last_change { ]; } -sub _to_string { - return $_[0]->{_header}->fullname(); +sub as_string { + my ($self) = @_; + croak "Not a class method" unless ref $self; + + return $self->{_header}->fullname(); +} + +sub as_formated_string { + my ($self, $format) = @_; + croak "Not a class method" unless ref $self; + + return $self->{_header}->queryformat($format); } sub _to_number { @@ -393,6 +387,13 @@ sub compare { return $self->{_header}->compare($package->{_header}) || 0; } +sub satisfy_range { + my ($self, $range) = @_; + croak "Not a class method" unless ref $self; + + return $self->check_range_compatibility($self->get_revision(), $range); +} + sub sign { my ($self, $name, $path, $passphrase) = @_; croak "Not a class method" unless ref $self; |