Updated post-install scripts and binlogrouter
Binlogrouter: Switched hard-coded maximum path values to PATH_MAX and used cache directory instead of MAXSCALE_HOME Scripts: Updated with new executable file paths
This commit is contained in:
@ -18,12 +18,11 @@
|
|||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
# MaxScale HOME, PIDFILE, LIB
|
# MaxScale PIDFILE and LIB
|
||||||
#############################################
|
#############################################
|
||||||
|
|
||||||
export MAXSCALE_HOME=@CMAKE_INSTALL_PREFIX@
|
export MAXSCALE_PIDFILE=/var/run/maxscale/maxscale.pid
|
||||||
export MAXSCALE_PIDFILE=$MAXSCALE_HOME/log/maxscale.pid
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:@CMAKE_INSTALL_PREFIX@/@MAXSCALE_LIBDIR@/maxscale
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MAXSCALE_HOME/lib
|
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# LSB Exit codes (non-Status)
|
# LSB Exit codes (non-Status)
|
||||||
@ -56,7 +55,7 @@ start() {
|
|||||||
CHECK_RET=$?
|
CHECK_RET=$?
|
||||||
[ $CHECK_RET -eq 0 ] && echo -n " found $my_check" && success && CHECK_RET=0
|
[ $CHECK_RET -eq 0 ] && echo -n " found $my_check" && success && CHECK_RET=0
|
||||||
|
|
||||||
daemon --pidfile $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale >& /dev/null
|
daemon --pidfile $MAXSCALE_PIDFILE @CMAKE_INSTALL_PREFIX@/@MAXSCALE_BINDIR@/maxscale >& /dev/null
|
||||||
|
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
|
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
|
||||||
@ -68,7 +67,7 @@ start() {
|
|||||||
[ $CHECK_RET -eq 0 ] && echo -n $my_check && success || failure
|
[ $CHECK_RET -eq 0 ] && echo -n $my_check && success || failure
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Return rigth code
|
# Return right code
|
||||||
if [ $RETVAL -ne 0 ]; then
|
if [ $RETVAL -ne 0 ]; then
|
||||||
failure
|
failure
|
||||||
RETVAL=$_RETVAL_NOT_RUNNING
|
RETVAL=$_RETVAL_NOT_RUNNING
|
||||||
@ -100,7 +99,7 @@ stop() {
|
|||||||
reload() {
|
reload() {
|
||||||
echo -n $"Reloading MaxScale: "
|
echo -n $"Reloading MaxScale: "
|
||||||
|
|
||||||
killproc -p $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale -HUP
|
killproc -p $MAXSCALE_PIDFILE @CMAKE_INSTALL_PREFIX@/@MAXSCALE_BINDIR@/maxscale -HUP
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
mkdir -p /var/log/maxscale
|
mkdir -p /var/log/maxscale
|
||||||
mkdir -p /var/cache/maxscale
|
mkdir -p /var/cache/maxscale
|
||||||
mkdir -p /var/run/maxscale
|
mkdir -p /var/run/maxscale
|
||||||
|
mkdir -p @CMAKE_INSTALL_PREFIX@/@MAXSCALE_SHARE_DIR@/
|
||||||
cp @CMAKE_INSTALL_PREFIX@/@MAXSCALE_SHARE_DIR@/maxscale /etc/init.d/
|
cp @CMAKE_INSTALL_PREFIX@/@MAXSCALE_SHARE_DIR@/maxscale /etc/init.d/
|
||||||
cp @CMAKE_INSTALL_PREFIX@/@MAXSCALE_SHARE_DIR@/maxscale.conf /etc/ld.so.conf.d/
|
cp @CMAKE_INSTALL_PREFIX@/@MAXSCALE_SHARE_DIR@/maxscale.conf /etc/ld.so.conf.d/
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
@ -21,9 +21,8 @@
|
|||||||
# MaxScale HOME, PIDFILE, LIB
|
# MaxScale HOME, PIDFILE, LIB
|
||||||
#############################################
|
#############################################
|
||||||
|
|
||||||
export MAXSCALE_HOME=@CMAKE_INSTALL_PREFIX@
|
export MAXSCALE_PIDFILE=/var/run/maxscale/maxscale.pid
|
||||||
export MAXSCALE_PIDFILE=$MAXSCALE_HOME/log/maxscale.pid
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:@CMAKE_INSTALL_PREFIX@/@MAXSCALE_LIBDIR@/maxscale
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MAXSCALE_HOME/lib
|
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# LSB Exit codes (non-Status)
|
# LSB Exit codes (non-Status)
|
||||||
@ -45,7 +44,7 @@ _RETVAL_STATUS_NOT_RUNNING=3
|
|||||||
# stop/start/status related vars
|
# stop/start/status related vars
|
||||||
#################################
|
#################################
|
||||||
NAME=maxscale
|
NAME=maxscale
|
||||||
DAEMON=$MAXSCALE_HOME/bin/maxscale
|
DAEMON=@CMAKE_INSTALL_PREFIX@/@MAXSCALE_BINDIR@/maxscale
|
||||||
|
|
||||||
# Source function library.
|
# Source function library.
|
||||||
. /lib/lsb/init-functions
|
. /lib/lsb/init-functions
|
||||||
@ -82,7 +81,7 @@ reload() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
maxscale_wait_stop() {
|
maxscale_wait_stop() {
|
||||||
PIDTMP=$(pidofproc -p $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale)
|
PIDTMP=$(pidofproc -p $MAXSCALE_PIDFILE @CMAKE_INSTALL_PREFIX@/@MAXSCALE_BINDIR@/maxscale)
|
||||||
kill -TERM "${PIDTMP:-}" 2> /dev/null;
|
kill -TERM "${PIDTMP:-}" 2> /dev/null;
|
||||||
if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then
|
if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then
|
||||||
local i=0
|
local i=0
|
||||||
|
@ -1006,8 +1006,8 @@ static void usage(void)
|
|||||||
" -l, --log=[file|shm] log to file or shared memory (default: shm)\n"
|
" -l, --log=[file|shm] log to file or shared memory (default: shm)\n"
|
||||||
" -L, --logdir=PATH path to log file directory\n"
|
" -L, --logdir=PATH path to log file directory\n"
|
||||||
" (default: /var/log/maxscale)\n"
|
" (default: /var/log/maxscale)\n"
|
||||||
" -D, --datadir=PATH path to data directory\n"
|
" -D, --datadir=PATH path to data directory, stored embedded mysql tables\n"
|
||||||
" (default: /usr/lib64/maxscale)\n"
|
" (default: /var/cache/maxscale)\n"
|
||||||
" -C, --configdir=PATH path to configuration file directory\n"
|
" -C, --configdir=PATH path to configuration file directory\n"
|
||||||
" (default: /etc/)\n"
|
" (default: /etc/)\n"
|
||||||
" -B, --libdir=PATH path to module directory\n"
|
" -B, --libdir=PATH path to module directory\n"
|
||||||
|
@ -71,7 +71,7 @@ static void blr_log_header(logfile_id_t file, char *msg, uint8_t *ptr);
|
|||||||
int
|
int
|
||||||
blr_file_init(ROUTER_INSTANCE *router)
|
blr_file_init(ROUTER_INSTANCE *router)
|
||||||
{
|
{
|
||||||
char *ptr, path[PATH_MAX], filename[PATH_MAX];
|
char *ptr, path[PATH_MAX+1], filename[PATH_MAX+1];
|
||||||
int file_found, n = 1;
|
int file_found, n = 1;
|
||||||
int root_len, i;
|
int root_len, i;
|
||||||
DIR *dirp;
|
DIR *dirp;
|
||||||
@ -79,12 +79,8 @@ struct dirent *dp;
|
|||||||
|
|
||||||
if (router->binlogdir == NULL)
|
if (router->binlogdir == NULL)
|
||||||
{
|
{
|
||||||
strcpy(path, "/usr/local/mariadb-maxscale");
|
strcpy(path, get_cachedir());
|
||||||
if ((ptr = getenv("MAXSCALE_HOME")) != NULL)
|
strncat(path,"/",PATH_MAX);
|
||||||
{
|
|
||||||
strncpy(path, ptr,PATH_MAX);
|
|
||||||
}
|
|
||||||
strncat(path, "/",PATH_MAX);
|
|
||||||
strncat(path, router->service->name,PATH_MAX);
|
strncat(path, router->service->name,PATH_MAX);
|
||||||
|
|
||||||
if (access(path, R_OK) == -1)
|
if (access(path, R_OK) == -1)
|
||||||
@ -659,24 +655,20 @@ struct stat statb;
|
|||||||
void
|
void
|
||||||
blr_cache_response(ROUTER_INSTANCE *router, char *response, GWBUF *buf)
|
blr_cache_response(ROUTER_INSTANCE *router, char *response, GWBUF *buf)
|
||||||
{
|
{
|
||||||
char path[4097], *ptr;
|
char path[PATH_MAX+1], *ptr;
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
strcpy(path, "/usr/local/mariadb-maxscale");
|
strcpy(path,get_cachedir());
|
||||||
if ((ptr = getenv("MAXSCALE_HOME")) != NULL)
|
strncat(path,"/",PATH_MAX);
|
||||||
{
|
strncat(path, router->service->name, PATH_MAX);
|
||||||
strncpy(path, ptr, 4096);
|
|
||||||
}
|
|
||||||
strncat(path, "/", 4096);
|
|
||||||
strncat(path, router->service->name, 4096);
|
|
||||||
|
|
||||||
if (access(path, R_OK) == -1)
|
if (access(path, R_OK) == -1)
|
||||||
mkdir(path, 0777);
|
mkdir(path, 0777);
|
||||||
strncat(path, "/.cache", 4096);
|
strncat(path, "/.cache", PATH_MAX);
|
||||||
if (access(path, R_OK) == -1)
|
if (access(path, R_OK) == -1)
|
||||||
mkdir(path, 0777);
|
mkdir(path, 0777);
|
||||||
strncat(path, "/", 4096);
|
strncat(path, "/", 4096);
|
||||||
strncat(path, response, 4096);
|
strncat(path, response, PATH_MAX);
|
||||||
|
|
||||||
if ((fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, 0666)) == -1)
|
if ((fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, 0666)) == -1)
|
||||||
return;
|
return;
|
||||||
@ -697,19 +689,15 @@ GWBUF *
|
|||||||
blr_cache_read_response(ROUTER_INSTANCE *router, char *response)
|
blr_cache_read_response(ROUTER_INSTANCE *router, char *response)
|
||||||
{
|
{
|
||||||
struct stat statb;
|
struct stat statb;
|
||||||
char path[4097], *ptr;
|
char path[PATH_MAX+1], *ptr;
|
||||||
int fd;
|
int fd;
|
||||||
GWBUF *buf;
|
GWBUF *buf;
|
||||||
|
|
||||||
strcpy(path, "/usr/local/mariadb-maxscale");
|
strcpy(path, get_cachedir());
|
||||||
if ((ptr = getenv("MAXSCALE_HOME")) != NULL)
|
strncat(path, "/", PATH_MAX);
|
||||||
{
|
strncat(path, router->service->name, PATH_MAX);
|
||||||
strncpy(path, ptr, 4096);
|
strncat(path, "/.cache/", PATH_MAX);
|
||||||
}
|
strncat(path, response, PATH_MAX);
|
||||||
strncat(path, "/", 4096);
|
|
||||||
strncat(path, router->service->name, 4096);
|
|
||||||
strncat(path, "/.cache/", 4096);
|
|
||||||
strncat(path, response, 4096);
|
|
||||||
|
|
||||||
if ((fd = open(path, O_RDONLY)) == -1)
|
if ((fd = open(path, O_RDONLY)) == -1)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Reference in New Issue
Block a user