Bug 15012: use sudo instead of su in koha-shell
Not sure this is the best way to fix it but it looks to work. Test plan: sudo koha-shell kohadev should not return any error Without this patch, you should get bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell Confirm that other options work as before Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Works as expected. Tested on kohadevbox:ansible. KOHA_CONF and PERL5LIB are correctly set on the child shell. Bonus point: koha-shell doesn't die if the user issues Ctrl+C to abort an execution. Signed-off-by: Robin Sheat <robin@catalyst.net.nz> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
1dd9a52e66
commit
0e9e51db94
|
|
@ -42,18 +42,18 @@ my $shell = $opts{shell} || $ENV{SHELL} || '/bin/sh';
|
|||
|
||||
# Now we're set up, build the 'su' command
|
||||
my @su_args;
|
||||
push @su_args, '/bin/su';
|
||||
push @su_args, '--preserve-environment' if $opts{'preserve-environment'};
|
||||
push @su_args, '/usr/bin/sudo';
|
||||
push @su_args, '--preserve-env' if $opts{'preserve-environment'};
|
||||
push @su_args, '--login' if $opts{login};
|
||||
push @su_args, '--command',
|
||||
push @su_args, "-u", "$instance-koha";
|
||||
push @su_args,
|
||||
"env "
|
||||
. "KOHA_CONF=/etc/koha/sites/$instance/koha-conf.xml "
|
||||
. "PERL5LIB=/usr/share/koha/lib $shell"
|
||||
. ( $opts{command} ? " -c '$opts{command}'" : '' );
|
||||
push @su_args, "$instance-koha";
|
||||
|
||||
print "Command: '".join("' '",@su_args)."'\n" if $opts{verbose};
|
||||
system(@su_args);
|
||||
system("@su_args");
|
||||
if ( $? == -1 ) {
|
||||
print STDERR "failed to execute: $!\n";
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue