X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FPackages.pm;h=47c37f9f7bbd6bb0dba0bd4d9e5e72f497452962;hb=fcdb5dd39806c9bd53a29a9a137533363b14222e;hp=a7bf363d8ef5ead440e98f8f3fd0ae595a3b4360;hpb=365db541d36d84100e342ab9add3e87d63a5dcb4;p=debbugs.git diff --git a/Debbugs/Packages.pm b/Debbugs/Packages.pm index a7bf363..47c37f9 100644 --- a/Debbugs/Packages.pm +++ b/Debbugs/Packages.pm @@ -463,19 +463,31 @@ sub make_source_versions { my %sourceversions; for my $version (make_list($param{versions})) { if ($version =~ m{(.+)/([^/]+)$}) { + # Already a source version. + $sourceversions{$version} = 1; + next unless exists $param{warnings}; # check to see if this source version is even possible my @bin_versions = sourcetobinary($1,$2); if (not @bin_versions or @{$bin_versions[0]} != 3) { print {$warnings} "The source $1 and version $2 do not appear to match any binary packages\n"; } - # Already a source version. - $sourceversions{$version} = 1; } else { if (not @packages) { croak "You must provide at least one package if the versions are not fully qualified"; } for my $pkg (@packages) { + if ($pkg =~ /^src:(.+)/) { + $sourceversions{"$1/$version"} = 1; + next unless exists $param{warnings}; + # check to see if this source version is even possible + my @bin_versions = sourcetobinary($1,$version); + if (not @bin_versions or + @{$bin_versions[0]} != 3) { + print {$warnings} "The source $1 and version $2 do not appear to match any binary packages\n"; + } + next; + } for my $arch (@archs) { my $cachearch = (defined $arch) ? $arch : ''; my $cachekey = "$pkg/$cachearch/$version";