diff options
author | Angelo Naselli <anaselli@linux.it> | 2014-09-13 16:33:30 +0200 |
---|---|---|
committer | Angelo Naselli <anaselli@linux.it> | 2014-09-13 16:33:30 +0200 |
commit | 7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd (patch) | |
tree | a2a0ec2c44bdbc76c302d64a2c7aae635ecb3fca /scripts | |
parent | 0a8c0d48d11162cfd3b15ee1002983d0cc27190a (diff) | |
download | manatools-7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd.tar manatools-7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd.tar.gz manatools-7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd.tar.bz2 manatools-7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd.tar.xz manatools-7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd.zip |
Added mana script to manage as script launcher
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/mana | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/scripts/mana b/scripts/mana new file mode 100755 index 00000000..b4bc38bd --- /dev/null +++ b/scripts/mana @@ -0,0 +1,47 @@ +#!/usr/bin/perl + +use AdminPanel::Privileges; + +use yui; + +# TODO from configuration file? +my %modules = ( + log => '/usr/bin/manalog', + user => '/usr/bin/manauser', + service => '/usr/bin/manaservice', + clock => '/usr/bin/manaclock', + host => '/usr/bin/manahost', + proxy => '/usr/bin/manaproxy', + +); + +my $cmdline = new yui::YCommandLine; + +usage() if($cmdline->find("--help") > 0 || $cmdline->find("-h") > 0); +usage() if scalar(@ARGV) < 1; + +my $cmd = $ARGV[0]; + +die "Command ". $cmd . " not found!\n" if !defined($modules{$cmd}); + +my $mod = $modules{$cmd}; +shift(@ARGV); + +if(is_root_capability_required()) { + system("/usr/bin/pkexec", $mod, @ARGV); +} else { + system($mod, @ARGV); +} + +sub usage { + print "\n"; + print "Usage mana --help | -h print this help\n"; + print "Usage mana <command> [args...]\n\n"; + print "valid <commands>:\n\t"; +# TODO better presentation + while ( my ($key, $value) = each(%modules) ) { + print " " . $key; + } + print "\n"; + exit(0); +} |