Loading client/mysql_upgrade.c +39 −30 Original line number Diff line number Diff line Loading @@ -342,12 +342,6 @@ static my_bool get_full_path_to_executable(char* path) /* Look for the tool in the same directory as mysql_upgrade. When running in a not yet installed build the the program will exist but it need to be invoked via it's libtool wrapper. Check if the found tool can executed and if not look in the directory one step higher up where the libtool wrapper normally is found */ static void find_tool(char *tool_path, const char *tool_name) Loading Loading @@ -385,16 +379,32 @@ static void find_tool(char *tool_path, const char *tool_name) path[0]= 0; } } do { DBUG_PRINT("enter", ("path: %s", path)); /* Chop off last char(since it might be a /) */ path[max((strlen(path)-1), 0)]= 0; DBUG_PRINT("info", ("path: '%s'", path)); /* Chop off last dir part */ /* Chop off binary name (i.e mysql-upgrade) from path */ dirname_part(path, path); /* When running in a not yet installed build and using libtool, the program(mysql_upgrade) will be in .libs/ and executed through a libtool wrapper in order to use the dynamic libraries from this build. The same must be done for the tools(mysql and mysqlcheck). Thus if path ends in .libs/, step up one directory and execute the tools from there */ path[max((strlen(path)-1), 0)]= 0; /* Chop off last / */ if (strncmp(path + dirname_length(path), ".libs", 5) == 0) { DBUG_PRINT("info", ("Chopping off .libs from '%s'", path)); /* Chop off .libs */ dirname_part(path, path); } DBUG_PRINT("info", ("path: '%s'", path)); /* Format name of the tool to search for */ fn_format(tool_path, tool_name, path, "", MYF(MY_REPLACE_DIR)); Loading @@ -406,16 +416,15 @@ static void find_tool(char *tool_path, const char *tool_name) die("Can't find '%s'", tool_path); /* Make sure it can be executed, otherwise try again in higher level directory Make sure it can be executed */ } while(run_tool(tool_path, if (run_tool(tool_path, &ds_tmp, /* Get output from command, discard*/ "--help", "2>&1", IF_WIN("> NUL", "> /dev/null"), NULL)); NULL)) die("Can't execute '%s'", tool_path); dynstr_free(&ds_tmp); Loading Loading
client/mysql_upgrade.c +39 −30 Original line number Diff line number Diff line Loading @@ -342,12 +342,6 @@ static my_bool get_full_path_to_executable(char* path) /* Look for the tool in the same directory as mysql_upgrade. When running in a not yet installed build the the program will exist but it need to be invoked via it's libtool wrapper. Check if the found tool can executed and if not look in the directory one step higher up where the libtool wrapper normally is found */ static void find_tool(char *tool_path, const char *tool_name) Loading Loading @@ -385,16 +379,32 @@ static void find_tool(char *tool_path, const char *tool_name) path[0]= 0; } } do { DBUG_PRINT("enter", ("path: %s", path)); /* Chop off last char(since it might be a /) */ path[max((strlen(path)-1), 0)]= 0; DBUG_PRINT("info", ("path: '%s'", path)); /* Chop off last dir part */ /* Chop off binary name (i.e mysql-upgrade) from path */ dirname_part(path, path); /* When running in a not yet installed build and using libtool, the program(mysql_upgrade) will be in .libs/ and executed through a libtool wrapper in order to use the dynamic libraries from this build. The same must be done for the tools(mysql and mysqlcheck). Thus if path ends in .libs/, step up one directory and execute the tools from there */ path[max((strlen(path)-1), 0)]= 0; /* Chop off last / */ if (strncmp(path + dirname_length(path), ".libs", 5) == 0) { DBUG_PRINT("info", ("Chopping off .libs from '%s'", path)); /* Chop off .libs */ dirname_part(path, path); } DBUG_PRINT("info", ("path: '%s'", path)); /* Format name of the tool to search for */ fn_format(tool_path, tool_name, path, "", MYF(MY_REPLACE_DIR)); Loading @@ -406,16 +416,15 @@ static void find_tool(char *tool_path, const char *tool_name) die("Can't find '%s'", tool_path); /* Make sure it can be executed, otherwise try again in higher level directory Make sure it can be executed */ } while(run_tool(tool_path, if (run_tool(tool_path, &ds_tmp, /* Get output from command, discard*/ "--help", "2>&1", IF_WIN("> NUL", "> /dev/null"), NULL)); NULL)) die("Can't execute '%s'", tool_path); dynstr_free(&ds_tmp); Loading