diff options
Diffstat (limited to 'perl-install/pkgs.pm')
-rw-r--r-- | perl-install/pkgs.pm | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 848a21a76..6b35fb093 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -378,9 +378,9 @@ sub psUpdateHdlistsDeps { } sub psUsingHdlists { - my ($o, $method, $o_hdlistsfile, $o_packages, $o_initialmedium) = @_; + my ($o, $method, $o_hdlistsprefix, $o_packages, $o_initialmedium, $o_callback) = @_; my $prefix = $o->{prefix}; - my $listf = install_any::getFile($o_hdlistsfile . 'media/media_info/hdlists') + my $listf = install_any::getFile($o_hdlistsprefix ? "$o_hdlistsprefix/media/media_info/hdlists" : 'media/media_info/hdlists') or die "no hdlists found"; my ($suppl_CDs, $deselectionAllowed) = (0, 0); if (!$o_packages) { @@ -406,7 +406,7 @@ sub psUsingHdlists { m/^\s*(noauto:)?(hdlist\S*\.cz2?)\s+(\S+)\s*(.*)$/ or die qq(invalid hdlist description "$_" in hdlists file); push @hdlists, [ $2, $medium_name, $3, $4, !$1, #- hdlist path, suppl CDs are mounted on /mnt/cdrom : - $o_hdlistsfile ? "$o_hdlistsfile/media/media_info/$2" : undef, + $o_hdlistsprefix ? "$o_hdlistsprefix/media/media_info/$2" : undef, ]; $cdsuppl ? ($medium_name = ($medium_name + 1) . 's') : ++$medium_name; } @@ -415,7 +415,8 @@ sub psUsingHdlists { foreach my $h (@hdlists) { #- make sure the first medium is always selected! #- by default select all image. - psUsingHdlist($prefix, $method, $o_packages, @$h); + my $supplmedium = psUsingHdlist($prefix, $method, $o_packages, @$h); + $o_callback and $o_callback->($supplmedium, $o_hdlistsprefix, $method); } log::l("psUsingHdlists read " . int(@{$o_packages->{depslist}}) . |