diff --git a/urpm/cdrom.pm b/urpm/cdrom.pmindex d82f003..d80075f 100644--- a/urpm/cdrom.pm+++ b/urpm/cdrom.pm@@ -195,11 +195,11 @@ sub _do_the_copy { sub _copy_from_cdrom__if_needed { my ($urpm, $blist, $sources, $want_copy) = @_;- while (my ($id, $pkg) = each %{$blist->{pkgs}}) {+ while (my (undef, $pkg) = each %{$blist->{pkgs}}) { my $filepath = _filepath($blist, $pkg) or next; if (-r $filepath) {- $sources->{$id} = $want_copy ? _do_the_copy($urpm, $filepath) : $filepath;+ $sources->{$pkg->id} = $want_copy ? _do_the_copy($urpm, $filepath) : $filepath; } else { #- fallback to use other method for retrieving the file later. $urpm->{error}(N("unable to read rpm file [%s] from medium \"%s\"", $filepath, $blist->{medium}{name}));diff --git a/urpm/get_pkgs.pm b/urpm/get_pkgs.pmindex adf776d..8e2a0c1 100644--- a/urpm/get_pkgs.pm+++ b/urpm/get_pkgs.pm@@ -179,7 +179,12 @@ sub download_packages_of_distant_media { #- examine all files to know what can be indexed on multiple media. while (my ($id, $pkg) = each %{$blist->{pkgs}}) { #- the given URL is trusted, so the file can safely be ignored.- defined $sources->{$id} and next;+ if (defined $sources->{$id}) {+ $new_sources{$id} = [ $pkg->id, $sources->{$id} ];+ delete $sources->{$id};+ next;+ }+ exists $new_sources{$id} and next; if (urpm::is_local_medium($blist->{medium})) { my $local_file = file_from_local_url(urpm::blist_pkg_to_url($blist, $pkg));diff --git a/urpm/signature.pm b/urpm/signature.pmindex ccafa29..e14da59 100644--- a/urpm/signature.pm+++ b/urpm/signature.pm@@ -44,6 +44,7 @@ sub _check { my $key_ids = $medium->{'key-ids'} || $urpm->{options}{'key-ids'}; #- check that the key ids of the medium match the key ids of the package.+ print "KEYID: $key_ids => $filepath\n" if ($key_ids) { my $valid_ids = 0; my $invalid_ids = 0;