1package Vimana::Command::Installed;
2use warnings;
3use strict;
4use base qw(App::CLI::Command);
5use YAML;
6use Vimana::Logger;
7use Vimana::Record;
8use File::Find;
9
10=head2 run
11
12find installed packages.
13
14=cut
15
16sub run {
17    my ($self,$arg) = @_;
18
19    unless( $arg )  {
20        my $record_dir = Vimana::Record->record_dir();
21        my @list;
22        File::Find::find( sub {
23            return unless -f $_;
24            my $pkgname = $_;
25            my $data = Vimana::Record->load( $pkgname );
26            $data->{installer_type} ||= 'unknown';
27            print $data->{package} . ' [' . $data->{installer_type} . "]\n";
28        }, $record_dir );
29    }
30    else {
31        my $data = Vimana::Record->load( $arg );
32        print "Package: " . $data->{package} . "\n";
33        print "Files:\n";
34        for my $entry (  @{ $data->{files} } ) {
35            print "\t" .  $entry->{file} . "\n";
36
37        }
38    }
39}
40
41
42
431;
44