Bug#15069 [patch] my_print_defaults does'nt care --sysconfdir

 - Grab the path from "configure --sysconfdir=<path>" and set it as
   the first place to look for my.cnf files
   Do this both in Makefiles for libmysql and mysys
 - Patch provided by Francesco Riosa. Thank you!
parent dd0635dc
...@@ -85,6 +85,7 @@ DEFS = -DDEFAULT_CHARSET_HOME="\"$(MYSQLBASEdir)\"" \ ...@@ -85,6 +85,7 @@ DEFS = -DDEFAULT_CHARSET_HOME="\"$(MYSQLBASEdir)\"" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \ -DDATADIR="\"$(MYSQLDATAdir)\"" \
-DDEFAULT_HOME_ENV=MYSQL_HOME \ -DDEFAULT_HOME_ENV=MYSQL_HOME \
-DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \ -DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \
-DDEFAULT_SYSCONFDIR="\"$(sysconfdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" $(target_defs) -DSHAREDIR="\"$(MYSQLSHAREdir)\"" $(target_defs)
# The automatic dependencies miss this # The automatic dependencies miss this
......
...@@ -70,6 +70,7 @@ DEFS = -DDEFAULT_BASEDIR=\"$(prefix)\" \ ...@@ -70,6 +70,7 @@ DEFS = -DDEFAULT_BASEDIR=\"$(prefix)\" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" \ -DSHAREDIR="\"$(MYSQLSHAREdir)\"" \
-DDEFAULT_HOME_ENV=MYSQL_HOME \ -DDEFAULT_HOME_ENV=MYSQL_HOME \
-DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \ -DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \
-DDEFAULT_SYSCONFDIR="\"$(sysconfdir)\"" \
@DEFS@ @DEFS@
libmysys_a_DEPENDENCIES= @THREAD_LOBJECTS@ libmysys_a_DEPENDENCIES= @THREAD_LOBJECTS@
......
...@@ -48,7 +48,7 @@ char *defaults_extra_file=0; ...@@ -48,7 +48,7 @@ char *defaults_extra_file=0;
/* Which directories are searched for options (and in which order) */ /* Which directories are searched for options (and in which order) */
#define MAX_DEFAULT_DIRS 6 #define MAX_DEFAULT_DIRS 7
const char *default_directories[MAX_DEFAULT_DIRS + 1]; const char *default_directories[MAX_DEFAULT_DIRS + 1];
#ifdef __WIN__ #ifdef __WIN__
...@@ -959,11 +959,13 @@ static uint my_get_system_windows_directory(char *buffer, uint size) ...@@ -959,11 +959,13 @@ static uint my_get_system_windows_directory(char *buffer, uint size)
4. getenv(DEFAULT_HOME_ENV) 4. getenv(DEFAULT_HOME_ENV)
5. Directory above where the executable is located 5. Directory above where the executable is located
6. "" 6. ""
7. --sysconfdir=<path>
On Novell NetWare, this is: On Novell NetWare, this is:
1. sys:/etc/ 1. sys:/etc/
2. getenv(DEFAULT_HOME_ENV) 2. getenv(DEFAULT_HOME_ENV)
3. "" 3. ""
4. --sysconfdir=<path>
On OS/2, this is: On OS/2, this is:
1. getenv(ETC) 1. getenv(ETC)
...@@ -971,12 +973,14 @@ static uint my_get_system_windows_directory(char *buffer, uint size) ...@@ -971,12 +973,14 @@ static uint my_get_system_windows_directory(char *buffer, uint size)
3. getenv(DEFAULT_HOME_ENV) 3. getenv(DEFAULT_HOME_ENV)
4. "" 4. ""
5. "~/" 5. "~/"
6. --sysconfdir=<path>
Everywhere else, this is: Everywhere else, this is:
1. /etc/ 1. /etc/
2. getenv(DEFAULT_HOME_ENV) 2. getenv(DEFAULT_HOME_ENV)
3. "" 3. ""
4. "~/" 4. "~/"
5. --sysconfdir=<path>
*/ */
...@@ -1040,6 +1044,10 @@ static void init_default_directories() ...@@ -1040,6 +1044,10 @@ static void init_default_directories()
} }
*ptr++= (char *)&config_dir; *ptr++= (char *)&config_dir;
} }
#endif
#ifdef DEFAULT_SYSCONFDIR
if (DEFAULT_SYSCONFDIR != "")
*ptr++= DEFAULT_SYSCONFDIR;
#endif #endif
*ptr= 0; /* end marker */ *ptr= 0; /* end marker */
} }
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