diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/fs.pm | 4 | ||||
-rw-r--r-- | perl-install/fs/get.pm | 16 | ||||
-rw-r--r-- | perl-install/fsedit.pm | 14 | ||||
-rw-r--r-- | perl-install/install_any.pm | 2 | ||||
-rwxr-xr-x | perl-install/standalone/drakupdate_fstab | 2 |
5 files changed, 19 insertions, 19 deletions
diff --git a/perl-install/fs.pm b/perl-install/fs.pm index 766a2e702..ce037a7af 100644 --- a/perl-install/fs.pm +++ b/perl-install/fs.pm @@ -104,7 +104,7 @@ sub merge_fstabs { my ($loose, $fstab, @l) = @_; foreach my $p (@$fstab) { - my ($l1, $l2) = partition { fsedit::is_same_hd($_, $p) } @l; + my ($l1, $l2) = partition { fs::get::is_same_hd($_, $p) } @l; my ($p2) = @$l1 or next; @l = @$l2; @@ -274,7 +274,7 @@ sub merge_info_from_fstab { my @l = grep { if ($uniq) { my $part = fs::get::mntpoint2part($_->{mntpoint}, $fstab); - !$part || fsedit::is_same_hd($part, $_); #- keep it only if it is the mountpoint AND the same device + !$part || fs::get::is_same_hd($part, $_); #- keep it only if it is the mountpoint AND the same device } else { 1; } diff --git a/perl-install/fs/get.pm b/perl-install/fs/get.pm index dca0a5aa9..5ea9071a8 100644 --- a/perl-install/fs/get.pm +++ b/perl-install/fs/get.pm @@ -71,7 +71,7 @@ sub hds_fstab_and_holes { sub device2part { my ($dev, $fstab) = @_; my $subpart = fs::subpart_from_wild_device_name($dev); - my $part = find { fsedit::is_same_hd($subpart, $_) } @$fstab; + my $part = find { is_same_hd($subpart, $_) } @$fstab; log::l("fs::get::device2part: unknown device <<$dev>>") if !$part; $part; } @@ -126,4 +126,18 @@ sub up_mount_point { } } +sub is_same_hd { + my ($hd1, $hd2) = @_; + if ($hd1->{major} && $hd2->{major}) { + $hd1->{major} == $hd2->{major} && $hd1->{minor} == $hd2->{minor}; + } elsif (my ($s1) = $hd1->{device} =~ m|https?://(.+?)/*$|) { + my ($s2) = $hd2->{device} =~ m|https?://(.+?)/*$|; + $s1 eq $s2; + } else { + $hd1->{devfs_device} && $hd2->{devfs_device} && $hd1->{devfs_device} eq $hd2->{devfs_device} + || $hd1->{device_LABEL} && $hd2->{device_LABEL} && $hd1->{device_LABEL} eq $hd2->{device_LABEL} + || $hd1->{device} && $hd2->{device} && $hd1->{device} eq $hd2->{device}; + } +} + 1; diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm index 6b10c9503..555b339d0 100644 --- a/perl-install/fsedit.pm +++ b/perl-install/fsedit.pm @@ -244,20 +244,6 @@ Do you agree to lose all the partitions? $all_hds; } -sub is_same_hd { - my ($hd1, $hd2) = @_; - if ($hd1->{major} && $hd2->{major}) { - $hd1->{major} == $hd2->{major} && $hd1->{minor} == $hd2->{minor}; - } elsif (my ($s1) = $hd1->{device} =~ m|https?://(.+?)/*$|) { - my ($s2) = $hd2->{device} =~ m|https?://(.+?)/*$|; - $s1 eq $s2; - } else { - $hd1->{devfs_device} && $hd2->{devfs_device} && $hd1->{devfs_device} eq $hd2->{devfs_device} - || $hd1->{device_LABEL} && $hd2->{device_LABEL} && $hd1->{device_LABEL} eq $hd2->{device_LABEL} - || $hd1->{device} && $hd2->{device} && $hd1->{device} eq $hd2->{device}; - } -} - #- are_same_partitions() do not look at the device name since things may have changed sub are_same_partitions { my ($part1, $part2) = @_; diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 7c7ec4605..11412abd2 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -1569,7 +1569,7 @@ sub use_root_part { my @from_fstab = fs::read_fstab($handle->{dir}, '/etc/fstab', 'keep_default'); my $root_from_fstab = fs::get::root_(\@from_fstab); - if (!fsedit::is_same_hd($root_from_fstab, $part)) { + if (!fs::get::is_same_hd($root_from_fstab, $part)) { $migrate_device_names = 1; log::l("from_fstab contained: $_->{device} $_->{mntpoint}") foreach @from_fstab; migrate_device_names($all_hds, \@from_fstab, $part, $root_from_fstab, $o_in); diff --git a/perl-install/standalone/drakupdate_fstab b/perl-install/standalone/drakupdate_fstab index e0bf20861..b36b7d162 100755 --- a/perl-install/standalone/drakupdate_fstab +++ b/perl-install/standalone/drakupdate_fstab @@ -148,7 +148,7 @@ sub main { } my $fstab = [ fs::read_fstab('', '/etc/fstab', 'keep_freq_passno', 'keep_devfs_name', 'verbatim_credentials') ]; - my ($existing_fstab_entries, $fstab_) = partition { fsedit::is_same_hd($_, $part) } @$fstab; + my ($existing_fstab_entries, $fstab_) = partition { fs::get::is_same_hd($_, $part) } @$fstab; if ($debug) { require Data::Dumper; |