Some hard-coded paths make problems when package is built into chroot like Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake index 94d9ecf5..69058c22 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -109,7 +109,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() - SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" + SET(SYSCONFDIR "/etc" CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() @@ -271,6 +271,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") +SET(INSTALL_SYSCONFDIR_RPM "/etc") # IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) SET(INSTALL_LIBDIR_RPM "lib64/mysql") diff --git a/mysys/my_default.cc b/mysys/my_default.cc index a8f6132a..3b448ef3 100644 --- a/mysys/my_default.cc +++ b/mysys/my_default.cc @@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else - errors += add_directory(alloc, "/etc/", dirs); - errors += add_directory(alloc, "/etc/mysql/", dirs); - #if defined(DEFAULT_SYSCONFDIR) if (DEFAULT_SYSCONFDIR[0]) + { errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); + errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); + } #endif /* DEFAULT_SYSCONFDIR */ #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index c64bfb52..1b2a76cf 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -288,9 +288,9 @@ IF(UNIX) ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) +SET(sysconfdir ${SYSCONFDIR}) SET(bindir ${prefix}/${INSTALL_BINDIR}) -SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) +SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index 8cd63ecc..21ad556c 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -586,9 +586,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } - ('/etc/my.cnf', - '/etc/mysql/my.cnf', - '@sysconfdir@/my.cnf', + ('@sysconfdir@/my.cnf', ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), $opt{'extra-file'}, ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef));