X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=examples%2Fdebian%2Fversions%2Fbuild-versions-db;h=70b7b927045bfe53379ffee328fece60d3bda500;hb=0a8742bc3375d39ef4dde8df5e28b194af642b5c;hp=5e48d573dc9f83b01e6bd6017d05355ebf9f6f4b;hpb=8e51597b3d455afc85ff1f313062a02d60d0a0d9;p=debbugs.git diff --git a/examples/debian/versions/build-versions-db b/examples/debian/versions/build-versions-db index 5e48d57..70b7b92 100755 --- a/examples/debian/versions/build-versions-db +++ b/examples/debian/versions/build-versions-db @@ -106,7 +106,6 @@ my $time = time; my %db; my %db2; if ($options{update}) { - copy($versions,$versions_new); copy($versions_time,$versions_time_new); } tie %db, "MLDBM", $versions_new, O_CREAT|O_RDWR, 0664 @@ -162,6 +161,8 @@ sub read_packages { update_package_version($db,$db2,$dist,$arch,$pkg,$ver,$time) unless $extra_source_only; } + close($PACKAGES) or + die "Error while closing ${packages}: $!"; } @@ -186,18 +187,27 @@ for my $suite (@{$suites}) { my $suitedir = "$toplevel/$suite"; for my $component ('main', 'main/debian-installer', - 'contrib', 'non-free') { + 'contrib', 'contrib/debian-installer', + 'non-free', 'non-free/debian-installer', + ) { my $componentdir = "$suitedir/$component"; - next unless -d $componentdir; + if (not -d $componentdir) { + print STDERR "No directory $suitedir/$component\n" if $DEBUG; + next; + } my $COMPONENT; opendir $COMPONENT, $componentdir or die "opendir $componentdir: $!"; # debian-installer is really a section rather than a component # (ugh). - (my $viscomponent = $component) =~ s[/.*][]; + my $viscomponent = $component; + $viscomponent =~ s[/.*][]; - my $sources = (grep { -f $_ } glob "$suitedir/$component/source/Sources.*")[0]; - next unless defined $sources; + my $sources = (grep { -f $_ } glob "$componentdir/source/Sources.*")[0]; + if (not defined $sources) { + print STDERR "No sources matching $componentdir/source/Sources.*\n" if $DEBUG; + next; + } read_packages($db,$db2,$sources, $viscomponent,'source',$suite); for my $arch (readdir $COMPONENT) { @@ -205,11 +215,15 @@ for my $suite (@{$suites}) { my $archdir = "$componentdir/binary-$arch"; my $packages = (grep { -f $_ } glob("$archdir/Packages.*"))[0]; - next unless defined $packages; + if (not defined $packages) { + print STDERR "No binary packages matching $archdir/Packages.*\n" if $DEBUG; + next; + } read_packages($db,$db2,$packages, $viscomponent,$arch,$suite); } - closedir $COMPONENT; + closedir $COMPONENT or + die "Unable to closedir $componentdir: $!"; } } }