diff options
-rw-r--r-- | perl-install/fs.pm | 10 | ||||
-rw-r--r-- | perl-install/install_any.pm | 1 | ||||
-rw-r--r-- | perl-install/partition_table.pm | 6 | ||||
-rw-r--r-- | perl-install/share/list | 1 |
4 files changed, 16 insertions, 2 deletions
diff --git a/perl-install/fs.pm b/perl-install/fs.pm index 36e9f6381..8a2576d40 100644 --- a/perl-install/fs.pm +++ b/perl-install/fs.pm @@ -102,6 +102,12 @@ sub format_xfs($@) { run_program::run("mkfs.xfs", "-f", "-q", @options, devices::make($dev)) or die _("%s formatting of %s failed", "xfs", $dev); } +sub format_jfs($@) { + my ($dev, @options) = @_; + + run_program::run("mkfs.jfs", "-f", @options, devices::make($dev)) or die _("%s formatting of %s failed", "jfs", $dev); +} + sub format_dos($@) { my ($dev, @options) = @_; @@ -129,6 +135,8 @@ sub real_format_part { format_reiserfs($part->{device}, @options, if_(c::kernel_version() =~ /^\Q2.2/, "-v", "1")); } elsif (isXfs($part)) { format_xfs($part->{device}, @options); + } elsif (isJfs($part)) { + format_jfs($part->{device}, @options); } elsif (isDos($part)) { format_dos($part->{device}, @options); } elsif (isWin($part)) { @@ -219,6 +227,8 @@ sub mount($$$;$) { eval { modules::load('ufs') }; } elsif ($fs eq 'xfs') { eval { modules::load('xfs') }; + } elsif ($fs eq 'jfs') { + eval { modules::load('jfs') }; } elsif ($fs eq 'reiserfs') { #- could be better if we knew if there is a /boot or not #- without knowing it, / is forced to be mounted with notail diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 9ea9ee746..cf316f9d4 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -335,6 +335,7 @@ sub setPackages { push @{$o->{default_packages}}, "usbd" if modules::get_alias("usb-interface"); push @{$o->{default_packages}}, "reiserfsprogs" if grep { isReiserfs($_) } @{$o->{fstab}}; push @{$o->{default_packages}}, "xfsprogs" if grep { isXfs($_) } @{$o->{fstab}}; + push @{$o->{default_packages}}, "jfsprogs" if grep { isJfs($_) } @{$o->{fstab}}; push @{$o->{default_packages}}, "alsa", "alsa-utils" if modules::get_alias("sound-slot-0") =~ /^snd-card-/; push @{$o->{default_packages}}, "imwheel" if $o->{mouse}{nbuttons} > 3; diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index 684136207..c667f2d1a 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -6,7 +6,7 @@ package partition_table; # $Id$ @ISA = qw(Exporter); %EXPORT_TAGS = ( - types => [ qw(type2name type2fs name2type fs2type isExtended isExt2 isReiserfs isXfs isTrueFS isSwap isDos isWin isFat isSunOS isOtherAvailableFS isPrimary isNfs isSupermount isLVM isRAID isMDRAID isLVMBased isHFS isNT isMountableRW isNonMountable isApplePartMap isLoopback isApple isAppleBootstrap) ], + types => [ qw(type2name type2fs name2type fs2type isExtended isExt2 isReiserfs isXfs isJfs isTrueFS isSwap isDos isWin isFat isSunOS isOtherAvailableFS isPrimary isNfs isSupermount isLVM isRAID isMDRAID isLVMBased isHFS isNT isMountableRW isNonMountable isApplePartMap isLoopback isApple isAppleBootstrap) ], ); @EXPORT_OK = map { @$_ } values %EXPORT_TAGS; @@ -189,6 +189,7 @@ arch() !~ /sparc/ ? ( 0x83 => 'ext2', 0x183=> 'reiserfs', 0x283=> 'xfs', + 0x383=> 'jfs', 0x401 => 'apple', 0x402 => 'hfs', nfs => 'nfs', #- hack @@ -223,6 +224,7 @@ sub isSwap($) { $type2fs{$_[0]{type}} eq 'swap' } sub isExt2($) { $type2fs{$_[0]{type}} eq 'ext2' } sub isReiserfs($) { $type2fs{$_[0]{type}} eq 'reiserfs' } sub isXfs($) { $type2fs{$_[0]{type}} eq 'xfs' } +sub isJfs($) { $type2fs{$_[0]{type}} eq 'jfs' } sub isDos($) { arch() !~ /^sparc/ && $ {{ 1=>1, 4=>1, 6=>1 }}{$_[0]{type}} } sub isWin($) { $ {{ 0xb=>1, 0xc=>1, 0xe=>1, 0x1b=>1, 0x1c=>1, 0x1e=>1 }}{$_[0]{type}} } sub isFat($) { isDos($_[0]) || isWin($_[0]) } @@ -237,7 +239,7 @@ sub isApple($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isDriver} } sub isAppleBootstrap($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isBoot} } sub isHiddenMacPart { defined $_[0]{isMap} } sub isLoopback { defined $_[0]{loopback_file} } -sub isTrueFS { isExt2($_[0]) || isReiserfs($_[0]) || isXfs($_[0]) } +sub isTrueFS { isExt2($_[0]) || isReiserfs($_[0]) || isXfs($_[0]) || isJfs($_[0]) } sub isMountableRW { isTrueFS($_[0]) || isOtherAvailableFS($_[0]) } sub isNonMountable { isRAID($_[0]) || isLVM($_[0]) } diff --git a/perl-install/share/list b/perl-install/share/list index 54f818e1d..2a1fe27b3 100644 --- a/perl-install/share/list +++ b/perl-install/share/list @@ -13,6 +13,7 @@ /sbin/fdisk /sbin/insmod /sbin/mke2fs +/sbin/mkfs.jfs /sbin/resize2fs /sbin/dumpe2fs /sbin/modinfo |