X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=bin%2Fextract_files;h=a94fba06bd87d5a3161fdde213935392cb6d086f;hb=39c8d5a2fa0e09b0ee557c46a6f0bb34f327f18e;hp=875b7dee7a53c08b584afcc8bc470fc3c5951f92;hpb=fa0e80560d8fc055c1d88997ce47ae01cfe3e8f6;p=deb%2Fpackages.git diff --git a/bin/extract_files b/bin/extract_files index 875b7de..a94fba0 100755 --- a/bin/extract_files +++ b/bin/extract_files @@ -234,7 +234,7 @@ sub to_update { if ($config_data->{structure} == PKGPOOL) { my $dir = "$target/".pkg_pool_directory( $pkg_data ); - if (!$force && -d $dir && -f "$dir/log") { + if (!$force && -f "$dir/log") { (utime(undef,undef,"$dir/log") == 1) or do_warning( "touch of $dir/log failed" ); return 0; @@ -564,6 +564,10 @@ sub read_deb { } } $cache{$debname} ||= qx/dpkg-deb --info "$debname" control/; + unless ( $cache{$debname} ) { + do_warning( "extracting control information of file $debname failed" ); + return; + } my $control = $cache{$debname}; unless ( $raw_data = $parser->parse_mem( $control, @@ -607,7 +611,7 @@ sub collect_deb { return unless $pkg_data; if (exists $bin_packages{$pkg_data->{bin_name}}{$pkg_data->{bin_version}}{$pkg_data->{bin_arch}}) { - do_warning( "duplicated package $pkg_data->{bin_name}, version {$pkg_data->{bin_version}{$pkg_data->{bin_arch}}" ); + do_warning( "duplicated package $pkg_data->{bin_name}, version $pkg_data->{bin_version}, arch $pkg_data->{bin_arch}" ); return; } else { $bin_packages{$pkg_data->{bin_name}}{$pkg_data->{bin_version}}{$pkg_data->{bin_arch}} = $pkg_data;