Commit 8ae9f145 authored by unknown's avatar unknown

Checked and applied Novell-supplied patches inside the netware directory only.


netware/BUILD/compile-linux-tools:
  Need to run make on sql_yacc.cc.
netware/BUILD/compile-netware-END:
  Use .zip package.
netware/BUILD/compile-netware-all:
  Add compile-netware-src.
netware/BUILD/compile-netware-standard:
  Need backslash to avoid error.
netware/BUILD/mwenv:
  Add additional include, library paths, -dialect and -map flags for CW.
netware/BUILD/nwbootstrap:
  Additional status messages, update versions in .def files.
netware/Makefile.am:
  Cosmetic change, add @openssl_libs@ in case of OpenSSL feature usage.
netware/isamchk.def:
  Add SCREENNAME to allow interaction.
netware/my_manage.c:
  Take out unused args to mysqladmin.
netware/myisamchk.def:
  Add SCREENNAME to allow interaction.
netware/myisamlog.def:
  Add SCREENNAME to allow interaction.
netware/myisampack.def:
  Add SCREENNAME to allow interaction.
netware/mysql_test_run.c:
  Multiple changes to help test suite.
netware/mysqlbinlog.def:
  Add SCREENNAME to allow interaction.
netware/mysqlcheck.def:
  Add SCREENNAME to allow interaction.
netware/mysqld_safe.c:
  Make error message more accurate/descriptive.
netware/mysqldump.def:
  Add SCREENNAME to allow interaction.
netware/mysqlimport.def:
  Add SCREENNAME to allow interaction.
parent 9d8bf698
#! /bin/sh #! /bin/sh
# debug # debug
#set -x #set -x
...@@ -46,6 +46,9 @@ make clean config.h ...@@ -46,6 +46,9 @@ make clean config.h
(cd sql; make gen_lex_hash) (cd sql; make gen_lex_hash)
(cd strings; make conf_to_src) (cd strings; make conf_to_src)
# so the file will be linked
(cd sql; make sql_yacc.cc)
# copying required linux tools # copying required linux tools
cp extra/comp_err extra/comp_err.linux cp extra/comp_err extra/comp_err.linux
cp libmysql/conf_to_src libmysql/conf_to_src.linux cp libmysql/conf_to_src libmysql/conf_to_src.linux
......
#! /bin/sh #! /bin/sh
# debug # debug
#set -x #set -x
...@@ -29,7 +29,7 @@ rm -rf Makefile.in.bk ...@@ -29,7 +29,7 @@ rm -rf Makefile.in.bk
make clean bin-dist make clean bin-dist
# mark the build # mark the build
for file in *.tar.gz for file in *.tar.gz *.zip
do do
if (expr "$file" : "mysql-[1-9].*" > /dev/null) if (expr "$file" : "mysql-[1-9].*" > /dev/null)
then then
......
...@@ -8,6 +8,7 @@ set -e ...@@ -8,6 +8,7 @@ set -e
path=`dirname $0` path=`dirname $0`
$path/compile-netware-src
$path/compile-netware-standard $path/compile-netware-standard
$path/compile-netware-debug $path/compile-netware-debug
#$path/compile-netware-max #$path/compile-netware-max
......
...@@ -13,7 +13,7 @@ path=`dirname $0` ...@@ -13,7 +13,7 @@ path=`dirname $0`
suffix="standard" suffix="standard"
extra_configs=" \ extra_configs=" \
--with-innodb --with-innodb \
" "
. $path/compile-netware-END . $path/compile-netware-END
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
# the default is "F:/mydev" # the default is "F:/mydev"
export MYDEV="WINE_BUILD_DIR" export MYDEV="WINE_BUILD_DIR"
export MWCNWx86Includes="$MYDEV/libc/include" export MWCNWx86Includes="$MYDEV/libc/include;$MYDEV"
export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib" export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/mysql-VERSION/netware/BUILD"
export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib" export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib;knetware.imp"
export WINEPATH="$MYDEV/mw/bin" export WINEPATH="$MYDEV/mw/bin"
...@@ -19,11 +19,11 @@ export AR='mwldnlm' ...@@ -19,11 +19,11 @@ export AR='mwldnlm'
export AR_FLAGS='-type library -o' export AR_FLAGS='-type library -o'
export AS='mwasmnlm' export AS='mwasmnlm'
export CC='mwccnlm -gccincludes' export CC='mwccnlm -gccincludes'
export CFLAGS='-dialect c -proc 686 -relax_pointers' export CFLAGS='-align 8 -proc 686 -relax_pointers -dialect c'
export CXX='mwccnlm -gccincludes' export CXX='mwccnlm -gccincludes'
export CXXFLAGS='-dialect c++ -proc 686 -bool on -wchar_t on -relax_pointers -D_WCHAR_T' export CXXFLAGS='-align 8 -proc 686 -relax_pointers -dialect c++ -bool on -wchar_t on -D_WCHAR_T'
export LD='mwldnlm' export LD='mwldnlm'
export LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption' export LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -map -flags pseudopreemption'
export RANLIB=: export RANLIB=:
export STRIP=: export STRIP=:
...@@ -11,7 +11,7 @@ path=`dirname $0` ...@@ -11,7 +11,7 @@ path=`dirname $0`
# repository direcotry # repository direcotry
repo_dir=`pwd` repo_dir=`pwd`
# build direcotry # build directory
build_dir="$HOME/mydev" build_dir="$HOME/mydev"
wine_build_dir="F:/mydev" wine_build_dir="F:/mydev"
...@@ -147,10 +147,12 @@ then ...@@ -147,10 +147,12 @@ then
fi fi
# make files writeable # make files writeable
echo "making files writable..."
cd $target_dir cd $target_dir
chmod -R u+rw,g+rw . chmod -R u+rw,g+rw .
# edit the mvenv file # edit the mvenv file
echo "updating the mwenv environment file..."
mwenv="./netware/BUILD/mwenv" mwenv="./netware/BUILD/mwenv"
mv -f $mwenv $mwenv.org mv -f $mwenv $mwenv.org
sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
...@@ -158,6 +160,17 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \ ...@@ -158,6 +160,17 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
-e "s;VERSION;$version;g" $mwenv.org > $mwenv -e "s;VERSION;$version;g" $mwenv.org > $mwenv
chmod +rwx $mwenv chmod +rwx $mwenv
# edit the def file versions
echo "updating *.def file versions..."
nlm_version=`echo "$version" | sed -e "s;\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*;\1, \2, \3;"`
for file in ./netware/*.def
do
mv -f $file $file.org
sed -e "s;VERSION.*;VERSION $nlm_version;g" $file.org > $file
rm $file.org
done
# build linux tools # build linux tools
echo "compiling linux tools..." echo "compiling linux tools..."
./netware/BUILD/compile-linux-tools ./netware/BUILD/compile-linux-tools
......
# Copyright (c) 2002 Novell, Inc. All Rights Reserved. # Copyright (c) 2002 Novell, Inc. All Rights Reserved.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
...@@ -20,7 +20,7 @@ mysqld_safe_SOURCES= mysqld_safe.c my_manage.c ...@@ -20,7 +20,7 @@ mysqld_safe_SOURCES= mysqld_safe.c my_manage.c
mysql_install_db_SOURCES= mysql_install_db.c my_manage.c mysql_install_db_SOURCES= mysql_install_db.c my_manage.c
mysql_test_run_SOURCES= mysql_test_run.c my_manage.c mysql_test_run_SOURCES= mysql_test_run.c my_manage.c
libmysql_SOURCES= libmysqlmain.c libmysql_SOURCES= libmysqlmain.c
libmysql_LDADD = ../libmysql/.libs/libmysqlclient.a libmysql_LDADD = ../libmysql/.libs/libmysqlclient.a @openssl_libs@
netware_build_files = client/mysql.def client/mysqladmin.def \ netware_build_files = client/mysql.def client/mysqladmin.def \
client/mysqlbinlog.def client/mysqlcheck.def \ client/mysqlbinlog.def client/mysqlcheck.def \
...@@ -29,12 +29,12 @@ netware_build_files = client/mysql.def client/mysqladmin.def \ ...@@ -29,12 +29,12 @@ netware_build_files = client/mysql.def client/mysqladmin.def \
extra/mysql_install.def extra/my_print_defaults.def \ extra/mysql_install.def extra/my_print_defaults.def \
extra/perror.def extra/replace.def \ extra/perror.def extra/replace.def \
extra/resolveip.def extra/comp_err.def \ extra/resolveip.def extra/comp_err.def \
isam/isamchk.def \ isam/isamchk.def \
isam/isamlog.def isam/pack_isam.def \ isam/isamlog.def isam/pack_isam.def \
libmysqld/libmysqld.def myisam/myisamchk.def \ libmysqld/libmysqld.def myisam/myisamchk.def \
myisam/myisamlog.def myisam/myisampack.def \ myisam/myisamlog.def myisam/myisampack.def \
sql/mysqld.def sql/mysqld.def
link_sources: link_sources:
set -x; \ set -x; \
for f in $(netware_build_files); do \ for f in $(netware_build_files); do \
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# ISAM Check # ISAM Check
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL ISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Check Tool" DESCRIPTION "MySQL ISAM Table Check Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -157,7 +157,7 @@ int sleep_until_file_deleted(char *pid_file) ...@@ -157,7 +157,7 @@ int sleep_until_file_deleted(char *pid_file)
/****************************************************************************** /******************************************************************************
sleep_until_file_exists() sleep_until_file_exists()
Sleep until the given file exists. Sleep until the given file exists.
******************************************************************************/ ******************************************************************************/
...@@ -199,9 +199,13 @@ int wait_for_server_start(char *bin_dir, char *user, char *password, int port) ...@@ -199,9 +199,13 @@ int wait_for_server_start(char *bin_dir, char *user, char *password, int port)
add_arg(&al, "--user=%s", user); add_arg(&al, "--user=%s", user);
add_arg(&al, "--password=%s", password); add_arg(&al, "--password=%s", password);
add_arg(&al, "--silent"); add_arg(&al, "--silent");
/** Not supported on NetWare
add_arg(&al, "-O"); add_arg(&al, "-O");
add_arg(&al, "connect_timeout=10"); add_arg(&al, "connect_timeout=10");
add_arg(&al, "-w"); add_arg(&al, "-w");
**/
add_arg(&al, "--host=localhost"); add_arg(&al, "--host=localhost");
add_arg(&al, "ping"); add_arg(&al, "ping");
...@@ -210,7 +214,7 @@ int wait_for_server_start(char *bin_dir, char *user, char *password, int port) ...@@ -210,7 +214,7 @@ int wait_for_server_start(char *bin_dir, char *user, char *password, int port)
for(i = 0; (i < TRY_MAX) for(i = 0; (i < TRY_MAX)
&& (err = spawn(mysqladmin_file, &al, TRUE, NULL, && (err = spawn(mysqladmin_file, &al, TRUE, NULL,
trash, NULL)); i++) sleep(1); trash, NULL)); i++) sleep(1);
// free args // free args
free_args(&al); free_args(&al);
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MyISAM Check # MyISAM Check
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Check Tool" DESCRIPTION "MySQL MyISAM Table Check Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MyISAM Log # MyISAM Log
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Log Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Log Tool" DESCRIPTION "MySQL MyISAM Table Log Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MyISAM Pack # MyISAM Pack
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Pack Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Pack Tool" DESCRIPTION "MySQL MyISAM Table Pack Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <sys/mode.h>
#include "my_config.h" #include "my_config.h"
#include "my_manage.h" #include "my_manage.h"
...@@ -94,6 +95,13 @@ char slave_master_info[PATH_MAX] = ""; ...@@ -94,6 +95,13 @@ char slave_master_info[PATH_MAX] = "";
char master_init_script[PATH_MAX] = ""; char master_init_script[PATH_MAX] = "";
char slave_init_script[PATH_MAX] = ""; char slave_init_script[PATH_MAX] = "";
// OpenSSL
char ca_cert[PATH_MAX];
char server_cert[PATH_MAX];
char server_key[PATH_MAX];
char client_cert[PATH_MAX];
char client_key[PATH_MAX];
int total_skip = 0; int total_skip = 0;
int total_pass = 0; int total_pass = 0;
int total_fail = 0; int total_fail = 0;
...@@ -101,6 +109,7 @@ int total_test = 0; ...@@ -101,6 +109,7 @@ int total_test = 0;
double total_time = 0; double total_time = 0;
int use_openssl = FALSE;
int master_running = FALSE; int master_running = FALSE;
int slave_running = FALSE; int slave_running = FALSE;
int skip_slave = TRUE; int skip_slave = TRUE;
...@@ -184,7 +193,7 @@ void install_db(char *datadir) ...@@ -184,7 +193,7 @@ void install_db(char *datadir)
char input[PATH_MAX]; char input[PATH_MAX];
char output[PATH_MAX]; char output[PATH_MAX];
char error[PATH_MAX]; char error[PATH_MAX];
// input file // input file
snprintf(input, PATH_MAX, "%s/bin/init_db.sql", base_dir); snprintf(input, PATH_MAX, "%s/bin/init_db.sql", base_dir);
snprintf(output, PATH_MAX, "%s/install.out", datadir); snprintf(output, PATH_MAX, "%s/install.out", datadir);
...@@ -193,13 +202,14 @@ void install_db(char *datadir) ...@@ -193,13 +202,14 @@ void install_db(char *datadir)
// args // args
init_args(&al); init_args(&al);
add_arg(&al, mysqld_file); add_arg(&al, mysqld_file);
add_arg(&al, "--no-defaults");
add_arg(&al, "--bootstrap"); add_arg(&al, "--bootstrap");
add_arg(&al, "--skip-grant-tables"); add_arg(&al, "--skip-grant-tables");
add_arg(&al, "--basedir=%s", base_dir); add_arg(&al, "--basedir=%s", base_dir);
add_arg(&al, "--datadir=%s", datadir); add_arg(&al, "--datadir=%s", datadir);
add_arg(&al, "--skip-innodb"); add_arg(&al, "--skip-innodb");
add_arg(&al, "--skip-bdb"); add_arg(&al, "--skip-bdb");
// spawn // spawn
if ((err = spawn(mysqld_file, &al, TRUE, input, output, error)) != 0) if ((err = spawn(mysqld_file, &al, TRUE, input, output, error)) != 0)
{ {
...@@ -266,15 +276,16 @@ void start_master() ...@@ -266,15 +276,16 @@ void start_master()
int err, i; int err, i;
char master_out[PATH_MAX]; char master_out[PATH_MAX];
char master_err[PATH_MAX]; char master_err[PATH_MAX];
char temp[PATH_MAX], temp2[PATH_MAX];
// remove old berkeley db log files that can confuse the server // remove old berkeley db log files that can confuse the server
removef("%s/log.*", master_dir); removef("%s/log.*", master_dir);
// remove stale binary logs // remove stale binary logs
removef("%s/*-bin.*", master_dir); removef("%s/var/log/*-bin.*", mysql_test_dir);
// remove stale binary logs // remove stale binary logs
removef("%s/*.index", master_dir); removef("%s/var/log/*.index", mysql_test_dir);
// remove master.info file // remove master.info file
removef("%s/master.info", master_dir); removef("%s/master.info", master_dir);
...@@ -284,11 +295,26 @@ void start_master() ...@@ -284,11 +295,26 @@ void start_master()
// remove relay-log.info file // remove relay-log.info file
removef("%s/relay-log.info", master_dir); removef("%s/relay-log.info", master_dir);
// init script // init script
if (master_init_script[0] != NULL) if (master_init_script[0] != NULL)
{ {
// run_init_script(master_init_script); // run_init_script(master_init_script);
// TODO: use the scripts
if (strindex(master_init_script, "repair_part2-master.sh") != NULL)
{
FILE *fp;
// create an empty index file
snprintf(temp, PATH_MAX, "%s/test/t1.MYI", master_dir);
fp = fopen(temp, "wb+");
fputs("1", fp);
fclose(fp);
}
} }
// redirection files // redirection files
...@@ -296,12 +322,17 @@ void start_master() ...@@ -296,12 +322,17 @@ void start_master()
mysql_test_dir, restarts); mysql_test_dir, restarts);
snprintf(master_err, PATH_MAX, "%s/var/run/master%u.err", snprintf(master_err, PATH_MAX, "%s/var/run/master%u.err",
mysql_test_dir, restarts); mysql_test_dir, restarts);
snprintf(temp2,PATH_MAX,"%s/var",mysql_test_dir);
mkdir(temp2,0);
snprintf(temp2,PATH_MAX,"%s/var/log",mysql_test_dir);
mkdir(temp2,0);
// args // args
init_args(&al); init_args(&al);
add_arg(&al, "%s", mysqld_file); add_arg(&al, "%s", mysqld_file);
add_arg(&al, "--no-defaults"); add_arg(&al, "--no-defaults");
add_arg(&al, "--log-bin=master-bin"); add_arg(&al, "--log-bin=%s/var/log/master-bin",mysql_test_dir);
add_arg(&al, "--server-id=1"); add_arg(&al, "--server-id=1");
add_arg(&al, "--basedir=%s", base_dir); add_arg(&al, "--basedir=%s", base_dir);
add_arg(&al, "--port=%u", master_port); add_arg(&al, "--port=%u", master_port);
...@@ -312,11 +343,18 @@ void start_master() ...@@ -312,11 +343,18 @@ void start_master()
add_arg(&al, "--character-sets-dir=%s", char_dir); add_arg(&al, "--character-sets-dir=%s", char_dir);
add_arg(&al, "--tmpdir=%s", mysql_tmp_dir); add_arg(&al, "--tmpdir=%s", mysql_tmp_dir);
add_arg(&al, "--language=%s", lang_dir); add_arg(&al, "--language=%s", lang_dir);
if (use_openssl)
{
add_arg(&al, "--ssl-ca=%s", ca_cert);
add_arg(&al, "--ssl-cert=%s", server_cert);
add_arg(&al, "--ssl-key=%s", server_key);
}
// $MASTER_40_ARGS // $MASTER_40_ARGS
add_arg(&al, "--rpl-recovery-rank=1"); add_arg(&al, "--rpl-recovery-rank=1");
add_arg(&al, "--init-rpl-role=master"); add_arg(&al, "--init-rpl-role=master");
// $SMALL_SERVER // $SMALL_SERVER
add_arg(&al, "-O"); add_arg(&al, "-O");
add_arg(&al, "key_buffer_size=1M"); add_arg(&al, "key_buffer_size=1M");
...@@ -329,17 +367,24 @@ void start_master() ...@@ -329,17 +367,24 @@ void start_master()
if (master_opt[0] != NULL) if (master_opt[0] != NULL)
{ {
char *p; char *p;
char *temp;
p = (char *)strtok(master_opt, " \t"); p = (char *)strtok(master_opt, " \t");
while(p) if ((temp = strstr(p, "timezone")) == NULL)
{ {
add_arg(&al, "%s", p); while(p)
{
p = (char *)strtok(NULL, " \t"); add_arg(&al, "%s", p);
p = (char *)strtok(NULL, " \t");
}
}
else
{
//do nothing
} }
} }
// remove the pid file if it exists // remove the pid file if it exists
remove(master_pid); remove(master_pid);
...@@ -347,7 +392,7 @@ void start_master() ...@@ -347,7 +392,7 @@ void start_master()
if ((err = spawn(mysqld_file, &al, FALSE, NULL, master_out, master_err)) == 0) if ((err = spawn(mysqld_file, &al, FALSE, NULL, master_out, master_err)) == 0)
{ {
sleep_until_file_exists(master_pid); sleep_until_file_exists(master_pid);
if ((err = wait_for_server_start(bin_dir, user, password, master_port)) == 0) if ((err = wait_for_server_start(bin_dir, user, password, master_port)) == 0)
{ {
master_running = TRUE; master_running = TRUE;
...@@ -361,7 +406,7 @@ void start_master() ...@@ -361,7 +406,7 @@ void start_master()
{ {
log_error("Unable to start master server."); log_error("Unable to start master server.");
} }
// free_args // free_args
free_args(&al); free_args(&al);
} }
...@@ -409,7 +454,7 @@ void start_slave() ...@@ -409,7 +454,7 @@ void start_slave()
{ {
// create empty master.info file // create empty master.info file
snprintf(temp, PATH_MAX, "%s/master.info", slave_dir); snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
close(open(temp, O_WRONLY | O_CREAT)); close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO));
} }
else if (strindex(slave_init_script, "rpl000017-slave.sh") != NULL) else if (strindex(slave_init_script, "rpl000017-slave.sh") != NULL)
{ {
...@@ -434,7 +479,7 @@ void start_slave() ...@@ -434,7 +479,7 @@ void start_slave()
{ {
// create empty master.info file // create empty master.info file
snprintf(temp, PATH_MAX, "%s/master.info", slave_dir); snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
close(open(temp, O_WRONLY | O_CREAT)); close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO));
} }
} }
...@@ -458,7 +503,7 @@ void start_slave() ...@@ -458,7 +503,7 @@ void start_slave()
add_arg(&al, "--core"); add_arg(&al, "--core");
add_arg(&al, "--tmpdir=%s", mysql_tmp_dir); add_arg(&al, "--tmpdir=%s", mysql_tmp_dir);
add_arg(&al, "--language=%s", lang_dir); add_arg(&al, "--language=%s", lang_dir);
add_arg(&al, "--exit-info=256"); add_arg(&al, "--exit-info=256");
add_arg(&al, "--log-slave-updates"); add_arg(&al, "--log-slave-updates");
add_arg(&al, "--init-rpl-role=slave"); add_arg(&al, "--init-rpl-role=slave");
...@@ -474,6 +519,13 @@ void start_slave() ...@@ -474,6 +519,13 @@ void start_slave()
add_arg(&al, "-O"); add_arg(&al, "-O");
add_arg(&al, "slave_net_timeout=10"); add_arg(&al, "slave_net_timeout=10");
if (use_openssl)
{
add_arg(&al, "--ssl-ca=%s", ca_cert);
add_arg(&al, "--ssl-cert=%s", server_cert);
add_arg(&al, "--ssl-key=%s", server_key);
}
// slave master info // slave master info
if (slave_master_info[0] != NULL) if (slave_master_info[0] != NULL)
{ {
...@@ -557,10 +609,11 @@ void start_slave() ...@@ -557,10 +609,11 @@ void start_slave()
******************************************************************************/ ******************************************************************************/
void mysql_start() void mysql_start()
{ {
log_info("Starting the MySQL server(s): %u", ++restarts);
start_master(); start_master();
start_slave(); start_slave();
// activate the test screen // activate the test screen
ActivateScreen(getscreenhandle()); ActivateScreen(getscreenhandle());
} }
...@@ -568,17 +621,17 @@ void mysql_start() ...@@ -568,17 +621,17 @@ void mysql_start()
/****************************************************************************** /******************************************************************************
stop_slave() stop_slave()
Stop the slave server. Stop the slave server.
******************************************************************************/ ******************************************************************************/
void stop_slave() void stop_slave()
{ {
int err; int err;
// running? // running?
if (!slave_running) return; if (!slave_running) return;
// stop // stop
if ((err = stop_server(bin_dir, user, password, slave_port, slave_pid)) == 0) if ((err = stop_server(bin_dir, user, password, slave_port, slave_pid)) == 0)
{ {
...@@ -593,17 +646,17 @@ void stop_slave() ...@@ -593,17 +646,17 @@ void stop_slave()
/****************************************************************************** /******************************************************************************
stop_master() stop_master()
Stop the master server. Stop the master server.
******************************************************************************/ ******************************************************************************/
void stop_master() void stop_master()
{ {
int err; int err;
// running? // running?
if (!master_running) return; if (!master_running) return;
if ((err = stop_server(bin_dir, user, password, master_port, master_pid)) == 0) if ((err = stop_server(bin_dir, user, password, master_port, master_pid)) == 0)
{ {
master_running = FALSE; master_running = FALSE;
...@@ -617,16 +670,17 @@ void stop_master() ...@@ -617,16 +670,17 @@ void stop_master()
/****************************************************************************** /******************************************************************************
mysql_stop() mysql_stop()
Stop the mysql servers. Stop the mysql servers.
******************************************************************************/ ******************************************************************************/
void mysql_stop() void mysql_stop()
{ {
log_info("Stopping the MySQL server(s)...");
stop_master(); stop_master();
stop_slave(); stop_slave();
// activate the test screen // activate the test screen
ActivateScreen(getscreenhandle()); ActivateScreen(getscreenhandle());
} }
...@@ -634,13 +688,12 @@ void mysql_stop() ...@@ -634,13 +688,12 @@ void mysql_stop()
/****************************************************************************** /******************************************************************************
mysql_restart() mysql_restart()
Restart the mysql servers. Restart the mysql servers.
******************************************************************************/ ******************************************************************************/
void mysql_restart() void mysql_restart()
{ {
log_info("Restarting the MySQL server(s): %u", ++restarts);
mysql_stop(); mysql_stop();
...@@ -650,7 +703,7 @@ void mysql_restart() ...@@ -650,7 +703,7 @@ void mysql_restart()
/****************************************************************************** /******************************************************************************
read_option() read_option()
Read the option file. Read the option file.
******************************************************************************/ ******************************************************************************/
...@@ -660,10 +713,10 @@ int read_option(char *opt_file, char *opt) ...@@ -660,10 +713,10 @@ int read_option(char *opt_file, char *opt)
int result; int result;
char *p; char *p;
char buf[PATH_MAX]; char buf[PATH_MAX];
// copy current option // copy current option
strncpy(buf, opt, PATH_MAX); strncpy(buf, opt, PATH_MAX);
// open options file // open options file
fd = open(opt_file, O_RDONLY); fd = open(opt_file, O_RDONLY);
...@@ -771,14 +824,19 @@ void run_test(char *test) ...@@ -771,14 +824,19 @@ void run_test(char *test)
if (stat(test_file, &info)) if (stat(test_file, &info))
{ {
snprintf(test_file, PATH_MAX, "%s/%s%s", test_dir, test, TEST_SUFFIX); snprintf(test_file, PATH_MAX, "%s/%s%s", test_dir, test, TEST_SUFFIX);
if(access(test_file,0))
{
printf("Invalid test name %s, %s file not found\n",test,test_file);
return;
}
} }
snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, NW_RESULT_SUFFIX); snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, NW_RESULT_SUFFIX);
if (stat(result_file, &info)) if (stat(result_file, &info))
{ {
snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, RESULT_SUFFIX); snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, RESULT_SUFFIX);
} }
// init scripts // init scripts
snprintf(master_init_script, PATH_MAX, "%s/%s-master.sh", test_dir, test); snprintf(master_init_script, PATH_MAX, "%s/%s-master.sh", test_dir, test);
if (stat(master_init_script, &info)) if (stat(master_init_script, &info))
...@@ -826,7 +884,14 @@ void run_test(char *test) ...@@ -826,7 +884,14 @@ void run_test(char *test)
add_arg(&al, "-v"); add_arg(&al, "-v");
add_arg(&al, "-R"); add_arg(&al, "-R");
add_arg(&al, "%s", result_file); add_arg(&al, "%s", result_file);
if (use_openssl)
{
add_arg(&al, "--ssl-ca=%s", ca_cert);
add_arg(&al, "--ssl-cert=%s", client_cert);
add_arg(&al, "--ssl-key=%s", client_key);
}
// start timer // start timer
NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &start); NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &start);
...@@ -915,7 +980,7 @@ void vlog(char *format, va_list ap) ...@@ -915,7 +980,7 @@ void vlog(char *format, va_list ap)
void log(char *format, ...) void log(char *format, ...)
{ {
va_list ap; va_list ap;
va_start(ap, format); va_start(ap, format);
vlog(format, ap); vlog(format, ap);
...@@ -1009,8 +1074,10 @@ void die(char *msg) ...@@ -1009,8 +1074,10 @@ void die(char *msg)
void setup(char *file) void setup(char *file)
{ {
char temp[PATH_MAX]; char temp[PATH_MAX];
char mysqldump_load[PATH_MAX*2],mysqlbinlog_load[PATH_MAX*2];
char *p; char *p;
// set the timezone for the timestamp test // set the timezone for the timestamp test
setenv("TZ", "GMT-3", TRUE); setenv("TZ", "GMT-3", TRUE);
...@@ -1023,7 +1090,7 @@ void setup(char *file) ...@@ -1023,7 +1090,7 @@ void setup(char *file)
*p = NULL; *p = NULL;
strcpy(base_dir, temp); strcpy(base_dir, temp);
} }
// setup paths // setup paths
snprintf(bin_dir, PATH_MAX, "%s/bin", base_dir); snprintf(bin_dir, PATH_MAX, "%s/bin", base_dir);
snprintf(mysql_test_dir, PATH_MAX, "%s/mysql-test", base_dir); snprintf(mysql_test_dir, PATH_MAX, "%s/mysql-test", base_dir);
...@@ -1034,7 +1101,18 @@ void setup(char *file) ...@@ -1034,7 +1101,18 @@ void setup(char *file)
snprintf(slave_dir, PATH_MAX, "%s/var/slave-data", mysql_test_dir); snprintf(slave_dir, PATH_MAX, "%s/var/slave-data", mysql_test_dir);
snprintf(lang_dir, PATH_MAX, "%s/share/english", base_dir); snprintf(lang_dir, PATH_MAX, "%s/share/english", base_dir);
snprintf(char_dir, PATH_MAX, "%s/share/charsets", base_dir); snprintf(char_dir, PATH_MAX, "%s/share/charsets", base_dir);
#ifdef HAVE_OPENSSL
use_openssl = TRUE;
#endif // HAVE_OPENSSL
// OpenSSL paths
snprintf(ca_cert, PATH_MAX, "%s/SSL/cacert.pem", base_dir);
snprintf(server_cert, PATH_MAX, "%s/SSL/server-cert.pem", base_dir);
snprintf(server_key, PATH_MAX, "%s/SSL/server-key.pem", base_dir);
snprintf(client_cert, PATH_MAX, "%s/SSL/client-cert.pem", base_dir);
snprintf(client_key, PATH_MAX, "%s/SSL/client-key.pem", base_dir);
// setup files // setup files
snprintf(mysqld_file, PATH_MAX, "%s/mysqld", bin_dir); snprintf(mysqld_file, PATH_MAX, "%s/mysqld", bin_dir);
snprintf(mysqltest_file, PATH_MAX, "%s/mysqltest", bin_dir); snprintf(mysqltest_file, PATH_MAX, "%s/mysqltest", bin_dir);
...@@ -1048,14 +1126,19 @@ void setup(char *file) ...@@ -1048,14 +1126,19 @@ void setup(char *file)
{ {
log_errno("Unable to create log file."); log_errno("Unable to create log file.");
} }
// prepare skip test list // prepare skip test list
while((p = strchr(skip_test, ',')) != NULL) *p = ' '; while((p = strchr(skip_test, ',')) != NULL) *p = ' ';
strcpy(temp, strlwr(skip_test)); strcpy(temp, strlwr(skip_test));
snprintf(skip_test, PATH_MAX, " %s ", temp); snprintf(skip_test, PATH_MAX, " %s ", temp);
// enviornment snprintf(mysqlbinlog_load,PATH_MAX*2,"%s/mysqlbinlog --no-defaults --local-load=%s",bin_dir,mysql_tmp_dir);
snprintf(mysqldump_load,PATH_MAX*2,"%s/mysqldump --no-defaults -uroot --port=%d",bin_dir,master_port);
// environment
setenv("MYSQL_TEST_DIR", mysql_test_dir, 1); setenv("MYSQL_TEST_DIR", mysql_test_dir, 1);
setenv("MYSQL_DUMP", mysqldump_load, 1);
setenv("MYSQL_BINLOG", mysqlbinlog_load, 1);
setenv("MASTER_MYPORT", "9306", 1);
} }
/****************************************************************************** /******************************************************************************
...@@ -1087,7 +1170,7 @@ int main(int argc, char **argv) ...@@ -1087,7 +1170,7 @@ int main(int argc, char **argv)
int i; int i;
// single test // single test
single_test = TRUE; single_test = TRUE;
for (i = 1; i < argc; i++) for (i = 1; i < argc; i++)
{ {
...@@ -1131,21 +1214,21 @@ int main(int argc, char **argv) ...@@ -1131,21 +1214,21 @@ int main(int argc, char **argv)
closedir(dir); closedir(dir);
} }
log(DASH);
log("\n");
log("Ending Tests...\n");
// stop server // stop server
mysql_stop(); mysql_stop();
log(DASH);
log("\n");
log("Ending Tests...\n");
// report stats // report stats
report_stats(); report_stats();
// close log // close log
if (log_fd) fclose(log_fd); if (log_fd) fclose(log_fd);
// keep results up // keep results up
pressanykey(); pressanykey();
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Binary Log # MySQL Binary Log
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Binary Log Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Binary Log Dump Tool" DESCRIPTION "MySQL Binary Log Dump Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Client # MySQL Client
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Check Tool" DESCRIPTION "MySQL Check Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -456,10 +456,10 @@ void check_data_vol() ...@@ -456,10 +456,10 @@ void check_data_vol()
// retrieve information // retrieve information
netware_vol_info_from_name(&vol, buff); netware_vol_info_from_name(&vol, buff);
if ((vol.flags & VOL_NSS_PRESENT) == 0) if ((vol.flags & VOL_NSS_PRESENT) == 0)
{ {
log("Error: The data directory is not on an NSS volume!\n\n"); log("Error: Either the data directory does not exist or is not on an NSS volume!\n\n");
exit(-1); exit(-1);
} }
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Admin # MySQL Admin
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Dump Tool" DESCRIPTION "MySQL Dump Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Client # MySQL Client
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Import"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Import Tool" DESCRIPTION "MySQL Import Tool"
VERSION 4, 0 VERSION 4, 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment