Bug 18709: Make koha-foreach use koha-shell internally
This patch simplifies the koha-foreach script, making it use koha-shell
to gain instance privileges and have all environment variables set.
To test:
- Apply the patch
- Have one or more instances created (kohadev already exists in kohadevbox, add
another onewith $ sudo koha-create --create-db test)
- Run:
$ sudo kohaclone/debian/scripts/koha-foreach echo "This is instance __instancename__"
=> SUCCESS: The script runs gracefuly, and outputs something like:
This is instance kohadev
This is instance test
Note: this means the command was executed for each instance and the current behaviour
of replacing the placeholder __instancename__ for the actual instance name still
works as expected.
- You can try the different filter switches, but the logic has not been touched. only the
command call.
- Sign off :-D
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 75994dc94a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
6e58877b7d
commit
d6367c4b43
|
|
@ -46,21 +46,13 @@ do
|
|||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
|
||||
for name in $(koha-list $listopts)
|
||||
do
|
||||
# Optionally use alternative paths for a dev install
|
||||
adjust_paths_dev_install $name
|
||||
|
||||
# Replace the __instancename__ placeholder for the instance name (Bug 8566)
|
||||
cmd=`echo "$@" | sed -e s/__instancename__/${name}/g`
|
||||
(
|
||||
exec 3>&1
|
||||
sudo -u "$name-koha" \
|
||||
env PERL5LIB=$PERL5LIB \
|
||||
KOHA_CONF="/etc/koha/sites/$name/koha-conf.xml" \
|
||||
${cmd} 2>&1 >&3 | sed -e "s/^/$name: /" >&2 3>&-
|
||||
exec 3>&-
|
||||
) | sed -e "s/^/$name: /"
|
||||
|
||||
if [ "${cmd}" != "" ]; then
|
||||
koha-shell ${name} -c "${cmd}"
|
||||
fi
|
||||
done
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue