From 04eef88140312ab5206c6d1b21b58331b1d2c014 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 27 Jun 2008 12:58:07 +0200 Subject: [PATCH 1/8] Version number bump for 5.0.60sp1 --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 9c35dbcc7c7..de0d199af96 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.60) +AM_INIT_AUTOMAKE(mysql, 5.0.60sp1) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=60 +NDB_VERSION_BUILD=60sp1 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From 2be5c627fc9efaaf0d95ce198975055fcaac7b6d Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 27 Jun 2008 18:13:50 +0200 Subject: [PATCH 2/8] Try different sp1 suffix for NDB. --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index de0d199af96..695044fc03b 100644 --- a/configure.in +++ b/configure.in @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=60sp1 +NDB_VERSION_BUILD=60-sp1 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From 3ba4523085b5bce6f667dfab5c3412fb9df4b4e9 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 27 Jun 2008 18:43:45 +0200 Subject: [PATCH 3/8] Revert NDB version bump completely. --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 695044fc03b..02e5e936967 100644 --- a/configure.in +++ b/configure.in @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=60-sp1 +NDB_VERSION_BUILD=60 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From 3033955068e20835666594c4afa3b4802b1bd594 Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Fri, 27 Jun 2008 19:12:42 +0200 Subject: [PATCH 4/8] OS X 10.5 is now a supported platform, so Apple's internal name ("darwin9") must be translated to ours ("osx10.5"). --- scripts/make_binary_distribution.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 50cff8578c9..af3db86af81 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -61,6 +61,7 @@ system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'` system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'` system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'` system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'` +system=`echo $system | sed -e 's/darwin9.*/osx10.5/g'` system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'` system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'` system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'` From 02577084372849f0fc5acf264b6cc971c36f3f9f Mon Sep 17 00:00:00 2001 From: Daniel Fischer Date: Sat, 5 Jul 2008 09:44:10 +0200 Subject: [PATCH 5/8] ild can not be expected on all matching installs --- configure.in | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/configure.in b/configure.in index 247a17da940..c34cd661bbd 100644 --- a/configure.in +++ b/configure.in @@ -2812,9 +2812,15 @@ EOF case $SYSTEM_TYPE-$MACHINE_TYPE-$ac_cv_prog_gcc-$have_ndbcluster in *solaris*-i?86-no-yes) - # ndb fail for whatever strange reason to link Sun Forte/x86 - # unless using incremental linker - CXXFLAGS="$CXXFLAGS -xildon" + if $CC -xildon 2>&1 | grep "illegal option" >/dev/null + then + # This Solaris ld does not support -xildon + true + else + # ndb fail for whatever strange reason to link Sun Forte/x86 + # unless using incremental linker + CXXFLAGS="$CXXFLAGS -xildon" + fi ;; *) ;; esac From 3bcbaf6cbf18dc04ee2495cc6cd2bf8aa399ebb5 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Wed, 9 Jul 2008 13:03:48 +0300 Subject: [PATCH 6/8] fixed a compilation warning on windows 64. --- mysys/default.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysys/default.c b/mysys/default.c index bf32261129b..b7eb963e395 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -1017,7 +1017,7 @@ static const char *my_get_module_parent(char *buf, size_t size) { char *last= NULL; char *end; - if (!GetModuleFileName(NULL, buf, size)) + if (!GetModuleFileName(NULL, buf, (DWORD) size)) return NULL; end= strend(buf); From aa5731dad97ec8ac95d2e4cdd43211460d546b29 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Wed, 16 Jul 2008 16:58:45 -0600 Subject: [PATCH 7/8] Bug #38180 options are read from ~/my.cnf instead of ~/.my.cnf Pull out some of unpack_dirname() into normalize_dirname(); this new function does not expand "~" to the home directory. Use this function in unpack_dirname(), and use it during init_default_directories() to remove duplicate entries without losing track of which directory is a user's home dir. --- include/my_sys.h | 1 + mysys/default.c | 3 +- mysys/mf_pack.c | 79 +++++++++++++++++++++++++++++++++--------------- 3 files changed, 57 insertions(+), 26 deletions(-) diff --git a/include/my_sys.h b/include/my_sys.h index d656326e968..db01223602d 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -681,6 +681,7 @@ extern my_string fn_format(my_string to,const char *name,const char *dir, const char *form, uint flag); extern size_s strlength(const char *str); extern void pack_dirname(my_string to,const char *from); +extern uint normalize_dirname(char * to, const char *from); extern uint unpack_dirname(my_string to,const char *from); extern uint cleanup_dirname(my_string to,const char *from); extern uint system_filename(my_string to,const char *from); diff --git a/mysys/default.c b/mysys/default.c index b7eb963e395..b709b33e2f8 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -965,8 +965,7 @@ static int add_directory(MEM_ROOT *alloc, const char *dir, const char **dirs) char *p; my_bool err __attribute__((unused)); - /* Normalize directory name */ - len= unpack_dirname(buf, dir); + len= normalize_dirname(buf, dir); if (!(p= strmake_root(alloc, buf, len))) return 1; /* Failure */ /* Should never fail if DEFAULT_DIRS_SIZE is correct size */ diff --git a/mysys/mf_pack.c b/mysys/mf_pack.c index 9e8b6516f63..915c11ec51d 100644 --- a/mysys/mf_pack.c +++ b/mysys/mf_pack.c @@ -266,22 +266,64 @@ void symdirget(char *dir) #endif /* USE_SYMDIR */ -/* - Fixes a directroy name so that can be used by open() +/** + Convert a directory name to a format which can be compared as strings - SYNOPSIS - unpack_dirname() - to result-buffer, FN_REFLEN characters. may be == from - from 'Packed' directory name (may contain ~) + @param to result buffer, FN_REFLEN chars in length; may be == from + @param from 'packed' directory name, in whatever format + @returns size of the normalized name - IMPLEMENTATION - Make that last char of to is '/' if from not empty and - from doesn't end in FN_DEVCHAR - Uses cleanup_dirname and changes ~/.. to home_dir/.. + @details + - Ensures that last char is FN_LIBCHAR, unless it is FN_DEVCHAR + - Uses cleanup_dirname - Changes a UNIX filename to system filename (replaces / with \ on windows) + It does *not* expand ~/ (although, see cleanup_dirname). Nor does it do + any case folding. All case-insensitive normalization should be done by + the caller. +*/ - RETURN +uint normalize_dirname(char *to, const char *from) +{ + uint length; + char buff[FN_REFLEN]; + DBUG_ENTER("normalize_dirname"); + + /* + Despite the name, this actually converts the name to the system's + format (TODO: rip out the non-working VMS stuff and name this + properly). + */ + (void) intern_filename(buff, from); + length= (uint) strlen(buff); /* Fix that '/' is last */ + if (length && +#ifdef FN_DEVCHAR + buff[length - 1] != FN_DEVCHAR && +#endif + buff[length - 1] != FN_LIBCHAR && buff[length - 1] != '/') + { + buff[length]= FN_LIBCHAR; + buff[length + 1]= '\0'; + } + + length=cleanup_dirname(to, buff); + + DBUG_RETURN(length); +} + + +/** + Fixes a directory name so that can be used by open() + + @param to Result buffer, FN_REFLEN characters. May be == from + @param from 'Packed' directory name (may contain ~) + + @details + - Uses normalize_dirname() + - Expands ~/... to home_dir/... + - Resolves MySQL's fake "foo.sym" symbolic directory names (if USE_SYMDIR) + - Changes a UNIX filename to system filename (replaces / with \ on windows) + + @returns Length of new directory name (= length of to) */ @@ -291,19 +333,8 @@ uint unpack_dirname(my_string to, const char *from) char buff[FN_REFLEN+1+4],*suffix,*tilde_expansion; DBUG_ENTER("unpack_dirname"); - (void) intern_filename(buff,from); /* Change to intern name */ - length= (uint) strlen(buff); /* Fix that '/' is last */ - if (length && -#ifdef FN_DEVCHAR - buff[length-1] != FN_DEVCHAR && -#endif - buff[length-1] != FN_LIBCHAR && buff[length-1] != '/') - { - buff[length]=FN_LIBCHAR; - buff[length+1]= '\0'; - } + length= normalize_dirname(buff, from); - length=cleanup_dirname(buff,buff); if (buff[0] == FN_HOMELIB) { suffix=buff+1; tilde_expansion=expand_tilde(&suffix); From 49f09f136f2264824909c1bda919aa8d18a6673a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 17 Jul 2008 01:33:45 +0200 Subject: [PATCH 8/8] Set version to 5.0.66a --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 247a17da940..a1dc9d36d82 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.66) +AM_INIT_AUTOMAKE(mysql, 5.0.66a) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10