From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql/
Date: Wed, 14 Aug 2019 22:57:40 +0000 (UTC) [thread overview]
Message-ID: <1565823367.02fc0893c88cb59d6d9eddb2300a3c00ce791d08.whissi@gentoo> (raw)
commit: 02fc0893c88cb59d6d9eddb2300a3c00ce791d08
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 22:08:35 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Wed Aug 14 22:56:07 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02fc0893
dev-db/mysql: fix prefix support
Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
...8.0.17_pre3.ebuild => mysql-8.0.17_pre4.ebuild} | 304 +++++++++++++--------
1 file changed, 197 insertions(+), 107 deletions(-)
diff --git a/dev-db/mysql/mysql-8.0.17_pre3.ebuild b/dev-db/mysql/mysql-8.0.17_pre4.ebuild
similarity index 79%
rename from dev-db/mysql/mysql-8.0.17_pre3.ebuild
rename to dev-db/mysql/mysql-8.0.17_pre4.ebuild
index 5b23f974d76..e83b57d1ba0 100644
--- a/dev-db/mysql/mysql-8.0.17_pre3.ebuild
+++ b/dev-db/mysql/mysql-8.0.17_pre4.ebuild
@@ -6,7 +6,7 @@ MY_EXTRAS_VER="20190802-1549Z"
CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake-utils eutils flag-o-matic linux-info \
+inherit cmake-utils flag-o-matic linux-info \
multiprocessing prefix toolchain-funcs
MY_PV="${PV//_pre*}"
@@ -107,49 +107,11 @@ RDEPEND="${COMMON_DEPEND}
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- fi
- fi
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
@@ -500,7 +462,7 @@ src_install() {
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ rm -rf "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/mysql-test"
fi
# Configuration stuff
@@ -556,7 +518,8 @@ pkg_postinst() {
mysql_init_vars
# Create log directory securely if it does not exist
- [[ -d "${EROOT}/${MY_LOGDIR#/}" ]] || install -d -m0750 -o mysql -g mysql "${EROOT}/${MY_LOGDIR#/}"
+ # NOTE: $MY_LOGDIR contains $EPREFIX by default
+ [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}"
# Note about configuration change
einfo
@@ -598,11 +561,38 @@ pkg_config() {
die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
fi
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ einfo "Will use username '${MYSQL_USER}' and group '${MYSQL_GROUP}' ..."
+
_getoptval() {
local section="$1"
local flag="--${2}="
local extra_options="${3}"
- local results=( $("${my_print_defaults_binary}" ${extra_options} ${section} | sed -n "/^${flag}/s,${flag},,gp") )
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
if [[ ${#results[@]} -gt 0 ]] ; then
# When option is set multiple times only return last value
@@ -610,33 +600,81 @@ pkg_config() {
fi
}
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
# my_print_defaults needs to read stuff in $HOME/.my.cnf
local -x HOME="${EROOT}/root"
# Make sure the vars are correctly initialized
mysql_init_vars
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MY_DATADIR}" ]] ; then
die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${EROOT}/${MY_DATADIR#/}/mysql" ]] ; then
- ewarn "Looks like your data directory '${EROOT}/${MY_DATADIR#/}' is already initialized!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${EROOT}/${MY_DATADIR#/}' looks already initialized!"
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
else
- einfo "${PN} data directory detected as '${EROOT}/${MY_DATADIR#/}' ..."
+ einfo "${PN} data directory detected as '${MY_DATADIR}' ..."
fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
# These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
# Create missing directories.
@@ -646,79 +684,129 @@ pkg_config() {
PID_DIR="${EROOT}/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" \
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
|| die "Failed to create PID directory '${PID_DIR}'!"
fi
- local _pid_dir_testfile="$(mktemp --dry-run "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" mysql &>/dev/null
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
if [[ $? -ne 0 ]] ; then
- die "mysql user cannot write into PID dir '${PID_DIR}'!"
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
else
rm "${_pid_dir_testfile}" || die
unset _pid_dir_testfile
fi
- if [[ ! -d "${EROOT}/${MY_DATADIR#/}" ]] ; then
- einfo "Creating ${PN} data directory '${EROOT}/${MY_DATADIR#/}' ..."
- install -d -m 770 -o mysql -g mysql "${EROOT}/${MY_DATADIR#/}" \
- || die "Failed to create ${PN} data directory '${EROOT}/${MY_DATADIR#/}'!"
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
fi
- local _my_datadir_testfile="$(mktemp --dry-run "${EROOT}/${MY_DATADIR#/}/.pkg_config-access-test.XXXXXXXXX")"
- su -s /bin/sh -c "touch '${_my_datadir_testfile}'" mysql &>/dev/null
if [[ $? -ne 0 ]]; then
- die "mysql user cannot write into data directory '${EROOT}/${MY_DATADIR#/}'!"
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
else
rm "${_my_datadir_testfile}" || die
unset _my_datadir_testfile
fi
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${EROOT}/${MYSQL_TMPDIR#/}" ]] ; then
- einfo "Creating ${PN} tmpdir '${EROOT}/${MYSQL_TMPDIR#/}' ..."
- install -d -m 770 -o mysql -g mysql "${EROOT}/${MYSQL_TMPDIR#/}" \
- || die "Failed to create ${PN} tmpdir '${EROOT}/${MYSQL_TMPDIR#/}'!"
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
fi
if [[ -n "${MYSQL_TMPDIR}" ]] ; then
- local _my_tmpdir_testfile="$(mktemp --dry-run "${EROOT}/${MYSQL_TMPDIR#/}/.pkg_config-access-test.XXXXXXXXX")"
- su -s /bin/sh -c "touch '${_my_tmpdir_testfile}'" mysql &>/dev/null
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
if [[ $? -ne 0 ]]; then
- die "mysql user cannot write into data directory '${EROOT}/${MYSQL_TMPDIR#/}'!"
+ die "${MYSQL_USER} user cannot write into data directory '${MYSQL_TMPDIR}'!"
else
rm "${_my_tmpdir_testfile}" || die
unset _my_tmpdir_testfile
fi
+ else
+ # If no tmpdir is set, mysqld will use default system tmpdir.
+ # However, we are using tmpdir from package manager at the
+ # moment which maybe isn't writeable for $MYSQL_USER...
+ MYSQL_TMPDIR="$(_mktemp_dry "${T}/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
fi
- if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${EROOT}/${MYSQL_LOG_BIN#/}" ]] ; then
- einfo "Creating ${PN} log-bin directory '${EROOT}/${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o mysql -g mysql "${EROOT}/${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${EROOT}/${MYSQL_LOG_BIN}'"
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
fi
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
- local _my_logbin_testfile="$(mktemp --dry-run "${EROOT}/${MYSQL_LOG_BIN#/}/.pkg_config-access-test.XXXXXXXXX")"
- su -s /bin/sh -c "touch '${_my_logbin_testfile}'" mysql &>/dev/null
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
if [[ $? -ne 0 ]]; then
- die "mysql user cannot write into data directory '${EROOT}/${MYSQL_LOG_BIN#/}'!"
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
else
rm "${_my_logbin_testfile}" || die
unset _my_logbin_testfile
fi
fi
- if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${EROOT}/${MYSQL_RELAY_LOG#/}" ]] ; then
- einfo "Creating ${PN} relay-log directory '${EROOT}/${MYSQL_RELAY_LOG#/}' ..."
- install -d -m 770 -o mysql -g mysql "${EROOT}/${MYSQL_RELAY_LOG#/}" \
- || die "Failed to create ${PN} relay-log directory '${EROOT}/${MYSQL_RELAY_LOG#/}'!"
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
- local _my_relaylog_testfile="$(mktemp --dry-run "${EROOT}/${MYSQL_RELAY_LOG#/}/.pkg_config-access-test.XXXXXXXXX")"
- su -s /bin/sh -c "touch '${_my_relaylog_testfile}'" mysql &>/dev/null
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
if [[ $? -ne 0 ]]; then
- die "mysql user cannot write into data directory '${EROOT}/${MYSQL_RELAY_LOG#/}'!"
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
else
rm "${_my_relaylog_testfile}" || die
unset _my_relaylog_testfile
@@ -743,7 +831,7 @@ pkg_config() {
if [[ ${#config_files[@]} -gt 0 ]] ; then
if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then
- local tmp_mysql_default_authentication_plugin
+ local user_answer
echo
einfo "Please select default authentication plugin (enter number or plugin name):"
@@ -752,10 +840,10 @@ pkg_config() {
einfo
einfo "For details see:"
einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password"
- read -p " >" tmp_mysql_default_authentication_plugin
+ read -p " >" user_answer
echo
- case "${tmp_mysql_default_authentication_plugin}" in
+ case "${user_answer}" in
1|caching_sha2_password)
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password
;;
@@ -766,9 +854,11 @@ pkg_config() {
die "No authentication plugin selected!"
;;
*)
- die "Authentication plugin '${tmp_mysql_default_authentication_plugin}' is unknown/unsupported!"
+ die "Authentication plugin '${user_answer}' is unknown/unsupported!"
;;
esac
+
+ unset user_answer
fi
local cfg_option cfg_option_tabs cfg_section
@@ -880,11 +970,11 @@ pkg_config() {
die "mysql_tzinfo_to_sql failed!"
fi
- chown mysql "${tz_sql}" || die
+ chown ${MYSQL_USER} "${tz_sql}" || die
local mysql_install_log="${TMPDIR}/mysql_install_db.log"
touch "${mysql_install_log}" || die
- chown mysql "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
# --initialize-insecure will not set root password
# --initialize would set a random one in the log which we don't need as we set it ourselves
@@ -894,17 +984,17 @@ pkg_config() {
"--initialize-insecure"
"--init-file='${tz_sql}'"
"--basedir='${EROOT}/usr'"
- "--datadir='${EROOT}/${MY_DATADIR#/}'"
- "--tmpdir='${EROOT}/${MYSQL_TMPDIR#/}'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
"--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
)
einfo "Initializing ${PN} data directory: ${cmd[@]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >>"${mysql_install_log}" 2>&1
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
- if [[ $? -ne 0 || ! -f "${EROOT}/${MY_DATADIR#/}/mysql.ibd" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}"
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
fi
@@ -915,24 +1005,24 @@ pkg_config() {
local mysqld_logfile="${TMPDIR}/mysqld.log"
touch "${mysqld_logfile}" || die
- chown mysql "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
cmd=(
"${mysqld_binary}"
"${mysqld_options[@]}"
"--basedir='${EROOT}/usr'"
- "--datadir='${EROOT}/${MY_DATADIR#/}'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
--max_allowed_packet=8M
--net_buffer_length=16K
"--socket='${socket}'"
"--pid-file='${pidfile}'"
- "--tmpdir='${EROOT}/${MYSQL_TMPDIR#/}'"
"--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
)
einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- su -s /bin/sh -c "${cmd[*]} &" mysql \
- >>"${mysqld_logfile}" 2>&1
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
echo -n "Waiting for mysqld to accept connections "
local maxtry=15
@@ -956,7 +1046,7 @@ pkg_config() {
echo
if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}"
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
fi
@@ -1008,5 +1098,5 @@ pkg_config() {
fi
fi
- einfo "${PN} data directory at '${EROOT}/${MY_DATADIR#/}' successfully initialized!"
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
}
next reply other threads:[~2019-08-14 22:57 UTC|newest]
Thread overview: 423+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-14 22:57 Thomas Deutschmann [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-10-18 8:41 [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql/ Arthur Zamarin
2025-10-18 8:41 Arthur Zamarin
2025-10-18 8:41 Arthur Zamarin
2025-09-25 12:58 Sam James
2025-09-25 12:58 Sam James
2025-09-25 12:58 Sam James
2025-09-05 11:18 Sam James
2025-09-05 11:17 Sam James
2025-09-05 11:17 Sam James
2025-08-18 17:58 Andreas Sturmlechner
2025-05-15 0:47 Sam James
2025-05-14 3:10 Sam James
2025-05-14 3:10 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-03-10 0:20 Sam James
2025-03-10 0:20 Sam James
2025-03-10 0:20 Sam James
2025-03-10 0:20 Sam James
2025-01-10 4:37 Sam James
2025-01-10 4:37 Sam James
2025-01-10 4:37 Sam James
2025-01-09 2:30 Sam James
2025-01-09 2:30 Sam James
2025-01-09 2:30 Sam James
2025-01-09 2:30 Sam James
2025-01-09 2:30 Sam James
2024-07-04 0:29 Sam James
2024-07-01 18:55 Mike Gilbert
2024-06-14 8:16 Sam James
2024-03-04 4:57 Sam James
2024-01-24 6:55 Sam James
2023-12-17 12:39 Sam James
2023-11-27 15:43 Andreas Sturmlechner
2023-10-14 8:34 Sam James
2023-10-14 8:34 Sam James
2023-08-06 11:49 Sam James
2023-08-02 16:41 Sam James
2023-07-15 11:45 Arthur Zamarin
2023-07-15 11:45 Arthur Zamarin
2023-07-15 11:45 Arthur Zamarin
2023-07-15 11:45 Arthur Zamarin
2023-07-15 10:11 Arthur Zamarin
2023-05-06 14:01 Arthur Zamarin
2023-05-06 14:01 Arthur Zamarin
2023-05-06 14:01 Arthur Zamarin
2023-04-02 19:30 Arthur Zamarin
2023-04-02 19:30 Arthur Zamarin
2023-02-14 0:29 Mike Gilbert
2023-02-14 0:29 Mike Gilbert
2023-02-01 9:11 Arthur Zamarin
2023-01-18 22:44 Sam James
2023-01-13 15:02 Arthur Zamarin
2023-01-13 15:02 Arthur Zamarin
2023-01-13 15:02 Arthur Zamarin
2023-01-03 6:23 Sam James
2022-12-02 20:25 Arthur Zamarin
2022-12-02 8:02 Arthur Zamarin
2022-10-31 15:49 Sam James
2022-10-31 15:45 Sam James
2022-10-31 15:45 Sam James
2022-07-29 2:47 Sam James
2022-06-13 12:18 Jakov Smolić
2022-06-13 12:16 Jakov Smolić
2022-05-15 1:00 Sam James
2022-03-09 15:55 David Seifert
2022-03-03 21:22 David Seifert
2022-02-27 22:25 Sam James
2022-02-27 22:25 Sam James
2022-02-27 16:24 Sam James
2022-01-13 4:18 Sam James
2022-01-13 4:18 Sam James
2022-01-13 4:18 Sam James
2022-01-13 4:18 Sam James
2022-01-12 4:09 Sam James
2022-01-12 4:09 Sam James
2022-01-11 21:40 Sam James
2022-01-11 21:40 Sam James
2021-11-18 15:35 Thomas Deutschmann
2021-11-17 1:05 Thomas Deutschmann
2021-11-14 16:06 Thomas Deutschmann
2021-11-14 3:49 Thomas Deutschmann
2021-11-14 3:49 Thomas Deutschmann
2021-10-16 3:42 Sam James
2021-10-16 2:45 Sam James
2021-10-16 2:45 Sam James
2021-10-16 2:45 Sam James
2021-10-14 9:44 Sam James
2021-10-14 9:44 Sam James
2021-10-12 0:10 Sam James
2021-10-12 0:10 Sam James
2021-09-22 12:16 Thomas Deutschmann
2021-08-13 14:16 Marek Szuba
2021-08-04 20:31 Thomas Deutschmann
2021-08-04 19:13 Thomas Deutschmann
2021-08-04 19:13 Thomas Deutschmann
2021-07-06 18:02 Sam James
2021-07-06 18:02 Sam James
2021-06-22 23:49 Thomas Deutschmann
2021-05-24 1:19 Thomas Deutschmann
2021-05-21 2:12 Thomas Deutschmann
2021-05-12 15:38 Thomas Deutschmann
2021-05-03 8:04 Mikle Kolyada
2021-05-01 18:24 Sam James
2021-04-28 13:20 Thomas Deutschmann
2021-04-26 1:03 Thomas Deutschmann
2021-04-26 1:03 Thomas Deutschmann
2021-02-26 8:49 Mikle Kolyada
2021-02-26 8:49 Mikle Kolyada
2021-02-03 23:55 Thomas Deutschmann
2021-01-21 22:32 Thomas Deutschmann
2021-01-21 22:32 Thomas Deutschmann
2021-01-06 18:43 Fabian Groffen
2020-12-25 23:46 Sam James
2020-12-25 23:46 Sam James
2020-12-25 23:41 Sam James
2020-12-25 23:41 Sam James
2020-12-25 23:41 Sam James
2020-12-25 23:41 Sam James
2020-12-25 2:14 Sam James
2020-12-25 2:14 Sam James
2020-12-24 14:11 Sam James
2020-12-24 14:11 Sam James
2020-12-20 21:01 Thomas Deutschmann
2020-11-30 1:18 Thomas Deutschmann
2020-11-25 16:34 Thomas Deutschmann
2020-11-25 16:34 Thomas Deutschmann
2020-11-13 19:46 Sam James
2020-11-13 17:54 Sam James
2020-10-20 18:56 Thomas Deutschmann
2020-10-20 18:56 Thomas Deutschmann
2020-10-20 18:56 Thomas Deutschmann
2020-09-19 20:09 Mikle Kolyada
2020-09-19 20:09 Mikle Kolyada
2020-08-29 17:57 Thomas Deutschmann
2020-08-22 20:24 Thomas Deutschmann
2020-08-07 12:10 Sam James
2020-08-07 12:10 Sam James
2020-08-07 4:26 Sam James
2020-08-07 4:26 Sam James
2020-08-05 19:22 Thomas Deutschmann
2020-07-26 13:28 Thomas Deutschmann
2020-07-26 13:28 Thomas Deutschmann
2020-07-26 13:21 Thomas Deutschmann
2020-07-26 1:46 Thomas Deutschmann
2020-07-26 1:46 Thomas Deutschmann
2020-07-26 0:11 Thomas Deutschmann
2020-06-01 23:16 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-14 21:29 Thomas Deutschmann
2020-05-10 10:11 Mikle Kolyada
2020-05-10 10:11 Mikle Kolyada
2020-05-04 19:57 Mart Raudsepp
2020-05-04 16:01 Thomas Deutschmann
2020-05-03 15:21 Thomas Deutschmann
2020-04-30 23:06 Thomas Deutschmann
2020-04-30 21:43 Thomas Deutschmann
2020-04-30 21:43 Thomas Deutschmann
2020-04-30 20:45 Thomas Deutschmann
2020-04-21 0:14 Thomas Deutschmann
2020-03-19 3:47 Matt Turner
2020-03-17 1:07 Thomas Deutschmann
2020-03-05 11:08 Agostino Sarubbo
2020-02-17 15:23 Agostino Sarubbo
2020-02-16 21:14 Thomas Deutschmann
2020-02-15 12:13 Mikle Kolyada
2020-02-12 9:35 Agostino Sarubbo
2020-02-12 9:34 Agostino Sarubbo
2020-02-08 17:06 David Seifert
2020-01-25 19:53 Thomas Deutschmann
2020-01-25 19:53 Thomas Deutschmann
2020-01-22 20:26 Thomas Deutschmann
2020-01-20 19:26 Thomas Deutschmann
2020-01-20 19:26 Thomas Deutschmann
2019-12-31 3:30 Thomas Deutschmann
2019-12-31 3:30 Thomas Deutschmann
2019-12-09 18:27 Sergei Trofimovich
2019-12-09 18:27 Sergei Trofimovich
2019-10-31 1:41 Thomas Deutschmann
2019-10-16 17:33 Brian Evans
2019-09-15 9:44 Mikle Kolyada
2019-09-13 18:31 Mikle Kolyada
2019-09-13 2:19 Aaron Bauman
2019-09-08 20:00 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-19 18:34 Thomas Deutschmann
2019-08-18 12:34 Thomas Deutschmann
2019-08-17 20:13 Thomas Deutschmann
2019-08-17 18:42 Thomas Deutschmann
2019-08-17 18:42 Thomas Deutschmann
2019-08-17 13:48 Thomas Deutschmann
2019-08-17 13:48 Thomas Deutschmann
2019-08-17 0:50 Thomas Deutschmann
2019-08-17 0:50 Thomas Deutschmann
2019-08-17 0:50 Thomas Deutschmann
2019-08-17 0:50 Thomas Deutschmann
2019-08-08 19:42 Thomas Deutschmann
2019-08-02 21:58 Thomas Deutschmann
2019-08-02 16:56 Thomas Deutschmann
2019-08-02 16:56 Thomas Deutschmann
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-01 21:11 Aaron Bauman
2019-07-31 14:40 Thomas Deutschmann
2019-07-31 14:40 Thomas Deutschmann
2019-07-02 8:19 Sergei Trofimovich
2019-07-02 8:19 Sergei Trofimovich
2019-06-04 11:36 Thomas Deutschmann
2019-05-24 14:30 Thomas Deutschmann
2019-05-24 10:52 Thomas Deutschmann
2019-05-14 0:41 Thomas Deutschmann
2019-04-25 3:52 Aaron Bauman
2019-04-02 12:18 Mikle Kolyada
2019-03-10 14:37 Mikle Kolyada
2019-03-05 18:46 Thomas Deutschmann
2019-03-05 18:16 Mikle Kolyada
2019-03-03 19:04 Thomas Deutschmann
2019-03-03 18:57 Thomas Deutschmann
2019-01-31 3:12 Brian Evans
2019-01-26 19:23 Thomas Deutschmann
2018-12-18 19:36 Mikle Kolyada
2018-11-30 11:13 Tobias Klausmann
2018-11-29 17:44 Tobias Klausmann
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 23:11 Sergei Trofimovich
2018-11-26 14:49 Mikle Kolyada
2018-11-20 18:07 Mikle Kolyada
2018-11-20 1:42 Thomas Deutschmann
2018-11-19 18:28 Thomas Deutschmann
2018-11-19 16:24 Thomas Deutschmann
2018-11-19 14:10 Thomas Deutschmann
2018-11-14 16:59 Thomas Deutschmann
2018-11-14 16:59 Thomas Deutschmann
2018-11-13 18:26 Brian Evans
2018-11-11 23:19 Thomas Deutschmann
2018-10-30 14:42 Mikle Kolyada
2018-10-27 19:14 Mikle Kolyada
2018-10-27 18:43 Sergei Trofimovich
2018-10-26 21:10 Thomas Deutschmann
2018-10-26 19:24 Thomas Deutschmann
2018-10-23 0:33 Brian Evans
2018-10-19 20:26 Mikle Kolyada
2018-10-18 12:31 Thomas Deutschmann
2018-10-18 11:45 Tobias Klausmann
2018-10-17 22:21 Thomas Deutschmann
2018-10-17 0:46 Thomas Deutschmann
2018-10-16 16:23 Thomas Deutschmann
2018-10-15 1:29 Thomas Deutschmann
2018-10-14 1:21 Thomas Deutschmann
2018-09-24 20:38 Brian Evans
2018-09-24 17:18 Brian Evans
2018-09-17 20:38 Brian Evans
2018-09-17 18:03 Matt Turner
2018-09-17 18:03 Matt Turner
2018-09-15 10:28 Michał Górny
2018-09-14 23:16 Brian Evans
2018-09-14 23:16 Brian Evans
2018-09-14 23:16 Brian Evans
2018-09-01 23:18 Sergei Trofimovich
2018-08-05 1:15 Brian Evans
2018-08-05 1:15 Brian Evans
2018-08-05 1:15 Brian Evans
2018-08-05 1:15 Brian Evans
2018-07-23 21:52 Mikle Kolyada
2018-07-23 13:10 Tobias Klausmann
2018-07-21 0:09 Brian Evans
2018-07-20 22:40 Thomas Deutschmann
2018-07-19 14:10 Mikle Kolyada
2018-06-25 2:03 Brian Evans
2018-06-24 1:11 Brian Evans
2018-05-19 2:35 Brian Evans
2018-05-15 17:41 Brian Evans
2018-05-13 18:42 Brian Evans
2018-04-24 23:52 Brian Evans
2018-04-22 1:10 Brian Evans
2018-04-22 1:10 Brian Evans
2018-03-30 12:03 Sergei Trofimovich
2018-03-04 16:23 Tobias Klausmann
2018-02-14 12:59 Thomas Deutschmann
2018-02-14 0:46 Thomas Deutschmann
2018-02-14 0:46 Thomas Deutschmann
2018-02-14 0:46 Thomas Deutschmann
2018-02-05 21:27 Markus Meier
2018-02-04 20:42 Sergei Trofimovich
2018-01-27 21:24 Mikle Kolyada
2018-01-19 2:33 Brian Evans
2018-01-19 2:33 Brian Evans
2018-01-17 16:53 Thomas Deutschmann
2018-01-17 8:24 Thomas Deutschmann
2017-11-21 15:27 Brian Evans
2017-11-19 15:14 Markus Meier
2017-11-06 14:18 Tobias Klausmann
2017-11-03 12:54 Brian Evans
2017-10-28 23:31 Sergei Trofimovich
2017-10-28 21:42 Sergei Trofimovich
2017-10-28 18:11 Thomas Deutschmann
2017-10-28 18:11 Thomas Deutschmann
2017-10-27 13:49 Thomas Deutschmann
2017-10-25 7:06 Sergei Trofimovich
2017-10-24 7:03 Agostino Sarubbo
2017-10-18 19:53 Brian Evans
2017-10-18 16:27 Brian Evans
2017-10-18 13:36 Brian Evans
2017-10-18 13:36 Brian Evans
2017-09-30 8:40 Sergei Trofimovich
2017-09-30 2:58 Sergei Trofimovich
2017-08-25 21:51 Mikle Kolyada
2017-08-23 4:59 Markus Meier
2017-08-18 20:25 Thomas Deutschmann
2017-08-17 20:18 Sergei Trofimovich
2017-07-22 0:53 Brian Evans
2017-07-19 18:04 Brian Evans
2017-07-19 18:04 Brian Evans
2017-07-19 16:17 Brian Evans
2017-07-16 9:40 Tobias Klausmann
2017-06-25 8:44 Sergei Trofimovich
2017-05-22 17:32 Tobias Klausmann
2017-05-15 11:24 Michael Weber
2017-05-13 6:25 Markus Meier
2017-05-10 10:53 Jeroen Roovers
2017-05-07 23:44 Brian Evans
2017-05-07 23:44 Brian Evans
2017-04-10 18:42 Brian Evans
2017-04-10 16:21 Brian Evans
2017-03-02 14:48 Brian Evans
2017-03-01 20:59 Thomas Deutschmann
2017-03-01 20:59 Thomas Deutschmann
2017-02-06 14:02 Brian Evans
2017-02-05 17:02 Markus Meier
2017-01-25 6:39 Jeroen Roovers
2017-01-21 11:37 Tobias Klausmann
2017-01-19 11:34 Agostino Sarubbo
2017-01-19 11:25 Agostino Sarubbo
2016-12-20 14:02 Brian Evans
2016-12-14 17:14 Brian Evans
2016-10-31 7:42 Jeroen Roovers
2016-10-26 16:38 Markus Meier
2016-10-23 7:44 Jeroen Roovers
2016-10-22 11:33 Agostino Sarubbo
2016-10-22 11:33 Agostino Sarubbo
2016-10-21 15:17 Tobias Klausmann
2016-10-19 20:34 Brian Evans
2016-10-19 20:34 Brian Evans
2016-10-19 16:47 Brian Evans
2016-10-11 14:16 Brian Evans
2016-09-29 13:35 Agostino Sarubbo
2016-09-29 13:35 Agostino Sarubbo
2016-09-29 13:08 Agostino Sarubbo
2016-09-29 13:08 Agostino Sarubbo
2016-09-29 9:48 Agostino Sarubbo
2016-09-29 9:22 Agostino Sarubbo
2016-09-24 19:29 Markus Meier
2016-09-24 7:06 Jeroen Roovers
2016-09-17 9:52 Tobias Klausmann
2016-09-14 7:28 Agostino Sarubbo
2016-09-12 20:00 Brian Evans
2016-09-12 20:00 Brian Evans
2016-09-12 18:56 Brian Evans
2016-08-17 20:11 Brian Evans
2016-08-17 18:11 Brian Evans
2016-07-28 14:08 Agostino Sarubbo
2016-07-28 8:43 Agostino Sarubbo
2016-07-27 20:30 Markus Meier
2016-07-26 12:31 Tobias Klausmann
2016-07-24 16:03 Jeroen Roovers
2016-07-24 8:33 Jeroen Roovers
2016-07-20 17:58 Brian Evans
2016-07-20 17:58 Brian Evans
2016-07-20 16:05 Brian Evans
2016-07-11 3:49 Brian Evans
2016-07-08 13:28 Agostino Sarubbo
2016-07-08 8:42 Agostino Sarubbo
2016-07-08 8:17 Agostino Sarubbo
2016-05-21 12:04 Tobias Klausmann
2016-05-19 18:28 Markus Meier
2016-05-19 14:39 Jeroen Roovers
2016-05-19 7:42 Agostino Sarubbo
2016-05-19 7:40 Agostino Sarubbo
2016-04-18 18:31 Brian Evans
2016-04-18 8:13 Patrice Clement
2016-04-12 18:26 Brian Evans
2016-03-21 2:16 Brian Evans
2016-03-20 12:24 Agostino Sarubbo
2016-03-19 12:28 Agostino Sarubbo
2016-02-12 3:46 Brian Evans
2016-02-12 3:46 Brian Evans
2016-02-03 20:46 Markus Meier
2016-01-31 13:39 Tobias Klausmann
2016-01-31 11:11 Agostino Sarubbo
2016-01-31 11:09 Agostino Sarubbo
2016-01-31 9:23 Jeroen Roovers
2016-01-26 5:11 Brian Evans
2016-01-10 14:29 Brian Evans
2016-01-10 11:22 Agostino Sarubbo
2016-01-09 7:10 Agostino Sarubbo
2015-12-15 17:42 Brian Evans
2015-12-14 14:36 Brian Evans
2015-12-13 22:15 Brian Evans
2015-12-13 22:07 Brian Evans
2015-11-18 9:56 Agostino Sarubbo
2015-11-14 16:49 Markus Meier
2015-11-09 8:53 Agostino Sarubbo
2015-11-08 6:09 Jeroen Roovers
2015-11-06 11:28 Agostino Sarubbo
2015-11-06 11:27 Agostino Sarubbo
2015-11-05 23:13 Brian Evans
2015-10-26 13:24 Brian Evans
2015-10-20 14:52 Brian Evans
2015-10-12 19:39 Brian Evans
2015-10-01 16:01 Brian Evans
2015-09-15 17:22 Brian Evans
2015-09-06 8:32 Agostino Sarubbo
2015-08-26 7:28 Agostino Sarubbo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1565823367.02fc0893c88cb59d6d9eddb2300a3c00ce791d08.whissi@gentoo \
--to=whissi@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox