From 7cbaf3e4e333fb7db0a357e8943e31e00e0c33dd Mon Sep 17 00:00:00 2001 From: Angelo Naselli Date: Sat, 13 Sep 2014 16:33:30 +0200 Subject: Added mana script to manage as script launcher --- Changes | 2 ++ MANIFEST | 1 + Makefile.PL | 1 + scripts/mana | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100755 scripts/mana diff --git a/Changes b/Changes index 0cf0a7e..dbf3707 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,7 @@ Revision history for AdminPanel-Shared 1.0.0-3 + - added mana script to run pkexec into script for any tools + and as a single entry for desktop file - dragora-urpm-sources.pl crashed updating media, if no media are configured - dragora-urpm-sources.pl crashed if no media are configured diff --git a/MANIFEST b/MANIFEST index f60d5e0..4c2fab2 100644 --- a/MANIFEST +++ b/MANIFEST @@ -66,6 +66,7 @@ modules/rpmdragora/dragora-urpm-sources.pl modules/rpmdragora/rpmdragora modules/test.cpp README.md +scripts/mana scripts/manaadduser scripts/manaclock scripts/manahost diff --git a/Makefile.PL b/Makefile.PL index 9f0b413..cd92bfd 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -61,6 +61,7 @@ WriteMakefile( "autodie" => 2.20, }, EXE_FILES => [ qw( scripts/mpan.pl + scripts/mana scripts/manaadduser scripts/manaclock scripts/manadm diff --git a/scripts/mana b/scripts/mana new file mode 100755 index 0000000..b4bc38b --- /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 [args...]\n\n"; + print "valid :\n\t"; +# TODO better presentation + while ( my ($key, $value) = each(%modules) ) { + print " " . $key; + } + print "\n"; + exit(0); +} -- cgit v1.2.1