]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/Packages.pm
merge changes from dla source
[debbugs.git] / Debbugs / Packages.pm
index b129c8e1a1b7d6e51d8c841e80a10bfb87ce313d..191b4531f955a02c95964cedb195adad09c794bc 100644 (file)
@@ -12,11 +12,11 @@ package Debbugs::Packages;
 use warnings;
 use strict;
 
-use Debbugs::Config qw(:config :globals);
-
 use base qw(Exporter);
 use vars qw($VERSION @EXPORT_OK %EXPORT_TAGS @EXPORT);
 
+use Debbugs::Config qw(:config :globals);
+
 BEGIN {
     $VERSION = 1.00;
 
@@ -39,6 +39,8 @@ use Debbugs::Common qw(make_list);
 
 use List::Util qw(min max);
 
+use IO::File;
+
 $MLDBM::DumpMeth = 'portable';
 $MLDBM::RemoveTaint = 1;
 
@@ -75,17 +77,17 @@ sub getpkgsrc {
     my %pkgcomponent;
     my %srcpkg;
 
-    open(MM,"$Debbugs::Packages::gPackageSource")
-       or die("open $Debbugs::Packages::gPackageSource: $!");
-    while(<MM>) {
+    my $fh = IO::File->new($config{package_source},'r')
+       or die("Unable to open $config{package_source} for reading: $!");
+    while(<$fh>) {
        next unless m/^(\S+)\s+(\S+)\s+(\S.*\S)\s*$/;
        my ($bin,$cmp,$src)=($1,$2,$3);
-       $bin =~ y/A-Z/a-z/;
+       $bin = lc($bin);
        $pkgsrc{$bin}= $src;
        push @{$srcpkg{$src}}, $bin;
        $pkgcomponent{$bin}= $cmp;
     }
-    close(MM);
+    close($fh);
     $_pkgsrc = \%pkgsrc;
     $_pkgcomponent = \%pkgcomponent;
     $_srcpkg = \%srcpkg;
@@ -154,8 +156,8 @@ sub binarytosource {
     if (not defined $binver) {
         my %uniq;
         for my $ver (keys %binary) {
-             for my $ar (keys %{$binary{$binver}}) {
-                  my $src = $binary{$binver}{$ar};
+             for my $ar (keys %{$binary{$ver}}) {
+                  my $src = $binary{$ver}{$ar};
                   next unless defined $src;
                   $uniq{$src->[0]} = 1;
              }