summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <msvensson@shellback.(none)>2006-04-10 15:11:37 +0200
committerunknown <msvensson@shellback.(none)>2006-04-10 15:11:37 +0200
commitf2ff24bd62f8b588f5966e115c1ec26c64e0a913 (patch)
tree460fd6dba045c92bd9987074d083601951a351e7
parent232dec09d9399efcc63c06e2a3aaba0713c31368 (diff)
downloadmariadb-git-f2ff24bd62f8b588f5966e115c1ec26c64e0a913.tar.gz
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! libmysql/Makefile.shared: Grab the path from "--sysconfdir=<path>" into the defined variable DEFAULT_SYSYCONFDIR mysys/Makefile.am: Grab the path from "--sysconfdir=<path>" into the defined variable DEFAULT_SYSYCONFDIR mysys/default.c: Use DEFAULT_SYSCONFDIR as first place to look for my.cnf file if "--sysconfdir=<path>" been specified as argument to configure
-rw-r--r--libmysql/Makefile.shared1
-rw-r--r--mysys/Makefile.am1
-rw-r--r--mysys/default.c10
3 files changed, 11 insertions, 1 deletions
diff --git a/libmysql/Makefile.shared b/libmysql/Makefile.shared
index c4c9c0036e2..fd0a4eb051d 100644
--- a/libmysql/Makefile.shared
+++ b/libmysql/Makefile.shared
@@ -85,6 +85,7 @@ DEFS = -DDEFAULT_CHARSET_HOME="\"$(MYSQLBASEdir)\"" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \
-DDEFAULT_HOME_ENV=MYSQL_HOME \
-DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \
+ -DDEFAULT_SYSCONFDIR="\"$(sysconfdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" $(target_defs)
# The automatic dependencies miss this
diff --git a/mysys/Makefile.am b/mysys/Makefile.am
index ee0dcb544b6..2de8d7820f5 100644
--- a/mysys/Makefile.am
+++ b/mysys/Makefile.am
@@ -70,6 +70,7 @@ DEFS = -DDEFAULT_BASEDIR=\"$(prefix)\" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" \
-DDEFAULT_HOME_ENV=MYSQL_HOME \
-DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \
+ -DDEFAULT_SYSCONFDIR="\"$(sysconfdir)\"" \
@DEFS@
libmysys_a_DEPENDENCIES= @THREAD_LOBJECTS@
diff --git a/mysys/default.c b/mysys/default.c
index edd02402a2a..90f8dc5f689 100644
--- a/mysys/default.c
+++ b/mysys/default.c
@@ -48,7 +48,7 @@ char *defaults_extra_file=0;
/* 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];
#ifdef __WIN__
@@ -959,11 +959,13 @@ static uint my_get_system_windows_directory(char *buffer, uint size)
4. getenv(DEFAULT_HOME_ENV)
5. Directory above where the executable is located
6. ""
+ 7. --sysconfdir=<path>
On Novell NetWare, this is:
1. sys:/etc/
2. getenv(DEFAULT_HOME_ENV)
3. ""
+ 4. --sysconfdir=<path>
On OS/2, this is:
1. getenv(ETC)
@@ -971,12 +973,14 @@ static uint my_get_system_windows_directory(char *buffer, uint size)
3. getenv(DEFAULT_HOME_ENV)
4. ""
5. "~/"
+ 6. --sysconfdir=<path>
Everywhere else, this is:
1. /etc/
2. getenv(DEFAULT_HOME_ENV)
3. ""
4. "~/"
+ 5. --sysconfdir=<path>
*/
@@ -1041,5 +1045,9 @@ static void init_default_directories()
*ptr++= (char *)&config_dir;
}
#endif
+#ifdef DEFAULT_SYSCONFDIR
+ if (DEFAULT_SYSCONFDIR != "")
+ *ptr++= DEFAULT_SYSCONFDIR;
+#endif
*ptr= 0; /* end marker */
}