diff options
-rw-r--r-- | perl-install/common.pm | 8 | ||||
-rw-r--r-- | perl-install/install/any.pm | 12 |
2 files changed, 10 insertions, 10 deletions
diff --git a/perl-install/common.pm b/perl-install/common.pm index dfa9f139e..5daf17af0 100644 --- a/perl-install/common.pm +++ b/perl-install/common.pm @@ -294,6 +294,14 @@ sub set_permissions { chmod(oct($perms), $file) or die "chmod of file $file failed: $!\n"; } +sub parse_release_file { + my ($prefix, $f, $part) = @_; + chomp(my $s = cat_("$prefix$f")); + my $arch = $s =~ s/\s+for\s+(\S+)// && $1; + log::l("find_root_parts found $part->{device}: $s for $arch" . ($f !~ m!/etc/! ? " in special release file $f" : '')); + { release => $s, release_file => $f, part => $part, arch => $arch }; +} + sub release_file { my ($o_dir) = @_; my @names = ('mandrakelinux-release', 'mandrake-release', 'conectiva-release', 'release', 'redhat-release', 'fedora-release'); diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm index 4f01bff3b..94264d19c 100644 --- a/perl-install/install/any.pm +++ b/perl-install/install/any.pm @@ -967,23 +967,15 @@ sub generate_automatic_stage1_params { sub find_root_parts { my ($fstab, $prefix) = @_; - my $extract = sub { - my ($prefix, $f, $part) = @_; - chomp(my $s = cat_("$prefix$f")); - my $arch = $s =~ s/\s+for\s+(\S+)// && $1; - log::l("find_root_parts found $part->{device}: $s for $arch" . ($f !~ m!/etc/! ? " in special release file $f" : '')); - { release => $s, release_file => $f, part => $part, arch => $arch }; - }; - if ($::local_install) { my $f = common::release_file('/mnt') or return; - return $extract->('/mnt', $f, {}); + return common::parse_release_file('/mnt', $f, {}); } map { my $handle = any::inspect($_, $prefix); if (my $f = $handle && common::release_file($handle->{dir})) { - $extract->($handle->{dir}, $f, $_); + common::parse_release_file($handle->{dir}, $f, $_); } else { () } } grep { isTrueLocalFS($_) } @$fstab; } |