Skip to content
Snippets Groups Projects
Commit bf8c6828 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

FIX: fix the mess of paths

parent b335c3b1
No related branches found
No related tags found
No related merge requests found
...@@ -56,4 +56,5 @@ DATABASE_USER_PW=random1234 ...@@ -56,4 +56,5 @@ DATABASE_USER_PW=random1234
# network. # network.
DATABASE_USER_HOST_LIST=localhost, DATABASE_USER_HOST_LIST=localhost,
# path to utility scripts
UTILSPATH=`realpath "utils"`
...@@ -27,10 +27,8 @@ ...@@ -27,10 +27,8 @@
#apply all available patches. #apply all available patches.
set -e set -e
PATCHES="./patch*/patch.sh" PATCHES="./patch*/patch.sh"
export UTILSPATH="../utils"
. ../utils/load_settings.sh . $UTILSPATH/helpers.sh
. ../utils/helpers.sh
for p in $PATCHES for p in $PATCHES
do do
$p "$@" --patch=$p $p "$@" --patch=$p
......
#
# ** header v3.0
# This file is a part of the CaosDB Project.
#
# Copyright (C) 2018 Research Group Biomedical Physics,
# Max-Planck-Institute for Dynamics and Self-Organization Göttingen
# Copyright 2019 Daniel Hornung
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# ** end header
#
#header for patch scripts
. load_settings.sh
. helpers.sh
USAGE="$1 [ --env=ENV_FILE ] [ --patch=PATCH ] [ --backupdir=BACKUPDIR ]\n\n"
CMD_OPTIONS=$(cat <<EOF
options:
-h, --help
Show brief help.
--env=ENV_FILE
A file where variables are stored in the format of shell environment
variables. Content of this file overrides environment variables already
present.
--patch=PATCH
*TODO* Please document this option.
--backupdir=BACKUPDIR
The directory where backup files are stored to.
--yaml[=True|False]
If given (and the optional value is not False), additional machine-readable
YAML output is emitted. Only implemented for some commands yet.
This script basically uses the same environment variables as the server
configuration make file. Notable examples are:
- LOGIN_PATH
- MYSQL_HOST
- MYSQL_PORT
- DATABASE_NAME
- DATABASE_USER
- DATABASE_USER_PW
EOF
)
set -e
function _print_help() {
echo -e "$USAGE"
echo -e "$CMD_OPTIONS"
if [ -n "$PRINT_HELP" ]; then
echo -e "$PRINT_HELP"
fi
if [ -n "$1" ]; then
echo -e "$1"
fi
}
while test $# -gt 0; do
case "$1" in
-h|--help)
_print_help
exit 0
;;
--env*)
ENV_FILE="${1#--*=}"
shift
;;
--patch*)
PATCH="${1#--*=}"
shift
;;
--backupdir*)
BACKUPDIR="${1#--*=}"
shift
;;
--yaml*)
if [[ "$1" == "--yaml" ]] ; then
YAML="True"
else
YAML="${1#--*=}"
fi
shift
;;
*)
echo "Unknown option $1"
exit 1
shift
;;
esac
done
if [ -n "$PATCH" ]; then
echo -ne "applying patch $PATCH to $DATABASE_NAME ... "
fi
# @param $1: db version string, e.g. v2.0.0
# @return: 0 on success, 1 on failure
function check_version {
local version=$($MYSQL_CMD $MYSQL_CONNECTION -B -e "Select CaosDBVersion();")
if [[ "$(echo $version | sed 's/^CaosDBVersion()\s//')" = "$1" ]]; then
return 0
fi
uptodate
}
# @param $1: new version string
function update_version {
mysql_execute "DROP FUNCTION IF EXISTS CaosDBVersion; CREATE FUNCTION CaosDBVersion() RETURNS VARCHAR(255) DETERMINISTIC RETURN '$1';"
}
...@@ -18,16 +18,14 @@ ...@@ -18,16 +18,14 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
UTILS_PATH=`dirname "$(realpath $0)"` [[ -n "config.defaults" ]] && source "config.defaults"
MAIN_PATH=`dirname "${UTILS_PATH}"` [[ -n ".config" ]] && source ".config"
[[ -n "${MAIN_PATH}/config.defaults" ]] && source "${MAIN_PATH}/config.defaults"
[[ -n "${MAIN_PATH}/.config" ]] && source "${MAIN_PATH}/.config"
[[ -n "$ENV_FILE" ]] && source "$ENV_FILE" [[ -n "$ENV_FILE" ]] && source "$ENV_FILE"
if [[ -z "$DATABASE_NAME" && -z "$MYSQL_CONNECTION" ]] if [[ -z "$DATABASE_NAME" && -z "$MYSQL_CONNECTION" ]]
then then
_print_help "Please specify the database." echo "A database or a mysql connection need to be set via the corresponding" \
"environment variables."
exit 1 exit 1
fi fi
...@@ -57,7 +55,7 @@ elif [[ -z "$MYSQL_CONNECTION" ]]; then ...@@ -57,7 +55,7 @@ elif [[ -z "$MYSQL_CONNECTION" ]]; then
MYSQL_CONNECTION="$MYSQL_CONNECTION --database=$DATABASE_NAME" MYSQL_CONNECTION="$MYSQL_CONNECTION --database=$DATABASE_NAME"
fi fi
# TODO is this a good idea?
export MYSQL_CONNECTION export MYSQL_CONNECTION
export MYSQL_CONNECTION_NO_DB export MYSQL_CONNECTION_NO_DB
export DATABASE_NAME export DATABASE_NAME
export UTILSPATH
...@@ -24,8 +24,7 @@ ...@@ -24,8 +24,7 @@
#header for patch scripts #header for patch scripts
# load useful functions ####################################################### # load useful functions #######################################################
UTILS_PATH=`dirname "$(realpath $0)"` . $UTILSPATH/helpers.sh
. $UTILS_PATH/helpers.sh
USAGE="$1 [ --env=ENV_FILE ] [ --patch=PATCH ] [ --backupdir=BACKUPDIR ]\n\n" USAGE="$1 [ --env=ENV_FILE ] [ --patch=PATCH ] [ --backupdir=BACKUPDIR ]\n\n"
CMD_OPTIONS=$(cat <<EOF CMD_OPTIONS=$(cat <<EOF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment