-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
# This script is part of debbugs, and is released
# under the terms of the GPL version 2, or any later
# version at your option.
# if the first directory in @INC is not an absolute directory, assume that
# someone has overridden us via -I.
if ($INC[0] !~ /^\//) {
+ undef $debbugs_dir;
+ }
+ if (defined $debbugs_dir) {
+ unshift @INC, $debbugs_dir.'/lib/';
}
}
-use if defined $debbugs_dir, lib => $debbugs_dir;
+
binmode(STDOUT,':encoding(UTF-8)');
use POSIX qw(strftime nice);
use Debbugs::Bugs qw(get_bugs bug_filter newest_bug);
use Debbugs::Packages qw(source_to_binary binary_to_source get_versions);
+use Debbugs::Collection::Bug;
use Debbugs::Status qw(splitpackages);
my %ut;
my %seen_users;
+my @users;
for my $user (map {split /[\s*,\s*]+/} make_list($param{users}||[])) {
next unless length($user);
+ push @users, $user;
add_user($user,\%ut,\%bugusertags,\%seen_users,\%cats,\%hidden);
}
Debbugs::User::read_usertags(\%select_ut, $u);
unless (defined $t && $t ne "") {
$t = join(",", keys(%select_ut));
- }
+ }
+ push @users,$u;
add_user($u,\%ut,\%bugusertags,\%seen_users,\%cats,\%hidden);
push @{$param{tag}}, split /,/, $t;
}
push @possible_packages,
source_to_binary(binary_only => 1,
source => $param{src},
+ dist => [@{$config{distributions}}],
@schema_arg,
);
}
for my $package (@possible_packages) {
next unless defined $package and length $package;
+ push @users,
+ $package.'@'.$config{usertag_package_domain};
add_user($package.'@'.$config{usertag_package_domain},
\%ut,\%bugusertags,\%seen_users,\%cats,\%hidden);
}
@bugs{@bugs} = @bugs;
@bugs = keys %bugs;
-my $result = pkg_htmlizebugs(bugs => \@bugs,
+my $bugs = Debbugs::Collection::Bug->
+ new(bugs => \@bugs,
+ @schema_arg,
+ users => [map {my $u = Debbugs::User->new($_);
+ $u->has_bug_tags()?($u):()
+ } @users],
+ );
+
+$bugs->load_related_packages_and_versions();
+
+my $result = pkg_htmlizebugs(bugs => $bugs,
names => \@names,
title => \@title,
order => \@order,