summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-10-28 20:49:34 +0000
committerOlivier Blin <oblin@mandriva.com>2008-10-28 20:49:34 +0000
commit8882c347c5d80b11be3d8c6683a8279375261dce (patch)
treeb428b59e8d4b38a3c922a725b8538a853aacc501
parentd331c206a6e86fce8ad7a7cb099c11291dd0983f (diff)
downloaddraklive-8882c347c5d80b11be3d8c6683a8279375261dce.tar
draklive-8882c347c5d80b11be3d8c6683a8279375261dce.tar.gz
draklive-8882c347c5d80b11be3d8c6683a8279375261dce.tar.bz2
draklive-8882c347c5d80b11be3d8c6683a8279375261dce.tar.xz
draklive-8882c347c5d80b11be3d8c6683a8279375261dce.zip
move get_media_setting as method in MDV::Draklive::Media
-rwxr-xr-xdraklive60
-rw-r--r--lib/MDV/Draklive/Media.pm6
2 files changed, 33 insertions, 33 deletions
diff --git a/draklive b/draklive
index 46f7966..0dcea7d 100755
--- a/draklive
+++ b/draklive
@@ -184,10 +184,10 @@ my %storage_fs;
mount => sub {
my ($live, $media) = @_;
my @mount_options = (
- if_(get_media_setting($media, 'read_only'), "ro"),
- grep { $_ } get_media_setting($media, '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 " . get_media_setting($media, 'fs') .
+ 'nash-mount' . if_(@mount_options, " -o " . join(",", @mount_options)) . " -t " . $media->get_media_setting('fs') .
" " . get_media_source_for_nash($media) . " $live->{prefix}{live}{mnt}$live->{prefix}{media}{mnt}";
},
},
@@ -203,7 +203,7 @@ my %storage_fs;
mount => sub {
my ($live, $media) = @_;
my $fsck = "/bin/fsck.ext2";
- my $source = get_media_setting($media, 'source');
+ my $source = $media->get_media_setting('source');
qq(sh -c '$fsck -a $source || $fsck -y $source'),
$storage_fs{generic}{mount}->($live, $media);
},
@@ -221,7 +221,7 @@ my %storage_fs;
sub nls_modules {
my ($live) = @_;
- my $fs = get_media_setting($live->{media}, 'fs');
+ my $fs = $live->{media}->get_media_setting('fs');
if_($fs eq 'vfat', 'nls_cp437'), #- default FAT codepage
if_($fs !~ /^ext/, map { "nls_$_" } (map { "iso8859_$_" } 1..7, 9, 13..15), 'utf8');
}
@@ -434,7 +434,7 @@ sub create_initrd_for_media {
inst_initrd_bin($live->get_system_root, $initrd_tree, '/sbin/nash');
inst_initrd_bin($live->get_system_root, $initrd_tree, '/usr' . $lib_prefix . '/drakx-installer-binaries/probe-modules');
inst_initrd_bin($live->get_system_root, $initrd_tree, '/sbin/blockdev')
- if get_media_setting($media, 'rereadpt');
+ if $media->get_media_setting('rereadpt');
inst_initrd_bin($live->get_system_root, $initrd_tree, '/usr/bin/strace')
if $live->{debug};
@@ -452,7 +452,7 @@ sub create_initrd_for_media {
shift @l;
symlink('busybox', $initrd_tree . "/bin/$_") foreach @l;
- my $fs = get_media_setting($media, 'fs');
+ 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} || []},
@@ -462,7 +462,7 @@ sub create_initrd_for_media {
output_p($initrd_tree . '/etc/mtab', '');
my $loop_nb = 254;
- my $rrpt_dev = get_media_setting($media, 'rereadpt');
+ my $rrpt_dev = $media->get_media_setting('rereadpt');
require devices;
devices::make($initrd_tree . "/dev/$_") foreach
if_($rrpt_dev, $rrpt_dev),
@@ -480,12 +480,12 @@ sub create_initrd_for_media {
list_modules::load_dependencies($live->get_system_root . $kernel_root . "/modules.dep");
my ($storage_modules, $skipped) = partition { list_modules::modname2filename($_) }
- uniq(map { modules::cond_mapping_24_26($_) } category2modules(get_media_setting($media, 'modules')));
+ uniq(map { modules::cond_mapping_24_26($_) } category2modules($media->get_media_setting('modules')));
my ($extra_modules, $extra_missing) = partition { list_modules::modname2filename($_) }
- category2modules(get_media_setting($media, 'media_modules')),
+ category2modules($media->get_media_setting('media_modules')),
nls_modules($live),
get_media_fs_module($media),
- @{get_media_setting($media, 'extra_modules') || []},
+ @{$media->get_media_setting('extra_modules') || []},
(map { @{$loop{$_}{modules} || []} } uniq(map { $_->{type} } @{$live->{mount}{dirs} || []})),
($live->{mount}{overlay} ? @{$overlay{$live->{mount}{overlay}}{modules} || []} : ());
@@ -538,9 +538,9 @@ sub create_initrd_for_media {
sub create_initrd_scriptlet {
my ($live, $media, @modules) = @_;
my $target = $live->{prefix}{live}{mnt} . ($live->{mount}{root} || $live->{prefix}{media}{mnt});
- my $pre = get_media_setting($media, 'pre');
- my $fs = get_media_setting($media, 'fs');
- my $rrpt_dev = get_media_setting($media, 'rereadpt');
+ my $pre = $media->get_media_setting('pre');
+ my $fs = $media->get_media_setting('fs');
+ my $rrpt_dev = $media->get_media_setting('rereadpt');
my $debug_shell = "sh -c 'if grep -q initrd_debug /proc/cmdline; then exec sh </dev/console >/dev/console 2>/dev/console; fi'";
my ($mount_first, $mount_last) = partition { !$loop{$_->{type}}{delay_mount} }
grep { exists $loop{$_->{type}}{mount} } @{$live->{mount}{dirs} || []};
@@ -863,7 +863,7 @@ sub post_install_system {
output_with_perm($live->get_system_root . '/etc/fstab', 0644,
$live->{mount}{overlay}
? "none / $live->{mount}{overlay} rw 0 0\n"
- : get_media_setting($live->{media}, 'source') . " / " . get_media_setting($live->{media}, 'fs') . " defaults 1 1\n"
+ : $live->{media}->get_media_setting('source') . " / " . $live->{media}->get_media_setting('fs') . " defaults 1 1\n"
);
#- interactive mode can lead to race in initscripts
@@ -1022,27 +1022,21 @@ sub list_selected_loopbacks {
$live->{settings}{pack} ? @{$live->{packs}{$live->{settings}{pack}} || []} : ());
}
-#- for user-customisable media setting, that can override storage setting
-sub get_media_setting {
- my ($media, $setting) = @_;
- $media->{$setting} || $media->get_storage_setting($setting);
-}
-
sub get_media_fs_module {
my ($media) = @_;
- my $fs = get_media_setting($media, 'fs');
+ my $fs = $media->get_media_setting('fs');
$fs eq 'iso9660' ? 'isofs' : $fs eq 'ext2' ? @{[]} : $fs;
}
sub get_media_label {
my ($media) = @_;
- first(get_media_setting($media, 'source') =~ /^LABEL=(.*)$/);
+ first($media->get_media_setting('source') =~ /^LABEL=(.*)$/);
}
sub get_media_device {
my ($live, $opts) = @_;
return $opts->{device} if $opts->{device};
- my $label = get_media_label($live->{media}) or return get_media_setting($live->{media}, 'source');
+ my $label = get_media_label($live->{media}) or return $live->{media}->get_media_setting('source');
my $device = chomp_(`readlink -f /dev/disk/by-label/$label`)
or die "unable to find device for /dev/disk/by-label/$label\n";
$device;
@@ -1058,9 +1052,9 @@ sub get_media_source_for_nash {
my ($media) = @_;
my $label = get_media_label($media);
#- strip vfat labels to 11 chars and upper-case it
- $label && get_media_setting($media, 'fs') eq 'vfat' ?
+ $label && $media->get_media_setting('fs') eq 'vfat' ?
'LABEL=' . uc(substr($label, 0, 11)) :
- get_media_setting($media, 'source');
+ $media->get_media_setting('source');
}
sub prepare_bootloader {
@@ -1285,7 +1279,7 @@ sub create_disk_master {
directory_usage($live->get_builddir . $live->{prefix}{build}{boot})) :
directory_usage($live->get_system_root);
- my $loop = allocate_master($dest, 500000000 + $part_size, get_media_setting($live->{media}, 'fs'));
+ my $loop = allocate_master($dest, 500000000 + $part_size, $live->{media}->get_media_setting('fs'));
local $opts->{device} = $loop;
local $opts->{disk_device} = $dest;
record_master($live, $opts);
@@ -1319,7 +1313,7 @@ sub format_usb_device {
my ($live, $opts) = @_;
my $device = get_media_device($live, $opts);
maybe_umount_device($device);
- device_mkfs($device, get_media_setting($live->{media}, 'fs'))
+ device_mkfs($device, $live->{media}->get_media_setting('fs'))
or die "unable to format device $device\n";
}
@@ -1421,7 +1415,7 @@ sub record_usb_master {
my $media_loopbacks = get_media_prefix($live, 'loopbacks', $opts->{boot});
if (my $label = !$opts->{boot_only} && $opts->{device} && get_media_label($media)) {
- set_device_label($opts->{device}, get_media_setting($media, 'fs'), $label);
+ set_device_label($opts->{device}, $media->get_media_setting('fs'), $label);
}
my $device = get_media_device($live, $opts)
or die "unable to find recording device (missing label? try with --device <device>)\n";
@@ -1471,7 +1465,7 @@ sub record_usb_master {
run_('umount', $live->{mnt});
maybe_umount_device($device);
- if (get_media_setting($media, 'fs') eq 'vfat') {
+ if ($media->get_media_setting('fs') eq 'vfat') {
MDV::Draklive::Utils::mtools_run_('mattrib', '+h', '-i', $device, '::' . $_) foreach @hidden_files;
MDV::Draklive::Utils::mtools_run_('mattrib', '+r', '+s', '-/', '-i', $device, '::' . $_)
foreach $media_boot, $media_loopbacks;
@@ -1485,7 +1479,7 @@ sub record_harddisk_master {
my $media_loopbacks = get_media_prefix($live, 'loopbacks', $opts->{boot});
if (my $label = !$opts->{boot_only} && $opts->{device} && get_media_label($media)) {
- set_device_label($opts->{device}, get_media_setting($media, 'fs'), $label);
+ set_device_label($opts->{device}, $media->get_media_setting('fs'), $label);
}
my $device = get_media_device($live, $opts)
or die "unable to find recording device (missing label? try with --device <device>)\n";
@@ -1605,7 +1599,7 @@ sub create_disk_image {
sub create_image {
my ($live) = @_;
- if (my $create = get_media_setting($live->{media}, 'image')) {
+ if (my $create = $live->{media}->get_media_setting('image')) {
$create->($live);
} else {
warn "not implemented yet\n";
@@ -1677,7 +1671,7 @@ sub record_usb_replicator {
sub create_replicator {
my ($live) = @_;
- if (my $create = get_media_setting($live->{replicator}{media}, 'replicator')) {
+ if (my $create = $live->{replicator}{media}->get_media_setting('replicator')) {
$create->($live);
} else {
warn "not implemented yet\n";
diff --git a/lib/MDV/Draklive/Media.pm b/lib/MDV/Draklive/Media.pm
index e3fa1ac..baf1d21 100644
--- a/lib/MDV/Draklive/Media.pm
+++ b/lib/MDV/Draklive/Media.pm
@@ -17,4 +17,10 @@ sub get_boot_setting {
$opts->{boot} ? $storage{$opts->{boot}}{$setting} : get_media_setting($media, $setting);
}
+#- for user-customisable media setting, that can override storage setting
+sub get_media_setting {
+ my ($media, $setting) = @_;
+ $media->{$setting} || $media->get_storage_setting($setting);
+}
+
1;