From 39608972cab56abcd03e7a1b45fe3aae05a4a6d9 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 29 Aug 2002 11:51:24 +0000 Subject: - add option --auto - when --auto, ignore actions on partitions when the drive has extended partitions --- perl-install/standalone/drakupdate_fstab | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'perl-install') diff --git a/perl-install/standalone/drakupdate_fstab b/perl-install/standalone/drakupdate_fstab index e68d55b92..1ae5d7f42 100755 --- a/perl-install/standalone/drakupdate_fstab +++ b/perl-install/standalone/drakupdate_fstab @@ -29,14 +29,27 @@ use any; use fs; $::testing = $ARGV[0] eq '--test' && shift; +$::auto = $ARGV[0] eq '--auto' && shift; my ($raw_action, $device_name) = @ARGV; my ($action) = $raw_action =~ /^--(add|del)/; -@ARGV == 2 && $action or die "usage: drakupdate_fstab [--test] [--add | --del] \n"; +@ARGV == 2 && $action or die "usage: drakupdate_fstab [--test] [--auto] [--add | --del] \n"; main($action, $device_name); +sub check_hard_drives { + my ($name) = @_; + + #- do not do anything if there are many partitions + #- otherwise we may add main extended partitions + if ($name =~ s|/part\d+$||) { + ! grep { /part[5-9]/ } all($name); + } else { + 1; + } +} + sub device_name_to_entry { my ($name) = @_; $name =~ s|/dev/||; @@ -85,6 +98,11 @@ sub set_mount_point { sub main { my ($action, $device_name) = @_; + + if ($::auto) { + check_hard_drives($device_name) or return; + } + my $part = device_name_to_entry($device_name); my $fstab_file = '/etc/fstab'; if (!$part) { -- cgit v1.2.1