aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/templates/mdv-youri-submit.wrapper
blob: 3df1d8b457f3785ffa1fd2f9ad15908618b3b96e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl
# youri-submit wrapper

use strict;
use warnings;
use Fcntl ':mode';
use File::Basename;
use MDK::Common;

my $log_dir = "$ENV{HOME}/submit-logs";

my $sudo_user = $ENV{SUDO_USER} or die "should be run through sudo";
my @prog = ('perl', '-I/usr/share/mdv-youri-core/lib', '-I/usr/share/mdv-youri-submit/lib', '/usr/share/mdv-youri-submit/bin/youri-submit');

my @options;
foreach my $arg (@ARGV) {
    if ($arg =~ /^-?-(\S+)/) {
	# drop prohibited options
	if ($arg =~ /-c/ || $arg =~ /-s/) {
	    print STDERR "prohibited option $arg, skipping\n";
	    next;
	}
    }
    push(@options, $arg);
}

# logging for bug #30315 -spuk, 2007-05-29
mkdir_p($log_dir);
open(STDERR, "| tee -a $log_dir/$sudo_user.err >&2");
open(STDOUT, "| tee -a $log_dir/$sudo_user.out");

# call wrapped program
print "Executing @prog --config /etc/youri/submit-todo.conf --define user=$sudo_user @options (sudo_user $sudo_user)\n";
my $err = system(@prog, "-v", "--verbose", "--config", "/etc/youri/submit-todo.conf", "--define", "user=$sudo_user", @options) && ($? >> 8 || 1);

exit $err