X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDB.pm;h=7d4f55f0e650e63f0f717fd6fc1c6bbff6c713c0;hb=41ab743eae0a7875cf03a8b50a060da06af30b39;hp=0c0ebdc2288a24f2196f75dc395e41036c1f9388;hpb=f27f1fcc5bffc0696f694e962eb40dbb0c554855;p=deb%2Fpackages.git diff --git a/lib/Packages/DB.pm b/lib/Packages/DB.pm index 0c0ebdc..7d4f55f 100644 --- a/lib/Packages/DB.pm +++ b/lib/Packages/DB.pm @@ -6,20 +6,20 @@ use warnings; use Exporter; use DB_File; use Packages::CGI; -use Packages::Config qw( $DBDIR ); +use Packages::Config qw( $TOPDIR $DBDIR ); our @ISA = qw( Exporter ); our ( %packages, %sources, %src2bin, %did2pkg, %descriptions, - %postf, %spostf, + %postf, %spostf, %debtags, $obj, $s_obj, $p_obj, $sp_obj ); our @EXPORT = qw( %packages %sources %src2bin %did2pkg %descriptions - %postf %spostf + %postf %spostf %debtags $obj $s_obj $p_obj $sp_obj ); our $db_read_time ||= 0; sub init { - my $dbmodtime = (stat("$DBDIR/packages_small.db"))[9]; - if ($dbmodtime > $db_read_time) { + my $dbmodtime = (stat("$DBDIR/packages_small.db"))[9] || 0; + if ($dbmodtime >= $db_read_time) { $obj = tie %packages, 'DB_File', "$DBDIR/packages_small.db", O_RDONLY, 0666, $DB_BTREE or die "couldn't tie DB $DBDIR/packages_small.db: $!"; @@ -35,6 +35,9 @@ sub init { tie %did2pkg, 'DB_File', "$DBDIR/descriptions_packages.db", O_RDONLY, 0666, $DB_BTREE or die "couldn't tie DB $DBDIR/descriptions_packages.db: $!"; + tie %debtags, 'DB_File', "$TOPDIR/files/debtags/vocabulary.db", + O_RDONLY, 0666, $DB_BTREE + or die "couldn't tie DB $TOPDIR/files/debtags/vocabulary.db: $!"; $p_obj = tie %postf, 'DB_File', "$DBDIR/package_postfixes.db", O_RDONLY, 0666, $DB_BTREE or die "couldn't tie postfix db $DBDIR/package_postfixes.db: $!"; @@ -42,7 +45,7 @@ sub init { O_RDONLY, 0666, $DB_BTREE or die "couldn't tie postfix db $DBDIR/source_postfixes.db: $!"; - debug( "tied databases ($dbmodtime > $db_read_time)" ) if DEBUG; + debug( "tied databases ($dbmodtime > $db_read_time)" ) if DEBUG; $db_read_time = $dbmodtime; } }