3 ###APPAUTHOR: xiaoranzzz
4 ###APPDATE: Mon Apr 7 11:17:22 2008
6 ###APPDESC: Invoke emerge as sudo if need,with --ask --verbose options added
12 #ENV variable MUST be defined somewhere,
13 #FOR perl to search modules from,
15 exit system("emerge") unless(@ARGV);
17 use lib
$ENV{XR_PERL_MODULE_DIR
};
20 use MyPlace
::Script
::Usage qw
/help_required help_even_empty/;
21 exit 0 if(help_required
($0,@ARGV));
23 use MyPlace
::Script
::Sudo qw
/is_root/;
25 exit system("emerge","-av",@ARGV) if(is_root
);
31 if(/^--(pretend|help|search|info|fetchonly|fetch-all-uri)$/) {
33 $needask=0 if($optstr =~ /^(pretend|ask)$/);
39 $needroot=0 if($optstr =~ /[pSsFf]/);
40 $needask=0 if($optstr =~ /[pa]/);
45 push @arg,"--ask" if($needask);
46 push @arg,"--verbose";
49 print STDERR
"Run as superuser...\n";
50 exec("sudo","emerge",@arg,@ARGV);
53 exec("emerge",@arg,@ARGV);