From 7712f337ad04a2211581521f5f1aad6b109841cd Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Sun, 30 Jun 2019 10:02:30 -0700 Subject: [PATCH] add source_names and maintainers to Debbugs:;Package --- Debbugs/Package.pm | 55 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/Debbugs/Package.pm b/Debbugs/Package.pm index b0c0a97..68e0447 100644 --- a/Debbugs/Package.pm +++ b/Debbugs/Package.pm @@ -517,13 +517,41 @@ has 'sources' => (is => 'ro', sub _build_sources { my $self = shift; + return $self->package_collection->limit($self->source_names); +} + +sub source_names { + my $self = shift; + if ($self->is_source) { - return $self->package_collection->limit($self); + return $self->name } - # OK, walk through the valid_versions for this package - my @sources = - uniq map {'src:'.$_->{src_pkg_name}} $self->_valid_versioninfo; - return $self->package_collection->limit(@sources); + return uniq map {'src:'.$_->{src_pkg}} $self->_valid_version_info; +} + +=head2 maintainers + +L of the maintainer(s) of the current package + +=cut + +has maintainers => (is => 'ro', + isa => 'Debbugs::Collection::Correspondent', + lazy => 1, + builder => '_build_maintainers', + predicate => '_has_maintainers', + ); + +sub _build_maintainers { + my $self = shift; + my @maintainers; + for my $v ($self->_valid_version_info) { + next unless length($v->{suite_name}) and length($v->{maintainer}); + push @maintainers,$v->{maintainer}; + } + @maintainers = + uniq @maintainers; + return $self->correspondent_collection->limit(@maintainers); } has 'versions' => (is => 'bare', @@ -662,6 +690,23 @@ sub _build_package_collection { return Debbugs::Collection::Package->new($self->schema_argument) } +=head2 correspondent_collection + +L to get additional maintainers required + +=cut + +has 'correspondent_collection' => (is => 'ro', + isa => 'Debbugs::Collection::Correspondent', + builder => '_build_correspondent_collection', + lazy => 1, + ); + +sub _build_correspondent_collection { + my $self = shift; + return Debbugs::Collection::Correspondent->new($self->schema_argument) +} + sub CARP_TRACE { my $self = shift; return 'Debbugs::Package={package='.$self->qualified_name.'}'; -- 2.39.2