diff options
author | Olivier Blin <oblin@mandriva.com> | 2008-10-28 21:03:19 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2008-10-28 21:03:19 +0000 |
commit | d87a28c214c74a4611c61e157722dbe7e4710529 (patch) | |
tree | 48d92a7f827e705ab77bea22ce6aac7596a30ecb /draklive | |
parent | ef64a367150c060b49b163db3a4383e68d3d3265 (diff) | |
download | drakiso-d87a28c214c74a4611c61e157722dbe7e4710529.tar drakiso-d87a28c214c74a4611c61e157722dbe7e4710529.tar.gz drakiso-d87a28c214c74a4611c61e157722dbe7e4710529.tar.bz2 drakiso-d87a28c214c74a4611c61e157722dbe7e4710529.tar.xz drakiso-d87a28c214c74a4611c61e157722dbe7e4710529.zip |
move storage_fs in new MDV::Draklive::StorageFS
Diffstat (limited to 'draklive')
-rwxr-xr-x | draklive | 46 |
1 files changed, 3 insertions, 43 deletions
@@ -39,6 +39,7 @@ use IO::Handle; use MDV::Draklive::Utils; use MDV::Draklive::Live; use MDV::Draklive::Media; +use MDV::Draklive::StorageFS; my $dir_distrib_sqfs = { mountpoint => '/distrib', @@ -178,47 +179,6 @@ my %storage = ( }, ); -my %storage_fs; -%storage_fs = ( - generic => { - mount => sub { - my ($live, $media) = @_; - my @mount_options = ( - if_($media->get_media_setting('read_only'), "ro"), - grep { $_ } $media->get_media_setting('mount_options'), - ); - 'nash-mount' . if_(@mount_options, " -o " . join(",", @mount_options)) . " -t " . $media->get_media_setting('fs') . - " " . $media->get_media_source_for_nash . " $live->{prefix}{live}{mnt}$live->{prefix}{media}{mnt}"; - }, - }, - nfs => { - files => [ '/sbin/ifconfig', '/bin/mount' ], #- needed to mount NFS (with nolock) - mount => sub { - my ($live, $media) = @_; - '/bin/mount -n -o ro,nolock -t nfs ' . $media->get_media_source_for_nash . " $live->{prefix}{live}{mnt}$live->{prefix}{media}{mnt}"; - } - }, - ext2 => { - files => [ '/sbin/fsck.ext2' ], - mount => sub { - my ($live, $media) = @_; - my $fsck = "/bin/fsck.ext2"; - my $source = $media->get_media_setting('source'); - qq(sh -c '$fsck -a $source || $fsck -y $source'), - $storage_fs{generic}{mount}->($live, $media); - }, - }, - vfat => { - #files => [ '/sbin/dosfsck' ], - mount => sub { - my ($live, $media) = @_; - #$storage_fs{generic}{mount}->($live, $media), - #qq(awk '\$2 == "$live->{prefix}{live}{mnt}$live->{prefix}{media}{mnt}" { system("umount " \$1 "; mount; echo dosfsck -a " \$1 "; dosfsck -a " \$1) }' /proc/mounts), - $storage_fs{generic}{mount}->($live, $media); - }, - }, -); - sub nls_modules { my ($live) = @_; my $fs = $live->{media}->get_media_setting('fs'); @@ -455,7 +415,7 @@ sub create_initrd_for_media { my $fs = $media->get_media_setting('fs'); my @loop_types = uniq(map { $_->{type} } @{$live->{mount}{dirs}}); inst_initrd_bin($live->get_system_root, $initrd_tree, $_) foreach - @{$storage_fs{$fs} && $storage_fs{$fs}{files} || []}, + MDV::Draklive::StorageFS::get_files($fs), (map { @{$loop{$_} && $loop{$_}{files} || []} } @loop_types); output_p($initrd_tree . '/etc/fstab', ''); @@ -563,7 +523,7 @@ sub create_initrd_scriptlet { if_($pre, deref_array($pre)), "mkdevices /dev", "showlabels --removable", - $storage_fs{exists $storage_fs{$fs}{mount} ? $fs : 'generic'}{mount}->($live, $media), + MDV::Draklive::StorageFS::get_mount($fs)->($live, $media), (map { $loop{$_->{type}}{mount}->($live, $_) } @$mount_first, @$mount_last), ($live->{mount}{overlay} ? $overlay{$live->{mount}{overlay}}{mount}->($live) : ()), if_($live->{system}{initrd_pre_pivot}, deref_array($live->{system}{initrd_pre_pivot})), |