my %args = @_;
- my ($name, $category, $version);
+ my ($category, $name, $version);
if (defined $args{name}) {
- ($name, $category, $version) = @args{qw/name category version/};
+ ($category, $name, $version) = @args{qw/category name version/};
Carp::confess('Category unspecified') unless defined $category;
/[^\w-]/ and Carp::confess('Invalid argument') for $name, $category;
} elsif (defined $args{atom}) {
my $atom = $args{atom};
$atom =~ m{^([\w-]+)/([\w-]+)-v?($version_rx)$}
or Carp::confess('Invalid atom');
- ($name, $category, $version) = ($1, $2, $3);
+ ($category, $name, $version) = ($1, $2, $3);
} elsif (defined $args{ebuild}) {
my $ebuild = $args{ebuild};
- $ebuild =~ m{/([\w-]+)/([\w-]+)-v?($version_rx)\.ebuild$}
+ $ebuild =~ m{/([\w-]+)/([\w-]+)/\2-v?($version_rx)\.ebuild$}
or Carp::confess('Invalid ebuild');
- ($name, $category, $version) = ($1, $2, $3);
+ ($category, $name, $version) = ($1, $2, $3);
} else {
Carp::confess('Not enough information for building an atom object');
}
bless {
category => $category,
name => $name,
- version => $name,
+ version => $version,
minimum => $args{minimum},
ebuild => $args{ebuild},
}, $class;
}
if ($atom->minimum) {
- if ($cur->minmium) {
+ if ($cur->minimum) {
$seen{$key} = $atom < $cur ? $cur : $atom;
} else {
Carp::confess('Version mismatch') if $atom > $cur;