summaryrefslogtreecommitdiffstats
path: root/draklive
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2009-09-15 12:18:07 +0000
committerOlivier Blin <oblin@mandriva.com>2009-09-15 12:18:07 +0000
commit5a27dce64269d298e898333f4b32415bcdb59105 (patch)
treefb73ed65c78e25aaaae39c93ba7316f4b6e76c7d /draklive
parent922a97e6758ec8e1297dfae89b8359b66c220abf (diff)
downloaddrakiso-5a27dce64269d298e898333f4b32415bcdb59105.tar
drakiso-5a27dce64269d298e898333f4b32415bcdb59105.tar.gz
drakiso-5a27dce64269d298e898333f4b32415bcdb59105.tar.bz2
drakiso-5a27dce64269d298e898333f4b32415bcdb59105.tar.xz
drakiso-5a27dce64269d298e898333f4b32415bcdb59105.zip
factorize supplement_slash_size usage
Diffstat (limited to 'draklive')
-rwxr-xr-xdraklive18
1 files changed, 5 insertions, 13 deletions
diff --git a/draklive b/draklive
index d0e3cba..2d77f0e 100755
--- a/draklive
+++ b/draklive
@@ -747,8 +747,9 @@ sub allocate_master {
sub format_master {
my ($live, $media, $opts) = @_;
- my $hd = get_hd_from_layout($media, $opts->{device});
+ $media->supplement_slash_size($opts->{slash_size}) if $opts->{slash_size};
+ my $hd = get_hd_from_layout($media, $opts->{device});
partition_table::raw::zero_MBR($hd);
#- FIXME: maybe use fsedit::allocatePartitions to factorize even more?
@@ -772,10 +773,7 @@ sub format_master {
sub format_disk {
my ($live, $opts) = @_;
-
- my $slash_size = guess_disk_master_size($live);
- $live->{media}->supplement_slash_size($slash_size);
-
+ local $opts->{slash_size} = guess_disk_master_size($live);
format_master($live, $live->{media}, $opts);
}
@@ -792,10 +790,7 @@ sub guess_disk_master_size {
sub create_disk_master {
my ($live, $opts) = @_;
-
- my $slash_size = guess_disk_master_size($live);
- $live->{media}->supplement_slash_size($slash_size);
-
+ local $opts->{slash_size} = guess_disk_master_size($live);
$opts->{device} ||= get_disk_master_path($live);
allocate_master($live, $live->{media}, $opts);
format_master($live, $live->{media}, $opts);
@@ -1215,10 +1210,7 @@ sub get_disk_replicator_files {
sub create_usb_replicator {
my ($live, $opts) = @_;
my %files = get_disk_replicator_files($live);
-
- my $size = fold_left { $::a + $::b } map { directory_usage($_, 'apparent') } keys(%files);
- $live->{replicator}{media}->supplement_slash_size($size);
-
+ local $opts->{slash_size} = fold_left { $::a + $::b } map { directory_usage($_, 'apparent') } keys(%files);
local $opts->{device} = get_disk_replicator_path($live);
allocate_master($live, $live->{replicator}{media}, $opts);
format_master($live, $live->{replicator}{media}, $opts);