summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-10-30 20:25:34 +0000
committerOlivier Blin <oblin@mandriva.com>2008-10-30 20:25:34 +0000
commit50a8f59314ba738d76b7f1552d79b853866a1f63 (patch)
tree0f37d110ea473859212a8492dcdb63f8efa36e61
parentc915dfb3fb98c5c404c70ae578e7c8f77042ba27 (diff)
downloaddraklive-50a8f59314ba738d76b7f1552d79b853866a1f63.tar
draklive-50a8f59314ba738d76b7f1552d79b853866a1f63.tar.gz
draklive-50a8f59314ba738d76b7f1552d79b853866a1f63.tar.bz2
draklive-50a8f59314ba738d76b7f1552d79b853866a1f63.tar.xz
draklive-50a8f59314ba738d76b7f1552d79b853866a1f63.zip
use again du --apparent-size for some sparse files
-rwxr-xr-xdraklive2
-rw-r--r--lib/MDV/Draklive/Utils.pm6
2 files changed, 6 insertions, 2 deletions
diff --git a/draklive b/draklive
index 51a25e4..9d2d80c 100755
--- a/draklive
+++ b/draklive
@@ -993,7 +993,7 @@ sub create_usb_replicator {
my ($live) = @_;
my $dest = get_disk_replicator_path($live);
my %files = get_disk_replicator_files($live);
- my $size = fold_left { $::a + $::b } map { directory_usage($_) } keys(%files);
+ my $size = fold_left { $::a + $::b } map { directory_usage($_, 'apparent') } keys(%files);
my $loop = allocate_master($dest, 5000000 + $size, 'vfat');
my $opts = { device => $loop, disk_device => $dest, append => $live->{replicator}{append} };
record_usb_replicator($live, $opts);
diff --git a/lib/MDV/Draklive/Utils.pm b/lib/MDV/Draklive/Utils.pm
index 7341e34..8e9ed65 100644
--- a/lib/MDV/Draklive/Utils.pm
+++ b/lib/MDV/Draklive/Utils.pm
@@ -10,7 +10,11 @@ use Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(directory_usage run_ run_foreach);
-sub directory_usage { first(split /\s/, `du -s -B 1 $_[0]`) }
+sub directory_usage {
+ my ($dir, $o_apparent) = @_;
+ my $apparent = $o_apparent && "--apparent-size";
+ first(split /\s/, `du -s -B 1 $apparent $_[0]`);
+ }
#- expand only if the pattern contains '*'
#- and matches dot characters (like shell dotglob)