#!/usr/bin/perl
use strict;
use warnings(FATAL=>'all');

#===================================
#===Author  : qian.yu            ===
#===Email   : foolfish@cpan.org  ===
#===MSN     : qian.yu@adways.net ===
#===QQ      : 19937129           ===
#===Homepage: www.lua.cn         ===
#===================================

use Config qw();
use FindBin qw();

my $search_dirs=[$Config::Config{installsitearch},$Config::Config{installarchlib}];
my $lines=[@ARGV];

foreach(@$lines){
        my $ra_path=[split(/::/,$_)];
        my $file_name=$FindBin::Bin.'/../archive/'.join('-',@$ra_path).'.tar.gz';
	if(! -e $file_name){
		print "cannot find ".join('-',@$ra_path).".tar.gz , so exit\n";
		exit;
	}

        my $found='';
        foreach(@$search_dirs){
                my $file_path=$_."/auto/".join('/',@$ra_path)."/.packlist";
                if(-e $file_path){
                        $found=1;
                        last;
                }
        }
	
	if($found){
		system("$FindBin::Bin/pkg_uninstall $_ ");
	}
	
	system("tar zxfP $file_name");
	print "install $_ successfully\n";
}

1;
