]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/Bug.pm
use CGI::Simple->new()
[debbugs.git] / Debbugs / Bug.pm
index 78bd5b73b62a6ea104b5eed8cc763af531487c32..21a26e39af2c443e34c0b260887d29146f1fc225 100644 (file)
@@ -234,9 +234,7 @@ sub _build_affects {
 }
 sub _build_sources {
     my $self = shift;
-    local $_;
-    my @sources = map {$_->sources} $self->packages->members;
-    return @sources;
+    return $self->packages->sources->clone;
 }
 
 sub is_owned {
@@ -369,7 +367,7 @@ sub _build_pending {
     return $pending;
 }
 
-=item buggy
+=head2 buggy
 
      $bug->buggy('debbugs/2.6.0-1','debbugs/2.6.0-2');
      $bug->buggy(Debbugs::Version->new('debbugs/2.6.0-1'),
@@ -390,11 +388,16 @@ sub buggy {
     my $max_buggy = 'absent';
     for my $ver (@_) {
        if (not ref($ver)) {
-           $ver = Debbugs::Version->
-               new(version => $ver,
-                    package => $self,
-                   package_collection => $self->package_collection,
-                  );
+            my @ver_opts = (version => $ver,
+                            package => $self->status->package,
+                            package_collection => $self->package_collection,
+                            $self->schema_arg
+                           );
+            if ($ver =~ m{/}) {
+                $ver = Debbugs::Version::Source->(@ver_opts);
+            } else {
+                $ver = Debbugs::Version::Binary->(@ver_opts);
+            }
        }
        $vertree->load($ver->source);
        my $buggy =
@@ -634,17 +637,9 @@ sub version_url {
 
 sub related_packages_and_versions {
     my $self = shift;
-    my @packages;
-    if (length($self->status->{package}//'')) {
-       @packages = split /,/,$self->status->{package}//'';
-    }
-    if (length($self->status->{affects}//'')) {
-       push @packages,
-            split /,/,$self->status->{affects}//'';
-    }
-    my @versions =
-        (@{$self->status->{found_versions}//[]},
-         @{$self->status->{fixed_versions}//[]});
+    my @packages = $self->status->package;
+    my @versions = ($self->status->found,
+                    $self->status->fixed);
     my @unqualified_versions;
     my @return;
     for my $ver (@versions) {