From df1468d3138a89ca912b43247020e5ff22432986 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Tue, 5 Mar 2002 12:08:27 +0000 Subject: (extract_modules): created (was done in load_raw) --- perl-install/modules.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'perl-install/modules.pm') diff --git a/perl-install/modules.pm b/perl-install/modules.pm index aa2188471..54bfbbe10 100644 --- a/perl-install/modules.pm +++ b/perl-install/modules.pm @@ -590,8 +590,8 @@ sub cz_file { "/lib/modules" . (arch() eq 'sparc64' && "64") . ".cz-" . c::kernel_version(); } -sub load_raw { - my @l = map { my ($i, @i) = @$_; [ $i, \@i ] } grep { $_->[0] !~ /ignore/ } @_; +sub extract_modules { + my ($dir, @modules) = @_; my $cz = cz_file(); if (!-e $cz) { unlink $_ foreach glob_("/lib/modules*.cz*"); @@ -601,8 +601,13 @@ sub load_raw { eval { require packdrake; my $packer = new packdrake($cz, quiet => 1); - $packer->extract_archive("/tmp", map { "$_->[0].o" } @l); + $packer->extract_archive($dir, map { "$_.o" } @modules); }; +} + +sub load_raw { + my @l = map { my ($i, @i) = @$_; [ $i, \@i ] } grep { $_->[0] !~ /ignore/ } @_; + extract_modules('/tmp', map { $_->[0] } @l); my @failed = grep { my $m = "/tmp/$_->[0].o"; if (-e $m && run_program::run(["/usr/bin/insmod_", "insmod"], '2>', '/dev/tty5', $m, @{$_->[1]})) { -- cgit v1.2.1