diff options
author | Maarten Vanraes <alien@mageia.org> | 2016-02-07 16:42:12 +0100 |
---|---|---|
committer | Maarten Vanraes <alien@mageia.org> | 2016-05-14 09:25:24 +0200 |
commit | 444376d97e5311abfbc47ee9dc297b8f44e2240f (patch) | |
tree | 09dd5e32c0accf41b079112767c0fd5823fc6ed0 /lib/ManaTools/Shared/disk_backend/Plugin | |
parent | 2558df611f60f12244c282f24b30d029aee94900 (diff) | |
download | manatools-444376d97e5311abfbc47ee9dc297b8f44e2240f.tar manatools-444376d97e5311abfbc47ee9dc297b8f44e2240f.tar.gz manatools-444376d97e5311abfbc47ee9dc297b8f44e2240f.tar.bz2 manatools-444376d97e5311abfbc47ee9dc297b8f44e2240f.tar.xz manatools-444376d97e5311abfbc47ee9dc297b8f44e2240f.zip |
Plugin: define external tools and use tools in plugins
Diffstat (limited to 'lib/ManaTools/Shared/disk_backend/Plugin')
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm | 6 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm | 9 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Partition.pm | 8 |
3 files changed, 20 insertions, 3 deletions
diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm index 58890c84..5dd3165f 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm @@ -69,6 +69,12 @@ has '+dependencies' => ( } ); +has '+tools' => ( + default => sub { + return {'btrfs' => '/usr/sbin/btrfs'}; + } +); + has 'filesystems' => ( is => 'ro', isa => 'HashRef[ManaTools::Shared::disk_backend::Part::Btrfs]', diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm index b82ab80a..5f4f602f 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm @@ -54,7 +54,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. use Moose; use File::Basename; -use ManaTools::Shared::RunProgram; ## Requires /usr/sbin/losetup @@ -67,6 +66,12 @@ has '+dependencies' => ( } ); +has '+tools' => ( + default => sub { + return {'losetup' => '/usr/sbin/losetup'}; + } +); + #============================================================= =head2 _sanitize_string @@ -126,7 +131,7 @@ override ('probe', sub { return 0; } } - my @lines = ManaTools::Shared::RunProgram::get_stdout('/usr/sbin/losetup --list --noheadings --raw --output MAJ:MIN,NAME,SIZELIMIT,OFFSET,AUTOCLEAR,RO,BACK-MAJ:MIN,BACK-INO,BACK-FILE'); + my @lines = $self->tool_lines('losetup', '--list', '--noheadings', '--raw', '--output', 'MAJ:MIN,NAME,SIZELIMIT,OFFSET,AUTOCLEAR,RO,BACK-MAJ:MIN,BACK-INO,BACK-FILE'); for my $line (@lines) { chomp($line); my @fields = split(' ', $line); diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Partition.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Partition.pm index e8496c3b..1e4fee60 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Partition.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Partition.pm @@ -64,6 +64,12 @@ has '+dependencies' => ( } ); +has '+tools' => ( + default => sub { + return {parted => '/usr/sbin/parted'}; + } +); + #============================================================= =head2 load @@ -83,7 +89,7 @@ override ('loadio', sub { my $self = shift; my $io = shift; # get the partition table - my $pt = ManaTools::Shared::disk_backend::PartitionTable->new(disk => $io->file()); + my $pt = ManaTools::Shared::disk_backend::PartitionTable->new(parted => $self->tool('parted'), disk => $io->file()); # get partitions and mkio them all for my $p (values %{$pt->partitions()}) { my @stat = stat($p->{'file'}); |