Vimana::Command::Installed


Vimana documentation Contained in the Vimana distribution.

Index


Code Index:

run

find installed packages.


Vimana documentation Contained in the Vimana distribution.

package Vimana::Command::Installed;
use warnings;
use strict;
use base qw(App::CLI::Command);
use YAML;
use Vimana::Logger;
use Vimana::Record;
use File::Find;

sub run {
    my ($self,$arg) = @_;

    unless( $arg )  {
        my $record_dir = Vimana::Record->record_dir();
        my @list;
        File::Find::find( sub { 
            return unless -f $_;
            my $pkgname = $_;
            my $data = Vimana::Record->load( $pkgname );
            $data->{installer_type} ||= 'unknown';
            print $data->{package} . ' [' . $data->{installer_type} . "]\n";
        }, $record_dir );
    }
    else {
        my $data = Vimana::Record->load( $arg );
        print "Package: " . $data->{package} . "\n";
        print "Files:\n";
        for my $entry (  @{ $data->{files} } ) {
            print "\t" .  $entry->{file} . "\n";

        }
    }
}



1;