From 260664457392001a9922c4d2734795359d78e174 Mon Sep 17 00:00:00 2001 From: Mason James Date: Mon, 11 Apr 2016 21:08:07 +1200 Subject: [PATCH] Bug 13216 - fix koha-shell to work with git/dev installs Content-Type: text/plain; charset="utf-8" The aim of this patch is to enable developers to begin testing Koha tools from a gitified Koha directory, using koha-shell this patch adds a new --gitify arg to koha-shell, to be used with the new -d option to test new --gitify arg... 1/ apply 1st patch 2/ run a "koha-shell -c 'which koha-*'" on a Koha tool, with -d arg # perl ~/koha-master/debian/scripts/koha-shell -d ~/koha-master -c 'which koha-list ' moof /usr/sbin/koha-list <<<< 3/ observe existing /usr/share/koha/* file is selected, hmm... 4/ apply 2nd patch - and repeat 2/ with --gitify arg # perl ~/koha-master/debian/scripts/koha-shell -d ~/koha-master -g -c 'which koha-list ' moof ~/koha-master/debian/scripts/koha-list <<<< 5/ observe file from the git repo is now selected .-=bonus points, xXxtra merit=-. 6/ run tool to make sure it works # perl ~/koha-master/debian/scripts/koha-shell -d ~/koha-master -g -c 'koha-list' moof ... 7/ run the old tool too # perl ~/koha-master/debian/scripts/koha-shell -c 'koha-list' moof ... --- debian/scripts/koha-shell | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/debian/scripts/koha-shell b/debian/scripts/koha-shell index 26fa411..941dbde 100755 --- a/debian/scripts/koha-shell +++ b/debian/scripts/koha-shell @@ -22,7 +22,7 @@ Getopt::Long::Configure("bundling"); my %opts; my $res = GetOptions( \%opts, "command|c=s", "help|h", "login|l", "shell|s=s", - "preserve-environment|p|m", "verbose|v", "kohadir|d=s" ); + "preserve-environment|p|m", "verbose|v", "kohadir|d=s", "gitify|g" ); if ( !$res || $opts{help} ) { show_help( !$res ); @@ -46,16 +46,18 @@ if ( $opts{kohadir} ) { else { $kohadir = '/usr/share/koha/lib'; } + # Now we're set up, build the 'su' command my @su_args; 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, "-u", "$instance-koha"; +push @su_args, "env "; +push @su_args, "PATH=$kohadir/debian/scripts".':$PATH KOHA_GITIFY=1 ' if $opts{gitify}; push @su_args, - "env " - . "KOHA_CONF=/etc/koha/sites/$instance/koha-conf.xml " - . "PERL5LIB=$kohadir $shell" + "KOHA_CONF=/etc/koha/sites/$instance/koha-conf.xml " + . "PERL5LIB=$kohadir $shell " . ( $opts{command} ? " -c '$opts{command}'" : '' ); print "Command: '".join("' '",@su_args)."'\n" if $opts{verbose}; @@ -90,6 +92,7 @@ Options: -s, --shell SHELL use SHELL instead of the one from your environment -v, --verbose output the full command that will be executed -d, --kohadir /path/to/koha use a different PERL5LIB directory, for example in a git install. + -g, --gitify use koha-shell for a git type install, with -d option The default shell is the one currently in use. Refer to su(1) for more detail on these options. -- 2.1.4