From 96b292695b3793e20ffc642c7cefa67cd3128448 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Tue, 28 Oct 2008 20:16:23 +0000 Subject: move helpers in MDV::Draklive::Utils --- draklive | 51 +++++---------------------------------------------- 1 file changed, 5 insertions(+), 46 deletions(-) (limited to 'draklive') diff --git a/draklive b/draklive index a52c476..e70115d 100755 --- a/draklive +++ b/draklive @@ -36,6 +36,7 @@ use File::Temp; use IPC::Open3; use IO::Select; use IO::Handle; +use MDV::Draklive::Utils; my $dir_distrib_sqfs = { mountpoint => '/distrib', @@ -366,48 +367,6 @@ my %overlay = ( }, ); -sub directory_usage { first(split /\s/, `du -sb $_[0]`) } - -#- expand only if the pattern contains '*' -#- and matches dot characters (like shell dotglob) -sub glob__ { - my ($pattern) = @_; - $pattern =~ /\*/ ? glob_($pattern) : $pattern; -} - -sub run_ { - my $options = ref $_[0] eq 'HASH' ? shift @_ : {}; - my @cmd = @_; - $options->{timeout} ||= 'never'; - my $setarch = delete $options->{setarch}; - unshift @cmd, 'setarch', $setarch if $setarch; - print STDERR "running " . (exists $options->{root} && "(in chroot) ") . join(' ', @cmd) . "\n"; - run_program::raw($options, @cmd); -} - -sub run_foreach { - my ($foreach, @command) = @_; - print STDERR "running " . join(' ', @command) . "\n"; - my $pid = open3(my $cmd_in, my $cmd_out, undef, @command); - my $selector = IO::Select->new($cmd_out); - while (my @ready = $selector->can_read) { - foreach my $fh (@ready) { - local $_ = scalar<$fh>; - return if /^open3:/; - $foreach->(); - $selector->remove($fh) if eof($fh); - } - } - close($cmd_out); - close($cmd_in); - return waitpid($pid, 0) > 0 && !($? >> 8); -} - -sub mtools_run_ { - local $ENV{MTOOLS_SKIP_CHECK} = 1; - &run_; -} - sub get_live_name { my ($live) = @_; join('-', grep { $_ } @{$live->{settings}}{qw(name product version desktop region media arch)}); @@ -851,7 +810,7 @@ sub copy_files_to { my ($source, $dest, $o_opts) = @$_; $dest = $root . '/' . $dest; mkdir_p($dest =~ m|/$| ? $dest : dirname($dest)); - my @sources = glob__($live->{settings}{config_root} . '/' . $source); + my @sources = MDV::Draklive::Utils::glob__($live->{settings}{config_root} . '/' . $source); print STDERR "copying @sources to $dest\n"; cp_f(@sources, $dest); my $o_perm = $o_opts && $o_opts->{mode}; @@ -1242,7 +1201,7 @@ sub device_mkfs { sub set_device_label { my ($device, $type, $label) = @_; if ($type eq 'vfat') { - mtools_run_('mlabel', '-i', $device, '::' . $label); + MDV::Draklive::Utils::mtools_run_('mlabel', '-i', $device, '::' . $label); } elsif (member($type, 'ext2', 'ext3')) { run_('e2label', $device, $label); } else { @@ -1558,8 +1517,8 @@ sub record_usb_master { maybe_umount_device($device); if (get_media_setting($media, 'fs') eq 'vfat') { - mtools_run_('mattrib', '+h', '-i', $device, '::' . $_) foreach @hidden_files; - mtools_run_('mattrib', '+r', '+s', '-/', '-i', $device, '::' . $_) + 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; } } -- cgit v1.2.1