summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-08-02 11:32:22 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-08-02 11:32:22 +0000
commit4d0b37afe2eab853201d1df9778b7d0e3932d323 (patch)
treed815ab25db4faab6a83fdade1b4ae0cce0f09395
parent45a8f2704e6b1f9760b86c2bb6748c546fb38f32 (diff)
downloaddrakx-4d0b37afe2eab853201d1df9778b7d0e3932d323.tar
drakx-4d0b37afe2eab853201d1df9778b7d0e3932d323.tar.gz
drakx-4d0b37afe2eab853201d1df9778b7d0e3932d323.tar.bz2
drakx-4d0b37afe2eab853201d1df9778b7d0e3932d323.tar.xz
drakx-4d0b37afe2eab853201d1df9778b7d0e3932d323.zip
add jfs support
-rw-r--r--perl-install/fs.pm10
-rw-r--r--perl-install/install_any.pm1
-rw-r--r--perl-install/partition_table.pm6
-rw-r--r--perl-install/share/list1
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