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